Czy możliwe jest zezwolenie na kontynuowanie działania klawiszy głośności na klawiaturze, gdy pulpit jest zablokowany? Obecnie domyślne zachowanie wyłącza wszystkie klawisze funkcji specjalnych do momentu odblokowania pulpitu. Lubię używać komputera jako odtwarzacza muzyki i zostawiam go zablokowanego, gdy nie jestem bezpośrednio przy konsoli, ale nadal chcę pozwolić ludziom kontrolować głośność, jeśli utwór jest zbyt głośny.
shortcut-keys
music
lock-screen
Cerin
źródło
źródło
Odpowiedzi:
Trochę wstydliwa wtyczka, ale ponieważ wydaje się, że nie ma już żadnego rozwiązania, a ponieważ zadanie wydawało się stosunkowo proste, napisałem prostego demona Pythona, aby rozwiązać problem. Używa API python-xlib do przechwytywania naciśnięć klawiszy w całym systemie, a następnie uruchamia niestandardowe polecenia powłoki. Zakłada podstawową konfigurację Debiana / Ubuntu, ale prawdopodobnie działałby na większości systemów Linux z kilkoma poprawkami.
W moim przypadku klawisze zwiększania / zmniejszania głośności są mapowane na kod 122/123, więc odpowiednie polecenia zmniejszania lub zwiększania głośności tylko przy zablokowanym pulpicie to :
Trzeba przyznać, że to trochę gadatliwe. Drugim grepem jest znalezienie aktywnego interfejsu dźwiękowego w systemach, które mogą mieć kilka (np. Mój laptop ma interfejs Master i Słuchawki, pozwalając tym komendom sterować).
Edycja: To nie działa już od Ubuntu 16. Wszystkie funkcje X wydają się być wyłączone, nawet z terminala, gdy ekran się zablokuje.
źródło
gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true"
oparty na askubuntu.com/a/890802/627247, ponieważ nie używam gnome-screesaver, ale potem nie ma żadnych problemów.gnome-screensaver-command -q | grep "is active"
linii 160--165 pliku freekey.py lub bezpośrednio w pliku konfiguracyjnym tym, co on sugeruje.171 gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true" && bash -c 'rhythmbox-client --next'
działa idealnie dla następnej piosenki na rhythmbox. Nadal pracuję nad poprzednimi i innymi kontrolkami, ale się tam znajdą.