问题描述
我使用的是Ubuntu 12.04。有没有办法从终端命令或脚本锁定屏幕或会话?
最佳解决方法
简单:
gnome-screensaver-command -l
如果屏幕保护程序在激活时设置为锁定(请参阅屏幕保护程序设置),则以下内容也可以正常工作,因为该命令会激活屏幕保护程序:
gnome-screensaver-command -a
您可以通过编辑主目录中的.profile文件为命令添加别名:
gedit $HOME/.profile
并添加以下行:
alias lock='gnome-screensaver-command -l'
然后从终端:
source .profile
这将激活别名。从现在开始,终端中的别名lock
将具有锁定屏幕的效果。
次佳解决方法
除了1月所说的,这也有效:
gnome-screensaver-command --lock
要么
gnome-screensaver-command -l
根据gnome-screensaver-command
手册页…
-l, --lock Tells the running screensaver process to lock the screen immediately
-a, --activate Turn the screensaver on (blank the screen)
为了进一步说明,这里是另一个问题/答案(也是1月),它描述了调用锁和激活屏幕保护程序之间的区别:
Difference between gnome-screensaver-command -a and gnome-screensaver-command -l
第三种解决方法
请安装vlock。然后你可以切换到VT(文本终端,使用Ctrl
+ Alt
+ F1
)并运行
vlock -a -s
无论您是否运行X11,这都有效。
第四种方法
如果您需要在non-GUI环境中的终端上锁定屏幕,您可以使用screen
在screen
中按下以下按键组合以锁定终端。
Ctrl
+ a
Ctrl
+ x
第五种方法
从Ubuntu 14.04开始,Unity的锁屏不再使用gnome-screensaver。在大多数情况下,命令gnome-screensaver-command -l
仍然有效,但请参阅此question以了解异常。
如果该命令不起作用(例如,未安装gnome-screensaver),则可以通过终端中的此命令显示正确的Unity锁定屏幕(而不是可以切换用户的接收器):
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
第六种方法
$!(sleep 10s ; xset dpms force suspend) & xdg-screensaver lock
这将在锁定模式下启动屏幕保护程序,然后将显示器置于待机状态。甜蜜而简单,没有sudo。命令行或shell脚本工作正常。我用这个键盘热键。 Ubuntu Mate 15.10
第七种方法
对于LightDM用户,请尝试dm-tool switch-to-greeter
。
第八种方法
使用快捷方式Ctrl
+ Alt
+ L
从终端锁定屏幕的肮脏黑客:
-
从软件中心或终端安装xdotool,如下所示:
sudo apt-get install xdotool
-
键入以下内容以从终端锁定屏幕:
xdotool key Ctrl+alt+l
有关更多信息,请参阅xdotool的手册页。