skript for å slå av volumet når hodetelefonene kobles fra

pingvin-159784_640

Det skjedde med meg at mens jeg sov tidlig om morgenen, lyttet jeg til tung musikk på fullt volum, og ved en feil koblet jeg ut hodetelefonene som førte til at den ble spilt i hele huset (jeg tror de hatet meg på den tiden ha ha). Så programmer et lite skript som demper volumet når det er frakoblet:

Det første var å installere alsa-utils for å kunne administrere volumet fra kommandoer enkelt:

sudo pacman -S alsa-utils

Den neste tingen var å oppdage gjennom et Google-søk som også lagrer i vanlige tekstfiler (det kan leses med hvilken som helst tekstredigerer, i Windows vil alt dette være mye mer komplisert) statusen til lydkortene og at det bare tar å kopiere filen og sammenlign deretter endringene.

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

Dette kan variere i noen tilfeller, for eksempel hvis vi har mer enn ett lydkort. Hvis du vil vite mer, legger jeg igjen lenken til alsa-dokumentasjonen: http://alsa.opensrc.org/Proc_asound_documentation

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

Deretter kobler jeg hodetelefonene fra og bruker diff-kommandoen som viser de forskjellige linjene mellom de to filene:
diff "/proc/asound/card0/codec#0" ".audifonos/con.txt"

Det er noen data som vi ikke er interessert i, så vi må filtrere med grep slik at det bare viser linjene som har ordet "Pin-ctls".

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

I tilfelle kommandoen ikke viser noe på skjermen, betyr det at vi har hodetelefonene på. ettersom den ikke kan returnere noe, returnerer den en feil.

For å se denne feilen skriver vi inn:
echo $?

Hvis det viser oss en per skjerm, forteller den oss om feilen.

comfort

på den annen side, hvis når vi utfører dette, returnerer det noe, så har vi hodetelefonene koblet fra, i så fall vil det ikke returnere en feil:
echo $?

Hallo

Med dette i tankene og å vite bash er det enkelt å gjøre det:

Hodetelefoner.sh

Jeg laster den ned, jeg gir utførelsestillatelser for å åpne den for første gang slik at den "installeres" (den ber bare om å koble til hodetelefoner og kopiere filen som den forklarer i begynnelsen)
wget http://paste.desdelinux.net/?dl=5178 && chmod +x audifonos.sh && ./audifonos.sh

For å fullføre får jeg den til å starte automatisk hver gang jeg slår på PCen

Fra Xfce går jeg til applikasjoner> konfigurasjon> Session og start> applikasjoner automatisk start> legg til og plasser skriptet


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   flis sa

    Bruker du tilfeldigvis en WM? Det er at det i det minste i Arch med Gnome-Shell 3.16 bevarer endringene i volumkontrollene, for eksempel når jeg kobler til HDMI viser det meg maksimalt volum, når jeg kobler til hodetelefoner viser det meg veldig lavt volum og i den innebygde -i høyttalere nesten mest.

    Selv om jeg faktisk ønsket å gjøre det en stund, var det en tispe som måtte senke volumet for å kunne bruke høyttalerne slik at lyden ikke var skingrende eller irriterende for andre. Tusen takk for bidraget.

    1.    regn sa

      for ingenting 🙂, jeg bruker xfce 😛

      1.    flis sa

        Jeg husket bare at jeg en gang så på p0rn og hadde koplet hodetelefonene og hdp-en og hørte Shylas stønn: c
        Det som er bra er at det bare var et fragment av minst et evig sekund, og det hørtes ut som skrekkfilmer da en prostituert ble drept XD
        Tenker det bra, jeg skal legge det til i favoritter

  2.   Yoyo Moreno sa

    Hahahahahaha det samme skjedde med meg da jeg utilsiktet koblet den fra ved midnatt og en god Hard Core hørtes ut i full volum XD familien min var redd: v

  3.   noxon programvare sa

    God informasjon vil være nyttig for meg på et eller annet tidspunkt. Takk så mye

  4.   Andreser sa

    Du lurer meg ikke, du så etter * eller homofil på spansk og hodetelefonene dine ble frakoblet xD
    Takk for bidraget, i Linux Mint bevares volumet, for eksempel hvis jeg setter lyden og deretter kobler til hodetelefonene, i hodetelefonene vil jeg ha lyd og uten dem ikke.
    Hilsener.

    1.    regn sa

      hahaha, nei, men i de tilfellene fungerer det også (?)

      1.    Andreser sa

        Ja, det fungerer også i de tilfellene (͡ ° ͜ʖ ͡ °)

  5.   fornektelse sa

    God informasjon, et forslag, hvis systemet støtter 'devd' hvordan skal jeg fortsette å kopiere eller opprette denne filen?

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

    1.    regn sa

      Jeg kunne ikke fortelle deg, er ikke cp-kommandoen nok?

      1.    fornektelse sa

        Nei, det står at katalogen ikke eksisterer, og jeg vet heller ikke hvordan jeg skal lage.

  6.   fernando sa

    Heheheh vel, hvis jeg forteller deg at det har skjedd meg ved mer enn en anledning og med samme musikk, så skriver jeg det ned for å installere det senere. Hilsen og i navnet Heavy Metal takk.

  7.   David sa

    …… ~ $ sudo pacman -S alsa -utils
    [sudo] passord for david:
    sudo: pacman: kommandoen ble ikke funnet