Apakah mungkin untuk memungkinkan tombol volume keyboard untuk terus bekerja ketika desktop Anda terkunci? Saat ini, perilaku default menonaktifkan semua tombol fungsi khusus hingga desktop tidak terkunci. Saya suka menggunakan PC saya sebagai pemutar musik dan membiarkannya terkunci ketika saya tidak langsung berada di konsol, tetapi saya masih ingin membiarkan orang mengontrol volume jika sebuah lagu terlalu keras.
shortcut-keys
music
lock-screen
Cerin
sumber
sumber
Jawaban:
Agak dari plug memalukan, tetapi karena tampaknya tidak ada solusi yang ada, dan karena tugas itu tampaknya relatif lurus ke depan, saya menulis daemon Python sederhana untuk memperbaiki masalah. Ia menggunakan API python-xlib untuk menangkap penekanan tombol di seluruh sistem dan kemudian menjalankan perintah shell kustom. Ini mengasumsikan pengaturan dasar Debian / Ubuntu, tetapi mungkin akan bekerja pada sebagian besar sistem Linux dengan beberapa penyesuaian.
Untuk kasus saya, tombol volume atas / bawah memetakan ke kode 122/123, sehingga perintah yang sesuai untuk menurunkan atau menambah volume hanya ketika desktop dikunci adalah:
Memang, itu agak bertele-tele. Grep kedua adalah menemukan antarmuka suara aktif pada sistem yang mungkin memiliki beberapa (misalnya laptop saya memiliki antarmuka Master dan Headphone, yang memungkinkan perintah-perintah ini untuk mengontrol keduanya).
Sunting: Ini tidak lagi berfungsi pada Ubuntu 16. Semua fungsi X tampaknya menjadi dinonaktifkan, bahkan dari terminal, setelah layar terkunci.
sumber
gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true"
berbasis pada askubuntu.com/a/890802/627247 karena saya tidak menggunakan gnome-screesaver tetapi setelah itu, tidak ada masalah sama sekali.gnome-screensaver-command -q | grep "is active"
baris 160--165 dari freekey.py atau langsung di file konfigurasi dengan apa yang disarankannya.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'
berfungsi sempurna untuk lagu berikutnya di rhythmbox. Saya masih mengerjakan kontrol sebelumnya dan lainnya tetapi itu akan sampai di sana.