script for at slå lydstyrken fra, når hovedtelefonerne afbrydes

pingvin-159784_640

Det er sket for mig, at mens folk sov tidligt om morgenen, lyttede jeg til tung musik ved fuld lydstyrke, og ved en fejltagelse frakoblede jeg hovedtelefonerne, hvilket fik den til at blive spillet i hele huset (jeg tror, ​​de hadede mig på den tid haha). Så programmér et lille script, der, når det er afbrudt, dæmper lydstyrken:

Den første ting var at installere alsa-utils for nemt at kunne styre lydstyrken fra kommandoer:

sudo pacman -S alsa-utils

Den næste ting var at opdage gennem en Google-søgning, at alsa gemmer i almindelige tekstfiler (det kan læses med en hvilken som helst teksteditor, i Windows ville alt dette være meget mere kompliceret) lydkortets status, og at det kun tager kopi af fil, og sammenlign derefter ændringerne.

Filen er:
/proc/asound/card0/codec#0

Dette kan variere i nogle tilfælde, for eksempel hvis vi har mere end et lydkort. Hvis du vil vide mere, forlader jeg linket til alsa-dokumentationen: http://alsa.opensrc.org/Proc_asound_documentation

Jeg forbinder hovedtelefonerne og kopierer filen:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Derefter trækker jeg hovedtelefonerne ud og bruger diff-kommandoen, der viser de forskellige linjer mellem de to filer:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Der er nogle data, som vi ikke er interesseret i, så vi er nødt til at filtrere med grep, så det kun viser de linjer, der har ordet "Pin-ctls".

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

Hvis kommandoen ikke viser noget på skærmen, betyder det, at vi har hovedtelefonerne tændt. da den ikke kan returnere noget, returnerer den en fejl.

For at se denne fejl skriver vi:
echo $?

Hvis det viser os en pr. Skærm, fortæller den os om fejlen.

komfort

på den anden side, hvis når vi udfører dette, returnerer det noget, så har vi hovedtelefonerne afbrudt, i hvilket tilfælde det ikke returnerer en fejl:
echo $?

Hej

Med dette i tankerne og at kende bash er det let at gøre det:

Hovedtelefoner.sh

Jeg downloader det, jeg giver eksekveringstilladelser til at åbne det for første gang, så det "installeres" (det beder kun om at forbinde hovedtelefoner og kopiere den fil, som den forklarer i starten)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

For at afslutte får jeg den til at starte automatisk hver gang jeg tænder pc'en

Fra Xfce går jeg til applikationer> konfiguration> Session og start> automatisk start af applikationer> tilføj og placer scriptet


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   flise sagde han

    Bruger du tilfældigvis en WM? Det er, at det i det mindste i Arch med Gnome-Shell 3.16 bevarer ændringerne i lydstyrkeknapperne, for eksempel når jeg tilslutter HDMI, viser det mig den maksimale lydstyrke, når jeg tilslutter hovedtelefoner, viser det mig meget lav lydstyrke og i den indbyggede -højttalerne næsten mest.

    Selvom jeg faktisk ønskede at gøre det i nogen tid, var det en tæve, der skulle sænke lydstyrken for at kunne bruge højttalerne, så lyden ikke var skingrende eller irriterende for andre. Mange tak for bidraget.

    1.    regn sagde han

      for ingenting 🙂, jeg bruger xfce 😛

      1.    flise sagde han

        Jeg huskede bare, at jeg så p0rn en gang og havde afbrudt hovedtelefonerne og hdp'en og hørt Shylas stønn: c
        Det gode er, at det kun var et fragment af mindst et evigt sekund, og det lød som gyserfilm, da en prostitueret blev dræbt XD
        Når jeg tænker over det, vil jeg føje det til favoritter

  2.   Yoyo Moreno sagde han

    Hahahahahaha det samme skete for mig, da jeg utilsigtet afbrød den ved midnat og en god Hard Core lød ved fuld lydstyrke XD min familie var bange:

  3.   noxonsoftware sagde han

    Gode ​​oplysninger vil være nyttige for mig på et eller andet tidspunkt. Mange tak

  4.   Andreser sagde han

    Du narrer mig ikke, du så efter * eller homoseksuel på spansk, og dine hovedtelefoner blev afbrudt xD
    Tak for bidraget, i Linux Mint bevares lydstyrken, for eksempel hvis jeg sætter lydløs og derefter tilslutter hovedtelefonerne, i hovedtelefonerne har jeg lyd og uden dem ikke.
    Greetings.

    1.    regn sagde han

      hahaha, nej, men i disse tilfælde fungerer det også (?)

      1.    Andreser sagde han

        Ja, det fungerer også i disse tilfælde (͡ ° ͜ʖ ͡ °)

  5.   Deni sagde han

    Gode ​​oplysninger, et forslag, hvis systemet understøtter 'devd', hvordan skal jeg fortsætte med at kopiere eller oprette denne fil?

    [kode] $ PREFIX / del / eksempler / kopper / ulpt-cupsd.conf til $ PREFIX / etc / devd / [/ code]

    1.    regn sagde han

      Jeg kunne ikke fortælle dig, er ikke cp-kommandoen nok?

      1.    Deni sagde han

        Nej, der står, at mappen ikke findes, og jeg ved heller ikke, hvordan man opretter.

  6.   fernando sagde han

    Heheheh, hvis jeg fortæller dig, at det er sket for mig mere end én gang og med den samme musik, så jeg skriver det ned for at installere det senere. Hilsner og i Heavy Metal navn tak.

  7.   David sagde han

    …… ~ $ sudo pacman -S alsa -utils
    [sudo] adgangskode til David:
    sudo: pacman: kommandoen blev ikke fundet