Witam, opiszę Wam jak można kontrolować PulseAudio z poziomu konsoli.
Nasze skrypty będą wykonywać polecenie sprawdzające stan głośności poprzez konsolę PulseAudio (pacmd) a następnie po przetworzeniu wartości będą wykonywać odpowiednie polecenie przygłośnienia, przyciszenia bądź wyciszenia głośności.
1. Tworzymy trzy pliki w dowolnym katalogu np. ~/Scripts
pa_volplus
pa_volminus
pa_volmute
2. Atrybut uruchamialności
Ustawiamy każdemu plikowi atrybut uruchamialności +x
3. Dodajemy do klawiszy multimedialnych
a) Fluxbox
W pliku ~/.fluxbox/keys mamy możliwość przyporządkowania danemu klawiszowi jakieś polecenie.
Każdemu klawiszowi przyporządkowany jest dany identyfikator, aby go sprawdzić użyjemy programu xev.
Włącz xev, i obserwuj konsolę naciskając przycisk na klawiaturze.
b) metoda uniwersalna - xbindkeys
Odsyłam do innego postu, w którym wytłumaczona jest konfiguracja xbindkeys: http://www.fastpc.pl/thread-3302.html
Skrypty do kontroli PulseAudio z poziomu konsoli są autorstwem Ast0815.
-- WebNuLL
Nasze skrypty będą wykonywać polecenie sprawdzające stan głośności poprzez konsolę PulseAudio (pacmd) a następnie po przetworzeniu wartości będą wykonywać odpowiednie polecenie przygłośnienia, przyciszenia bądź wyciszenia głośności.
1. Tworzymy trzy pliki w dowolnym katalogu np. ~/Scripts
pa_volplus
Cytat:#!/bin/bash
A=`pacmd dump | grep "set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo" | cut -d " " -f 3`
B=$((A + 0x01000))
if [ $(($B)) -gt $((0x10000)) ]
then
B=$((0x10000))
fi
pactl set-sink-volume 0 `printf "0x%X" $B`
pa_volminus
Cytat:#!/bin/bash
A=`pacmd dump | grep "set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo" | cut -d " " -f 3`
B=$((A - 0x01000))
if [ $(($B)) -lt $((0x00000)) ]
then
B=$((0x00000))
fi
pactl set-sink-volume 0 `printf "0x%X" $B`
pa_volmute
Cytat:#!/bin/bash
A=`pacmd dump | grep "set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo" | cut -d " " -f 3`
if [ $A = "no" ]
then
pactl set-sink-mute 0 yes
else
pactl set-sink-mute 0 no
fi
2. Atrybut uruchamialności
Ustawiamy każdemu plikowi atrybut uruchamialności +x
Cytat:chmod +x ~/Scripts/pa_vol*
3. Dodajemy do klawiszy multimedialnych
a) Fluxbox
W pliku ~/.fluxbox/keys mamy możliwość przyporządkowania danemu klawiszowi jakieś polecenie.
Cytat:# klawisze multimedialne przykładowe
None 121 :Exec /home/webnull/Scripts/pa_volmute
None 122 :Exec /home/webnull/Scripts/pa_volminus
None 123 :Exec /home/webnull/Scripts/pa_volplus
Każdemu klawiszowi przyporządkowany jest dany identyfikator, aby go sprawdzić użyjemy programu xev.
Włącz xev, i obserwuj konsolę naciskając przycisk na klawiaturze.
Cytat:KeyPress event, serial 35, synthetic NO, window 0x3600001,
root 0xb0, subw 0x0, time 2323510, (-453,-410), root1288,487),
state 0x0, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
b) metoda uniwersalna - xbindkeys
Odsyłam do innego postu, w którym wytłumaczona jest konfiguracja xbindkeys: http://www.fastpc.pl/thread-3302.html
Skrypty do kontroli PulseAudio z poziomu konsoli są autorstwem Ast0815.
-- WebNuLL
Ubuntu (Linux dla ludzi) | Blog komputerowy | Linux Mint