如何从终端锁定屏幕?

我使用的是Ubuntu 12.04。 有没有办法从终端命令或脚本锁定屏幕或会话?

简单:

gnome-screensaver-command -l 

如果屏幕保护程序在激活时设置为锁定(请参阅屏幕保护程序设置),则以下内容也可以正常工作,因为该命令会激活屏幕保护程序:

 gnome-screensaver-command -a 

您可以通过编辑主目录中的.bashrc (或.bash_aliases )文件为命令添加别名:

 gedit $HOME/.bashrc 

并添加以下行:

 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月),它描述了调用锁和激活屏幕保护程序之间的区别:

gnome-screensaver-command -a和gnome-screensaver-command -l之间的区别

请安装vlock 。 然后你可以切换到VT(文本终端,使用Ctrl + Alt + F1 )并运行

 vlock -a -s 

无论您是否运行X11,这都有效。

如果您需要在非GUI环境中锁定终端上的屏幕,您可以使用屏幕

screen按下以下按键组合以锁定终端。

Ctrl + a

Ctrl + x

从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 
 $!(sleep 10s ; xset dpms force suspend) & xdg-screensaver lock 

这将在锁定模式下启动屏幕保护程序,然后将显示器置于待机状态。 甜蜜而简单,没有sudo。 命令行或shell脚本工作正常。 我用这个键盘热键。 Ubuntu Mate 15.10

对于LightDM用户,请尝试使用dm-tool switch-to-greeter

使用快捷键Ctrl + Alt + L从终端锁定屏幕的肮脏黑客:

  1. 从软件中心或终端安装xdotool,如下所示:

     sudo apt-get install xdotool 
  2. 键入以下内容以从终端锁定屏幕:

     xdotool key Ctrl+alt+l 

有关更多信息,请参阅xdotool的手册页。

这取决于您的显示管理器。 我有lightdm,我可以用dm-tool lock来调出锁屏。 但是,这并不是很安全,我找到了一种绕过它的简单方法。

在我的情况下, xdg-screensaver lock完全正常。 另外我通过设置保存它,或者当我按下窗口 + L时它会立即锁定屏幕

类似的情况锁定lubuntu屏幕

lubuntu 17.10(不是ubuntu)这个工作xset dpms force off