Biraz utanç verici bir eklenti var, ancak mevcut bir çözüm bulunmadığından ve görev göreceli olarak daha ileri göründüğü için sorunu çözmek için basit bir Python arka plan programı yazdım . Sistem genelinde anahtar basımlarını yakalamak için python-xlib API'sini kullanır ve sonra özel kabuk komutlarını çalıştırır. Temel bir Debian / Ubuntu kurulumunu varsayar, ancak muhtemelen birkaç tweaks ile birçok Linux sisteminde çalışacaktır.
Benim durumumda, ses seviyesi açma / azaltma tuşları 122/123 koduyla eşleşir, böylece yalnızca masaüstü kilitlendiğinde ses seviyesini düşürmek veya arttırmak için ilgili komutlar şunlardır:
gnome-screensaver-command -q | grep "is active" && bash -c '/usr/bin/pactl -- set-sink-volume `pacmd list-sinks | grep -P -o "(?<=\* index: )[0-9]+"` -10%'
gnome-screensaver-command -q | grep "is active" && bash -c '/usr/bin/pactl -- set-sink-volume `pacmd list-sinks | grep -P -o "(?<=\* index: )[0-9]+"` +10%'
Kuşkusuz, bu biraz ayrıntılı. İkinci adım, aktif ses arabirimini birkaç sisteme sahip sistemlerde bulmaktır (örneğin, dizüstü bilgisayarımda bir Master ve Kulaklık arabirimi vardır, bu komutların her ikisinin de kontrol etmesini sağlar).
Düzenleme: Bu artık Ubuntu 16'dan itibaren çalışmaz. Ekran kilitlendiğinde X işlevlerinin tümü terminalden bile devre dışı kalır.