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.
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 $?
Med dette i tankerne og at kende bash er det let at gøre det:
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
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.
for ingenting 🙂, jeg bruger xfce 😛
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
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:
Gode oplysninger vil være nyttige for mig på et eller andet tidspunkt. Mange tak
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.
hahaha, nej, men i disse tilfælde fungerer det også (?)
Ja, det fungerer også i disse tilfælde (͡ ° ͜ʖ ͡ °)
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]
Jeg kunne ikke fortælle dig, er ikke cp-kommandoen nok?
Nej, der står, at mappen ikke findes, og jeg ved heller ikke, hvordan man opretter.
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.
…… ~ $ sudo pacman -S alsa -utils
[sudo] adgangskode til David:
sudo: pacman: kommandoen blev ikke fundet