skript för att stänga av volymen när hörlurarna kopplas bort

pingvin-159784_640

Det hände mig att medan människor sov tidigt på morgonen lyssnade jag på tung musik på full volym och av misstag kopplade jag ur hörlurarna som fick den att spelas i hela huset (jag tror att de hatade mig då haha). Så skriv ett litet skript som stänger av volymen när den kopplas bort:

Det första var att installera alsa-utils för att enkelt kunna hantera volymen från kommandon:

sudo pacman -S alsa-utils

Nästa sak var att upptäcka genom en Google-sökning som även sparar i vanliga textfiler (det kan läsas med vilken textredigerare som helst, i Windows skulle allt detta vara mycket mer komplicerat) ljudkortens status och att det bara krävs kopiera filen och jämför sedan ändringarna.

Filen är:
/proc/asound/card0/codec#0

Detta kan variera i vissa fall, till exempel om vi har mer än ett ljudkort. Om du vill veta mer lämnar jag länken till alsa-dokumentationen: http://alsa.opensrc.org/Proc_asound_documentation

Jag ansluter hörlurarna och kopierar filen:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Sedan kopplar jag ur hörlurarna och använder diff-kommandot som visar de olika raderna mellan de två filerna:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Det finns vissa data som vi inte är intresserade av så vi måste filtrera med grep så att det bara visar raderna som har ordet "Pin-ctls".

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

Om kommandot inte visar något på skärmen betyder det att vi har hörlurar på. eftersom det inte kan returnera något returnerar det ett fel.

För att se detta fel skriver vi:
echo $?

Om det visar oss en per skärm berättar den om felet.

komfort

å andra sidan, om när vi kör det returnerar det något så har vi hörlurarna frånkopplade, i vilket fall kommer det inte att returnera ett fel:
echo $?

Hallå

Med detta i åtanke och att veta bash är det lätt att göra det:

Headphones.sh

Jag laddar ner den, jag ger körningstillstånd för att öppna den för första gången så att den "installeras" (den frågar bara att de ansluter hörlurar och kopierar filen som den förklarar i början)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

Till slut får jag det att starta automatiskt varje gång jag slår på datorn

Från Xfce går jag till applikationer> konfiguration> Session och start> applikationer autostart> lägg till och placera skriptet


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

      kakel sade

    Har du råkar använda en WM? Det är att det åtminstone i Arch med Gnome-Shell 3.16 bevarar ändringarna i volymkontrollerna, till exempel när jag ansluter HDMI visar det mig maximal volym, när jag ansluter hörlurar visar det mig mycket låg volym och i den inbyggda -i högtalare nästan mest.

    Även om jag faktiskt ville göra det under en tid var det en tik som behövde sänka volymen för att kunna använda högtalarna så att ljudet inte var högt eller irriterande för andra. Tack så mycket för bidraget.

         regn sade

      för ingenting 🙂, jag använder xfce 😛

           kakel sade

        Jag kom bara ihåg att jag en gång tittade på p0rn och hade kopplat ur hörlurarna och hdp och hört Shylas stön: c
        Det bra är att det bara var ett fragment av åtminstone en evig sekund och det lät som skräckfilmer när en prostituerad dödades XD
        Tänker jag över det kommer jag att lägga till det till favoriter

      Yoyo Moreno sade

    Hahahahahaha samma sak hände mig när jag oavsiktligt kopplade bort det vid midnatt och en bra Hard Core lät vid full volym XD min familj var rädd: v

      noxonprogramvara sade

    Bra information kommer att vara användbar för mig någon gång. tack så mycket

      Andreser sade

    Du lurar inte mig, du tittade efter * eller gay på spanska och dina hörlurar kopplades bort xD
    Tack för bidraget, i Linux Mint bevaras volymen, till exempel om jag sätter på tyst och sedan ansluter hörlurarna, i hörlurarna har jag ljud och utan dem inte.
    Hälsningar.

         regn sade

      hahaha, nej men i så fall fungerar det också (?)

           Andreser sade

        Ja, det fungerar också i dessa fall (͡ ° ͜ʖ ͡ °)

      förnekande sade

    Bra information, ett förslag, om systemet stöder 'devd' hur ska jag kopiera eller skapa den här filen?

    [kod] $ PREFIX / dela / exempel / koppar / ulpt-cupsd.conf till $ PREFIX / etc / devd / [/ code]

         regn sade

      Jag kunde inte berätta för dig, är inte cp-kommandot tillräckligt?

           förnekande sade

        Nej, det står att katalogen inte finns och jag vet inte heller hur man skapar.

      fernando sade

    Heheheh om jag berättar att det har hänt mig vid mer än ett tillfälle och med samma musik så jag skriver ner det för att installera det senare. Hälsningar och i Heavy Metal namn tack.

      David sade

    …… ~ $ sudo pacman -S alsa -utils
    [sudo] lösenord för david:
    sudo: pacman: kommandot hittades inte