我正在使用 Ubuntu 12.04。有没有办法通过终端命令或脚本锁定屏幕或会话?
答案1
简单的:
gnome-screensaver-command -l
如果屏幕保护程序设置为激活时锁定(请参阅屏幕保护程序设置),则以下操作也可以起作用,因为该命令会激活屏幕保护程序:
gnome-screensaver-command -a
.bashrc
您可以通过编辑主目录中的文件(或.bash_aliases
)为命令添加别名:
gedit $HOME/.bashrc
并添加以下行:
alias lock='gnome-screensaver-command -l'
然后从终端:
source .profile
这将激活别名。从现在开始,lock
终端中的别名将具有锁定屏幕的效果。
答案2
除了 January 所说的内容之外,以下方法也有效:
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)
为了进一步说明,这里是另一个问题/答案(也是一月份的),描述了调用锁和激活屏幕保护程序之间的区别:
gnome-screensaver-command -a 和 gnome-screensaver-command -l 之间的区别
答案3
从 Ubuntu 14.04 开始,Unity 的锁定屏幕不再使用 gnome-screensaver。该命令gnome-screensaver-command -l
在大多数情况下仍可行,但请参阅此问题有例外情况。
如果该命令不起作用(例如,未安装 gnome-screensaver),则可以通过终端中的以下命令调出正确的 Unity 锁定屏幕(而不是可以切换用户的欢迎屏幕):
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
答案4
$!(sleep 10s ; xset dpms force suspend) & xdg-screensaver lock
这将以锁定模式启动屏幕保护程序,然后将显示器置于待机状态。简洁明了,无需 sudo。命令行或 shell 脚本工作正常。我将其用作键盘热键。Ubuntu Mate 15.10