Cách cho phép các chức năng chính trong khi máy tính để bàn bị khóa


20

Có thể cho phép các phím âm lượng của bàn phím tiếp tục hoạt động khi màn hình của bạn bị khóa không? Hiện tại, hành vi mặc định sẽ vô hiệu hóa tất cả các phím chức năng đặc biệt cho đến khi mở khóa máy tính để bàn. Tôi thích sử dụng PC của mình làm máy nghe nhạc và khóa nó khi tôi không trực tiếp trên bàn điều khiển, nhưng tôi vẫn muốn cho phép mọi người kiểm soát âm lượng nếu bài hát quá to.


+1! Tôi cá rằng một tác dụng phụ của việc này (nếu có thể) là không đánh thức lại màn hình ngủ, đó là điều mà tôi đã tự hỏi trước đây.
David Oneill

1
Tôi cũng muốn có chức năng này. Không chỉ cho âm lượng, mà còn cho các phím điều khiển nhạc (phát, tạm dừng; tiếp theo; trước đó).
jPlatte

Ở một bên, khi tôi đang nâng cấp, tôi chuyển màn hình của mình xuống mức thấp nhất. Một nửa trong quá trình cài đặt, tôi không thể sao lưu nó. Tạo nên một trải nghiệm thú vị ..
Will Richardson

Tôi tự hỏi nếu các phím phương tiện có thể được chế tạo thành một loại thiết bị LIRC giả nào đó, giả vờ là một điều khiển từ xa ... Ít nhất về mặt khái niệm nó có ý nghĩa, phải không?
taneli

Câu trả lời:


9

Hơi khó chịu, nhưng dường như không có giải pháp nào hiện có, và vì nhiệm vụ có vẻ tương đối đơn giản, tôi đã viết một trình nền Python đơn giản để khắc phục vấn đề. Nó sử dụng API python-xlib để chụp các phím bấm trên toàn hệ thống và sau đó chạy các lệnh shell tùy chỉnh. Nó giả định một thiết lập Debian / Ubuntu cơ bản, nhưng có lẽ sẽ hoạt động trên hầu hết các hệ thống Linux với một vài điều chỉnh.

Đối với trường hợp của tôi, phím tăng / giảm âm lượng ánh xạ tới mã 122/123, do đó, các lệnh tương ứng để giảm hoặc tăng âm lượng chỉ khi màn hình nền bị khóa là:

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%'

Phải thừa nhận rằng, đó là một chút dài dòng. Grep thứ hai là tìm giao diện âm thanh hoạt động trên các hệ thống có thể có một số (ví dụ: máy tính xách tay của tôi có giao diện Chính và Tai nghe, cho phép các lệnh này điều khiển một trong hai).

Chỉnh sửa: Điều này không còn hoạt động kể từ Ubuntu 16. Tất cả các chức năng X dường như bị vô hiệu hóa, ngay cả từ thiết bị đầu cuối, một khi màn hình bị khóa.


1
Tôi vừa mới làm việc này trên Ubuntu 18.04. Tôi đã phải thay thế "kiểm tra bị khóa" bằng gdbus call -e -d com.canonical.Unity -o /com/canonical/Unity/Session -m com.canonical.Unity.Session.IsLocked | grep -ioP "true"dựa trên Askubfox.com/a/890802/627247 vì tôi không sử dụng gnome-screesaver nhưng sau đó, không có vấn đề gì cả.
Fabian N.

Tôi có thể xác nhận rằng nó cũng hoạt động trên Ubuntu 16.04. Để tránh nhầm lẫn, "kiểm tra bị khóa" được đề cập bởi Fabian N. có nghĩa là thay thế gnome-screensaver-command -q | grep "is active"trên các dòng 160--165 của freekey.py hoặc trực tiếp trong tệp cấu hình theo những gì anh ta đề xuất.
Pierre Thalamy

trên hệ thống của tôi 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'hoạt động hoàn hảo cho bài hát tiếp theo trên nhịp điệu. Tôi vẫn đang làm việc trên các điều khiển trước đây và các điều khiển khác nhưng nó sẽ đến đó.
John Hamilton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.