12.04 – “锁定屏幕”后屏幕故障/冻结

12.04 – “锁定屏幕”后屏幕故障/冻结

Ubuntu 12.04,3.5.0-36-通用内核通过 LTS 硬件支持堆栈。Intel Core i7-4770 上的 HD4600 GPU。

当我使用桌面的“锁定屏幕”功能时,有时我会在几个小时后回到机器并会看到以下两个故障之一:

  • 屏幕大部分是黑色的,上面有一堆故障图形。我仍然可以移动鼠标,但无法点击任何东西,什么都没有发生。
  • 系统看起来已解锁(如果我没记错的话,显示器是打开的)。锁定之前屏幕上的内容现在完全可见,但你无法点击任何内容。这已经不止一次向办公室其他人展示了我的电子邮件收件箱内容。

此时操作系统实际上还没有冻结。我通常使用 (CTRL+ALT+F1) 打开 TTY 并运行:

sudo stop lightdm
sudo start lightdm

并且能够恢复工作,即使之前打开的所有进程(如 Firefox、skype 等)似乎都消失了。

首先,这是一个已知问题吗?我可以修复它吗?其次,是否有日志可以让我查看具体问题是什么?/var/log/lightdm 没有显示太多信息,但我可能找错了地方。

任何建议都将受到热烈欢迎。

我偶然发现的解决方法:如果其他人也遇到了这个问题,那么当它发生时,没有必要重新启动机器。我认为使用 ALT+CTRL+F1 切换到虚拟 tty,然后再切换回 ALT+CTRL+F7 似乎可以解决问题。更好的是,您可以通过在 X 中锁定屏幕,然后在想要让机器静置一段时间时切换到 tty1 来完全避免这个问题。回来后再切换回 X。我还没有遇到故障,可能是因为每次执行此操作时它都会强制进行某种“完全刷新”。

答案1

编辑:我编写了一个脚本,通过检测屏幕状态并在正确的时间自动切换虚拟终端(与手动 Ctrl+Alt+F 键序列相同)来解决此问题。尝试一下,如果有效请告诉我。我不使用 lightdm,但也许我们可以想办法修补它。您可以在 GitHub 上获取它并按照说明使用它:

https://github.com/appleYaks/switcher


旧方法:仅适用于笔记本电脑盖关闭时。

如果您使用的是笔记本电脑,您可以让机器在关闭和打开盖子时自动切换 tty。这是我修复它的方法。我没有运行 Ubuntu,所以 YMMV:

编辑文件并将/etc/acpi/lid.sh命令放在正确的位置。chvt 1chvt 7

grep -q closed /proc/acpi/button/lid/*/state
if [ $? = 0 ]
then
    . /usr/share/acpi-support/screenblank

    # this is the line we add to switch to tty1
    # when the laptop lid closes
    chvt 1

    if [ x$LID_SLEEP = xtrue ]; then
        pm-suspend
    fi
else
    # this is the other part of the pair,
    # that switches back to tty7 when the lid opens again
    chvt 7

这两行chvt是文件的唯一更改。我还没有找到一种方法来修复空闲时屏幕关闭的问题,但目前我对此很满意。

答案2

奇怪的是,你遇到了图形问题,通常情况下,开箱即用,没有任何问题。安装英特尔图形驱动程序安装程序,看看是否有帮助

https://01.org/linuxgraphics/downloads/2013/intelr-linux-graphics-installer-version-1.0.1

相关内容