it-swarm.cn

如何通过命令行锁定桌面屏幕?

如何从命令行锁定桌面屏幕?

79
Renjith G

您可以通过使用gnome-screensaver-command标志运行-l来锁定计算机,如下所示:

gnome-screensaver-command -l

但是,这只有在您的会话中运行Gnome Screensaver时才会起作用(应该是 - 除非您已禁用它),您可以从命令行启动它:

gnome-screensaver
82
Marco Ceppi
gnome-screensaver-command -l

如果您处于不同的(桌面)会话(例如,虚拟控制台,切换到另一个登录,SSH),请明确指定显示(:0是默认显示):

DISPLAY=:0 gnome-screensaver-command -l

要解锁,请使用-d--deactivate)选项。

28
Snip

gnome-screensaver-command --lock会做到这一点。

18
mgunes

在较新版本的GNOME 3中,gnome-screensaver已不复存在。

通用解决方案似乎是

xdg-screensaver lock

您也可以直接调用dbus( source ):

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

它似乎也已经取消了un从命令行锁定屏幕的可能性。

7
Marian

在KDE下dm-tool lock将起作用(对我来说,在Kubuntu 15.04上)。

4
pbhj

这是一个很长的方法来完成它(在下面添加一个更快的方法):

为了使它更容易锁定,您可以将可执行脚本添加到可执行路径,将其称为“锁定”,然后锁定屏幕就像在cli中键入“lock”一样简单

这是怎么做的:

mkdir ~/bin

vim ~/bin/lock

#!/bin/bash
gnome-screensaver-command -l

保存并退出

chmod +x ~/bin/lock

不要忘记将〜/ bin添加到你的〜/ .profile中 - 注意文件名开头的点一个注意事项,请确保将其添加到正确的文件中。以下是.profile所说的内容:

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.

因此,您要首先检查您的主目录中是否存在上述文件,您应该将其添加到那里,如果它们不存在,则将bin的路径添加到.profile

vim ~/.profile # or one of the the other files if they exist

最后添加以下内容:

# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"

此时,您可以从cli启动以下快捷方式

[email protected]:~$ lock

[编辑]以下是快速简便的方法:为〜/ .bashrc文件添加别名,每次打开Shell时都会执行该别名,从而确保Alias持续存在:

vim ~/.bashrc
# set lockscreen
alias lock="gnome-screensaver-command -l"

结果是一样的,但更快

1
George Mogilevsky

还有许多简约实用程序只能锁定,它们不做任何其他操作。 (这可以更安全,因为通常保持软件简单可以减少错误。)

例如:

0
Alois Mahdal