script om het volume uit te schakelen wanneer de hoofdtelefoon is losgekoppeld

pinguïn-159784_640

Het is mij overkomen dat terwijl mensen in de vroege ochtenduren sliepen, ik naar zware muziek op vol volume luisterde en per ongeluk de koptelefoon loskoppelde waardoor het door het hele huis klonk (ik denk dat ze me op dat moment haatten haha ). Dus ik schreef een klein script dat wanneer ze offline gaan, het volume wordt gedempt:

Het eerste was installeren alsa-utils om het volume eenvoudig te kunnen beheren vanaf commando's:

sudo pacman -S alsa-utils

Het volgende was om via een Google-zoekopdracht die ook opslaat in platte tekstbestanden (het kan worden gelezen met elke teksteditor, in Windows zou dit allemaal veel ingewikkelder zijn) de staat van de geluidskaarten te ontdekken en dat alles wat je nodig hebt is kopiëren het bestand en vergelijk vervolgens de wijzigingen.

Het bestand is:
/proc/asound/card0/codec#0

Dit kan in sommige gevallen afwijken, bijvoorbeeld als we meer dan één geluidskaart hebben. Als je meer wilt weten, laat ik de alsa-documentatielink achter: http://alsa.opensrc.org/Proc_asound_documentation

Ik sluit de koptelefoon aan en kopieer het bestand:
mkdir $HOME/.audifonos && cp "/proc/asound/card0/codec#0" "$HOME/.audifonos/con.txt"

Vervolgens koppel ik de koptelefoon los en gebruik ik het diff-commando dat de verschillende lijnen tussen de twee bestanden laat zien:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Er zijn enkele gegevens waarin we niet geïnteresseerd zijn, dus we moeten filteren met grep zodat alleen de regels worden weergegeven met het woord "Pin-ctls".

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

Als de opdracht niets op het scherm laat zien, betekent dit dat we een koptelefoon op hebben. Omdat het niets kan retourneren, retourneert het een fout.

Om deze fout te zien, typen we:
echo $?

Als het ons een op het scherm laat zien, vertelt het ons over de fout.

comfort

Aan de andere kant, als wanneer we dit uitvoeren, het iets retourneert, hebben we de koptelefoon losgekoppeld, in welk geval het geen fout zal retourneren:
echo $?

Hallo

Nu met dit in gedachten en bash kennende, is het gemakkelijk om het te doen:

Koptelefoon.sh

Ik download het, ik geef uitvoeringsrechten om het voor de eerste keer te openen, zodat het kan worden "geïnstalleerd" (het vraagt ​​alleen om een ​​koptelefoon aan te sluiten en het bestand te kopiëren dat ik aan het begin heb uitgelegd)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

Om te eindigen laat ik het automatisch starten elke keer dat ik de pc aanzet

Vanuit Xfce ga ik naar toepassingen > configuratie > Sessie en start > toepassing automatisch starten > script toevoegen en plaatsen


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   tegel zei

    Gebruik je toevallig een WM? Het is dat het in ieder geval in Arch met Gnome-Shell 3.16 de veranderingen in de volumeregelaars behoudt, bijvoorbeeld wanneer ik de HDMI aansluit, laat het me het maximale volume zien, wanneer ik een koptelefoon aansluit, laat het me een heel laag volume zien en in de geïntegreerde luidsprekers bijna het meest.

    Hoewel ik daar eigenlijk een tijdje naar op zoek was, was het vervelend om het volume te moeten verlagen om de luidsprekers te kunnen gebruiken en dat het geluid niet hard of vervelend was voor anderen. Hartelijk dank voor de bijdrage.

    1.    regen zei

      voor niets 🙂, ik gebruik xfce 😛

      1.    tegel zei

        Ik herinnerde me net dat ik een keer naar p0rn aan het kijken was en ik had de koptelefoon op en de hdp losgekoppeld en ze hoorden Shyla's gekreun :c
        Het mooie is dat het maar een fragment was van minstens een eeuwige seconde en het klonk als horrorfilms als ze een prostituee vermoorden XD
        Als ik erover nadenk, ga ik het toevoegen aan favorieten

  2.   Jojo Moreno zei

    Hahahahahaha hetzelfde overkwam mij toen ik het rond middernacht onbedoeld loskoppelde en een goede harde kern klonk op vol volume XD mijn familie was bang: v

  3.   noxonsoftware zei

    Goede informatie zal me ooit van pas komen. ontzettend bedankt

  4.   andreser zei

    Je houdt me niet voor de gek, je keek naar por*o gay in het Spaans en je koptelefoon was losgekoppeld xD
    Bedankt voor de bijdrage, in Linux Mint blijft het volume behouden, als ik bijvoorbeeld demp en vervolgens de koptelefoon aansluit, heb ik geluid in de koptelefoon en niet zonder.
    Groeten.

    1.    regen zei

      hahaha, nee maar in die gevallen werkt het ook(?)

      1.    andreser zei

        Ja, in die gevallen werkt het ook ( ͡° ͜ʖ ͡°)

  5.   ontkenning zei

    Goede informatie, een suggestie, als het systeem 'devd' ondersteunt, hoe ga ik dan verder met het kopiëren of aanmaken van dit bestand?

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

    1.    regen zei

      Ik zou het je niet kunnen vertellen, is het cp-commando niet genoeg?

      1.    ontkenning zei

        Nee, er staat dat de directory niet bestaat en ik weet ook niet hoe ik deze moet maken.

  6.   fernando zei

    Hehehe nou als ik je vertel dat het me meer dan eens is overkomen en met dezelfde muziek, dus ik schrijf het op om het later te installeren. Groetjes en namens Heavy Metal bedankt.

  7.   David zei

    …… ~ $ sudo pacman -S alsa-utils
    [sudo] wachtwoord voor David:
    sudo: pacman: opdracht niet gevonden