Làm thế nào để tạm dừng từ dòng lệnh sao cho màn hình bị khóa?


10

Tôi đang sử dụng Xubfox 12.04. Trong Trình quản lý nguồn, tôi đã kiểm tra Mở rộng -> Màn hình khóa khi đi tạm dừng / ngủ đông. Nếu tôi chọn tạm dừng từ menu chính / Bảng 1, màn hình sẽ bị khóa. Tuy nhiên, nếu tôi sử dụng dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend(xem Làm cách nào tôi có thể tạm dừng / ngủ đông từ dòng lệnh ? ; Tôi sử dụng lệnh này qua phím tắt), màn hình không bị khóa. Làm cách nào tôi (1) có thể tạm dừng hệ thống (2) khóa màn hình cùng lúc (3) không yêu cầu quyền root để làm như vậy [vì tôi muốn lệnh được gán cho phím tắt].

Câu trả lời:


10

Bạn có thể làm điều đó bằng cách sử dụng như sau:

gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Trong một phím tắt, bạn cần đặt sh -c "<command>"thay thế <command>bằng lệnh trên, như:

sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"

Nếu lệnh trên không hoạt động, bạn cũng có thể thử sử dụng tệp shell shell (ví dụ suspend_lockscreen.sh). Đầu tiên tạo tập tin gọi các lệnh sau trong bàn điều khiển:

cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh

Điều đó sẽ tạo ra một tệp có tên là Suspend_lockscreen.sh trong thư mục nhà của người dùng. Sau đó, trong phím tắt chỉ cần gọi : ./suspend_lockscreen.sh.

Lưu ý: gnome-screensaver-commandcó thể được thay thế bởi xscreensaver-command, như được chỉ ra trong một bình luận.


Không, nó chỉ khóa màn hình và quên về việc tạm dừng nó theo một nhận xét được đưa ra trong câu trả lời tôi đã đưa ra;)
Rinzwind

1
À, tốt. Tôi chỉ nhận ra rằng gnome-screensaver-commandcũng có thể được thay thế bởi xscreensaver-commandvì vậy không cần cài đặt thêm. Không có && dbus-send...phần một chỉ đơn giản là có được một khóa (không có đình chỉ); với nó, người ta sẽ bị đình chỉ với khóa khi thức dậy. Hoàn hảo.
Marius Hofert

Thật không may, lệnh hoạt động từ thiết bị đầu cuối nhưng không phải từ phím tắt tôi đã xác định :-( Bạn có biết vấn đề gì có thể xảy ra không?
Marius Hofert

@MariusHofert Tôi đã cập nhật câu trả lời với cách sử dụng các lệnh từ thao tác cắt bàn phím. Xem nếu nó hoạt động như bạn cần. (Tôi đã thử nghiệm trong Ubuntu 12.04 và nó đã hoạt động).
amfcosta

Vẫn cùng một vấn đề: khóa hoạt động; đình chỉ không (Xubfox 12.04)
Marius Hofert

2

Tôi đã sử dụng lệnh dbus của amfcosta để tạm dừng dòng lệnh. Tuy nhiên, khi tiếp tục, eth0 đã ngừng hoạt động.

Sau đó tôi tìm thấy lệnh này:

xfce4-session-logout --suspend

Lệnh này vô hiệu hóa kết nối mạng, tạm dừng và sau đó kích hoạt lại mạng khi máy tính thức dậy.

xfce4-session-logoutlà xfce cụ thể, nhưng các môi trường máy tính để bàn khác có thể có các *-session-logoutlệnh tương tự .

Tôi đang chạy Xubfox 14.04.

Cập nhật: Điều này có thể không ảnh hưởng đến người khác, nhưng hóa ra trên Asus EEE 900 của tôi, kết nối ethernet có dây chỉ hoạt động mỗi khi EEE thức dậy. Điều này, tất nhiên, rất khó chịu, và có nghĩa là đình chỉ là không thể sử dụng.


1

Với Ubuntu 15.10, điều này cũng hoạt động:

gnome-screensaver-command --lock && systemctl -i suspend

0

Lưu ý: xscreensaver-commandchỉ hoạt động với tùy chọn -lock(có 1 dấu gạch nối, không phải gấp đôi như với gnome-screensaver-command). Tuy nhiên, lệnh chỉ hoạt động khi trình bảo vệ màn hình đang chạy, vì vậy không hữu ích lắm.

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.