我启用了“挂起锁定”(睡眠)。这很好用,但是当我将笔记本电脑休眠时也会触发。当我从休眠状态恢复时,我必须输入两个密码:在 cryptsetup 屏幕上输入以解锁驱动器,在登录屏幕上输入。
有没有办法不锁定休眠(systemctl hibernate),但仍锁定睡眠?
我使用的是 Ubuntu 20.04(但我很灵活,如果能解决这个问题,我可以切换到任何版本)。
答案1
你可以编写一个在休眠时使用的脚本,这样它首先设置
gsettings set org.gnome.desktop.screensaver ubuntu-lock-on-suspend false
然后休眠。然后使用在恢复后运行的另一个脚本(您不需要在这里选择执行仅有的从休眠状态恢复时也可以运行,因为它也可以从挂起状态恢复时运行,在这种情况下它将不起作用),这将设置
gsettings set org.gnome.desktop.screensaver ubuntu-lock-on-suspend true
我不确定检查/放置这些脚本的具体位置。这个想法类似于这脚本/lib/systemd/system-sleep/toggle-lock
,可能非常接近你需要的
#!/bin/sh
set -e
if [ "$2" = "hibernate" ]; then
case "$1" in
pre)
XINPUTUSER=$(who | grep :0 | sed 's/\([a-z]*\).*/\1/')
DISPLAY=:0.0 su - $XINPUTUSER -c "gsettings set org.gnome.desktop.screensaver ubuntu-lock-on-suspend false"
;;
post)
XINPUTUSER=$(who | grep :0 | sed 's/\([a-z]*\).*/\1/')
DISPLAY=:0.0 su - $XINPUTUSER -c "gsettings set org.gnome.desktop.screensaver ubuntu-lock-on-suspend true"
;;
esac
fi
笔记:
- 这询问的是类似的问题,但目标操作顺序更加具体。选项在那里可能对你有用。
- 上面的链接使用
pm
,而 Ubuntu 20.04 使用systemd
。我不确定它们是否“不兼容”。 - 总的来说,我可以寻找细节,得出一个初步的分步说明列表。我经常这样做,但我个人也认为,答案应该有助于解决问题,并且感兴趣的 OP采取该方法并通过进一步的修补来填补空白。
有关的