script pentru a opri volumul atunci când căștile sunt deconectate

pinguin-159784_640

Mi s-a întâmplat că, în timp ce oamenii dormeau la primele ore ale dimineții, am ascultat muzică grea la volum maxim și, din greșeală, am deconectat căștile care au făcut să fie redate în toată casa (cred că m-au urât la acea vreme haha). Deci, scrieți un mic script care, atunci când este deconectat, reduce volumul:

Primul lucru a fost instalarea alsa-utils pentru a putea gestiona cu ușurință volumul din comenzi:

sudo pacman -S alsa-utils

Următorul lucru a fost să descoperiți printr-o căutare Google că alsa salvează în fișiere text simplu (poate fi citit cu orice editor de text, în Windows toate acestea ar fi mult mai complicate) starea plăcilor de sunet și că este nevoie doar copiați fișierul și apoi comparați modificările.

Fișierul este:
/proc/asound/card0/codec#0

Acest lucru poate varia în unele cazuri, de exemplu dacă avem mai multe plăci de sunet. Dacă doriți să aflați mai multe, vă las linkul documentației alsa: http://alsa.opensrc.org/Proc_asound_documentation

Conect căștile și copiez fișierul:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Apoi deconectez căștile și folosesc comanda diff care arată diferitele linii dintre cele două fișiere:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Există câteva date care nu ne interesează, așa că trebuie să le filtrăm cu grep astfel încât să afișeze doar liniile care au cuvântul „Pin-ctls”.

diff "/proc/asound/card0/codec#0" ".audifonos/con" | grep Pin-ctls

În cazul în care comanda nu afișează nimic pe ecran, înseamnă că avem căștile pornite. deoarece nu poate returna nimic, returnează o eroare.

Pentru a vedea această eroare, tastăm:
echo $?

Dacă ne arată câte unul pe ecran, ne spune despre eroare.

Console

pe de altă parte, dacă atunci când executăm acest lucru, returnează ceva, atunci căștile sunt deconectate, caz în care nu va returna o eroare:
echo $?

Alo

Având în vedere acest lucru și cunoașterea bash-ului, este ușor să o faci:

Căști.sh

Îl descarc, dau permisiuni de execuție pentru a-l deschide pentru prima dată, astfel încât să se „instaleze” (cere doar să conecteze căștile și să copieze fișierul pe care îl explică la început)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

Pentru a termina, îl fac să înceapă automat de fiecare dată când pornesc computerul

De la Xfce merg la aplicații> configurare> Sesiune și pornire> aplicații pornire automată> adaug și plasez scriptul


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Ţiglă el a spus

    Se întâmplă să folosiți un WM? Este că cel puțin în Arch cu Gnome-Shell 3.16 păstrează modificările în comenzile de volum, de exemplu, când conectez HDMI-ul îmi arată volumul maxim, când conectez căștile îmi arată un volum foarte mic și în boxele încorporate aproape cel mai.

    Deși, de fapt, căutam să fac asta de ceva timp, era o cățea care trebuia să scadă volumul pentru a putea folosi difuzoarele, astfel încât sunetul să nu fie strident sau supărător pentru ceilalți. Vă mulțumesc foarte mult pentru contribuție.

    1.    ploaie el a spus

      pentru nimic 🙂, folosesc xfce 😛

      1.    Ţiglă el a spus

        Mi-am amintit doar că mă uitam odată la p0rn și că am deconectat căștile și hdp-ul și am auzit gemetele lui Shyla: c
        Lucrul bun este că a fost doar un fragment de cel puțin o secundă eternă și a sunat ca filme de groază când o prostituată a fost ucisă XD
        Dacă mă gândesc bine, o voi adăuga la favorite

  2.   Yoyo Moreno el a spus

    Hahahahahaha mi s-a întâmplat același lucru când l-am deconectat neintenționat cam la miezul nopții și un hard core bun a sunat la volum complet XD familia mea s-a speriat: v

  3.   noxonsoftwares el a spus

    Informații bune îmi vor fi utile la un moment dat. Mulțumesc mult

  4.   Andreser el a spus

    Nu mă păcălești, urmăreai pentru * sau gay în spaniolă și căștile tale erau deconectate xD
    Mulțumim pentru contribuție, în Linux Mint volumul se păstrează, de exemplu dacă pun mut și apoi conectez căștile, în căști voi avea sunet și fără ele nu.
    Salutări.

    1.    ploaie el a spus

      hahaha, nu, dar în acele cazuri funcționează și (?)

      1.    Andreser el a spus

        Da, funcționează și în aceste cazuri (͡ ° ͜ʖ ͡ °)

  5.   deni el a spus

    Informații bune, o sugestie, dacă sistemul acceptă „devd” cum procedez la copierea sau crearea acestui fișier?

    [cod] $ PREFIX / share / examples / cups / ulpt-cupsd.conf to $ PREFIX / etc / devd / [/ code]

    1.    ploaie el a spus

      Nu ți-aș putea spune, nu este suficientă comanda cp?

      1.    deni el a spus

        Nu, scrie că directorul nu există și nici nu știu cum să creez.

  6.   Fernando el a spus

    Heheheh bine dacă vă spun că mi s-a întâmplat cu mai multe ocazii și cu aceeași muzică, așa că o notez pentru ao instala mai târziu. Salutări și în numele Heavy Metal vă mulțumesc.

  7.   David el a spus

    …… ~$ sudo pacman -S alsa-utils
    [sudo] parola pentru David:
    sudo: pacman: comanda nu a fost găsită