我经常通过手动调用pm-suspend
命令来暂停我的笔记本电脑。大多数时候它都可以正常工作。
但是,有时它会以空白屏幕恢复。重新启动或sudo /etc/init.d/lightdm restart
在 TTY1 (Ctrl+ALT+F1) 上发出命令都可以使其工作,但我当然会丢失所有未保存的文档和工作布局。
有没有办法让 LightDM 在 TTY1 上启动而无需重新启动它?
答案1
问题的根源
事实证明,确切的问题是在笔记本电脑的盖子关闭时发出屏幕锁定命令:
sleep 5s; physlock -d
运行上面的命令并立即关闭笔记本电脑的盖子。等待大约 10 秒钟,然后打开盖子。密码提示将等待您输入密码。输入正确的密码后,您将看到一个完全空白的屏幕。
实际解决方案
当前的解决方法是在同一脚本中xrandr --auto
运行:TTY7
my-suspend
echo "Locking display"
physlock -d
echo "suspending..."
pm-suspend
echo "Performing workaround for LightDM bug"
while :; do
xrandr --auto && break || sleep 1s
done
回答原来的问题
当在另一个 tty 上发出此命令时,即使预先设置,xrandr --auto
它也不起作用。DISPLAY=:0
但是,以下过程有效:
- 切换到
TTY1
(Ctrl + Alt + F1
): - 发出以下命令:
$ while :; do DISPLAY=:0 xrandr --auto && break || sleep 1s; done
该命令每秒都会失败,并出现以下错误:
xrandr: Configure crtc 0 failed
xrandr: Configure crtc 0 failed
xrandr: Configure crtc 0 failed
...
- 切换到
TTY7
(Ctrl + Alt + F7
) - 等待 1 秒
- 瞧!