skripto por malŝalti volumon kiam aŭdiloj malkonektas

pingveno-159784_640

Okazis al mi, ke dum homoj dormis en la fruaj horoj de la mateno, mi aŭskultis pezan muzikon plenplene kaj erare mi malkonektis la aŭdilojn, kiuj kaŭzis ĝin ludi tra la tuta domo (mi pensas, ke ili malamis min tiutempe) haha). Do programu malgrandan skripton, kiu kiam malkonektita, silentigas la volumon:

La unua afero estis instali alsa-utils por povi administri la volumon de komandoj facile:

sudo pacman -S alsa-utils

La sekva afero estis malkovri per Gugla serĉo, ke alsa konservas en simplaj tekstaj dosieroj (ĝi legeblas kun iu ajn tekstredaktilo, en Vindozo ĉio ĉi estus multe pli komplike) la stato de la sonaj kartoj kaj ke ĝi nur bezonas kopii la dosiero kaj poste komparu la ŝanĝojn.

La dosiero estas:
/proc/asound/card0/codec#0

Ĉi tio povas varii en iuj kazoj, ekzemple se ni havas pli ol unu sonkarton. Se vi volas scii pli, mi lasas la ligon de la dokumento alsa: http://alsa.opensrc.org/Proc_asound_documentation

Mi konektas la aŭdilojn kaj kopias la dosieron:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Poste mi malŝaltas la aŭdilojn kaj uzas la komandon diff, kiu montras la malsamajn liniojn inter la du dosieroj:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Estas iuj datumoj, kiujn ni ne interesas, do ni devas filtri per grep tiel ke ĝi nur montras la liniojn kun la vorto "Pin-ctls".

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

Se la komando ne montras ion sur la ekrano, tio signifas, ke ni havas la aŭdilojn ŝaltitajn. ĉar ĝi ne povas redoni ion, ĝi redonas eraron.

Por vidi ĉi tiun eraron ni tajpas:
echo $?

Se ĝi montras al ni po unu por ekrano, ĝi rakontas al ni pri la eraro.

konzolo

aliflanke se kiam ni plenumas ĉi tion, ĝi redonas ion, tiam ni havas la aŭdilojn malkonektitaj, tiaokaze ĝi ne redonos eraron:
echo $?

hola

Konsiderante ĉi tion kaj sciante bash, estas facile fari ĝin:

Headphones.sh

Mi elŝutas ĝin, mi donas ekzekutpermesojn malfermi ĝin por la unua fojo tiel ke ĝi "instalas" (ĝi nur petas konekti aŭdilojn kaj kopii la dosieron, kiun ĝi klarigas komence)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

Por fini mi igas ĝin komenci aŭtomate ĉiufoje kiam mi ŝaltas la komputilon

De Xfce mi iras al aplikaĵoj> agordo> Sesio kaj komenco> aplikaĵoj aŭtomate starti> aldoni kaj meti la skripton


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

13 komentoj, lasu la viajn

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.

  1.   Kahelo diris

    Ĉu vi hazarde uzas WM? Ĝi estas, ke almenaŭ en Arch kun Gnome-Shell 3.16 ĝi konservas la ŝanĝojn en la volumaj kontroloj, ekzemple, kiam mi konektas la HDMI, ĝi montras al mi la maksimuman volumon, kiam mi konektas aŭdilojn, ĝi montras al mi tre malaltan volumon kaj en la -en parolantoj preskaŭ plej.

    Kvankam fakte mi celis fari tion dum kelka tempo, ĝi estis hundino devanta malaltigi la volumon por povi uzi la laŭtparolilojn, por ke la sono ne estu akra aŭ ĝena por aliaj. Koran dankon pro la kontribuo.

    1.    pluvo diris

      por nenio 🙂, mi uzas xfce 😛

      1.    Kahelo diris

        Mi ĵus memoris, ke mi spektis p0rn unufoje kaj havis la aŭdilojn kaj la hdp malkonektitajn kaj aŭdis la ĝemojn de Shyla: c
        La bona afero estas, ke ĝi estis nur fragmento de almenaŭ eterna sekundo kaj ĝi sonis kiel hororaj filmoj kiam prostituitino estis mortigita XD
        Pripensante ĝin mi aldonos ĝin al plej ŝatataj

  2.   Yoyo Moreno diris

    Hahahahahaha la samo okazis al mi, kiam mi pretervole malkonektis ĝin noktomeze kaj bona malmola kerno sonis laŭ plena volumo XD, mia familio timis:

  3.   noxonsoftvaro diris

    Bonaj informoj estos utilaj al mi iam. Multaj dankoj

  4.   Andreser diris

    Vi ne trompas min, vi rigardis por * aŭ samseksemuloj en la hispana kaj viaj aŭdiloj estis malkonektitaj xD
    Dankon pro la kontribuo, en Linukso Mint la volumo konserviĝas, ekzemple se mi metas mutan kaj tiam konektas la aŭdilojn, en la aŭdiloj mi havos sonon kaj sen ili ne.
    Salutojn.

    1.    pluvo diris

      hahaha, ne, sed en tiuj kazoj ĝi ankaŭ funkcias (?)

      1.    Andreser diris

        Jes, ĝi ankaŭ funkcias en tiuj kazoj (͡ ° ͜ʖ ͡ °)

  5.   neo diris

    Bona informo, sugesto, se la sistemo subtenas 'devd' kiel mi kopiu aŭ kreu ĉi tiun dosieron?

    [kodo] $ PREFIX / share / examples / cups / ulpt-cupsd.conf al $ PREFIX / ktp / devd / [/ code]

    1.    pluvo diris

      Mi ne povus diri al vi, ĉu la komando cp ne sufiĉas?

      1.    neo diris

        Ne, ĝi diras, ke dosierujo ne ekzistas kaj mi ankaŭ ne scias krei.

  6.   Fernando diris

    Heheheh nu, se mi diras al vi, ke okazis al mi pli ol unu fojon kaj kun la sama muziko, do mi notas ĝin por instali ĝin poste. Saluton kaj en la nomo de Heavy Metal dankon.

  7.   david diris

    ...... ~ $ sudo pacman -S alsa-utils
    [sudo] pasvorto por david:
    sudo: pacman: komando ne trovita