是否可以从命令行解锁13.04 Gnome Shell登录屏幕?一个用户登录到Gnome Shell,我可以以此用户身份登录到控制台。我也有root访问权限。
这用于通过VNC访问活动的X11显示屏,而无需输入密码。
执行中
gnome-screensaver-command -d
ssh
,那不是问题。它用于通过VNC访问活动的X11显示器,而无需输入密码。
是否可以从命令行解锁13.04 Gnome Shell登录屏幕?一个用户登录到Gnome Shell,我可以以此用户身份登录到控制台。我也有root访问权限。
这用于通过VNC访问活动的X11显示屏,而无需输入密码。
执行中
gnome-screensaver-command -d
ssh
,那不是问题。它用于通过VNC访问活动的X11显示器,而无需输入密码。
Answers:
我假设您使用的是最新的Linux系统systemd
(例如Ubuntu 16.04或更高版本)。
如果您需要解锁自己的会话,请运行loginctl unlock-session
(无需root用户,因为这是您自己的会话)。如果您有多个会话,并且只想选择一个loginctl list-sessions
会话,请运行以标识会话,然后运行例如loginctl unlock-session c187
。
如果需要解锁所有会话,请运行sudo loginctl unlock-sessions
。请注意,无论哪个用户正在运行屏幕保护程序,这都会立即解锁所有会话。
如果您需要更多信息来标识正确的会话,可以尝试执行以下操作:
loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done
sudo
,如果你想给所有会话的解锁屏幕保护程序(包括不与您的用户ID运行的会话)。
s
在unlock-sessions
。如果您只想解锁自己的会话,请执行loginctl unlock-session
。
gnome-screensaver-command
从SSH会话执行命令的问题通常是它们不会自动连接到活动桌面会话的相应会话总线-通常,设置DISPLAY变量将解决该问题,例如,这些对我有用(通过SSH与拥有锁定的X会话的用户相同,该用户位于DISPLAY:0):
$ DISPLAY=:0 gnome-screensaver-command -d
解锁,以及
$ DISPLAY=:0 gnome-screensaver-command -l
锁定。
或者,您可以使用dbus-send
- 切换活动状态
$ export DISPLAY=:0
$ dbus-send --session \
--dest=org.gnome.ScreenSaver \
--type=method_call \
--print-reply \
--reply-timeout=20000 \
/org/gnome/ScreenSaver \
org.gnome.ScreenSaver.SetActive \
boolean:false
来源:https : //people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples
ps -fu <username> | grep saver
-可能xscreensaver
正在使用而不是gnome-screensaver
,在这种情况下,您可以尝试DISPLAY=:0 xscreensaver-command -deactivate
。
我遇到了gnome 3的屏幕锁定(屏幕保护程序)卡在黑屏的问题。我设法通过替换 gnome-shell窗口管理器来解决此问题。
Ctrl + Alt + F1并登录虚拟控制台,然后:
pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &
(&
使新的gnome-shell处于后台,以便您可以注销虚拟控制台并保持其运行。或者使用Ctrl + Z挂起gnome-shell进程并将bg
其后台。)
它可能并不优雅,但是它最终使我可以回到桌面应用程序,而不必担心,gnome迫使我注销。
gnome-shell
对我有效。