当前位置: 首页>>技术教程>>正文


如何从终端锁定屏幕?

, ,

问题描述

我使用的是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从终端锁定屏幕的肮脏黑客:

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

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

    xdotool key Ctrl+alt+l
    

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1049.html,未经允许,请勿转载。