我的计算机似乎在正常挂起和恢复时出现问题。最近,它从休眠状态恢复,工作正常,直到我开始登录,然后 X 完全冻结。我可以通过 SSH 登录(当我这样做时它可以完美运行),我很想在不重新启动整个计算机的情况下重置它,最好不要让我所有打开的应用程序崩溃。
这是可行的吗?如果我不得不让打开的应用程序崩溃,那也没关系,我想,但不是首选。
我的计算机似乎在正常挂起和恢复时出现问题。最近,它从休眠状态恢复,工作正常,直到我开始登录,然后 X 完全冻结。我可以通过 SSH 登录(当我这样做时它可以完美运行),我很想在不重新启动整个计算机的情况下重置它,最好不要让我所有打开的应用程序崩溃。
这是可行的吗?如果我不得不让打开的应用程序崩溃,那也没关系,我想,但不是首选。
我知道 Ubuntu 中的各种硬件仍然存在很多问题。您可以重新启动 XI,相信
service gdm restart
(或/etc/init.d/gdm restart
)您应该能够重置 X。如果你使用 Kubuntu 或 KDE,你会想要使用service kdm restart
(or/etc/init.d/kdm restart
)由于计算机没有被锁定,Alt++应该杀死/重新启动您的 X 服务器SysRq。k在 X VT 上而不是在控制台 VT 上键入它。
如果您需要频繁重启 X,您可以使用 Key combo Control++来Alt完成Backspace。它曾经在 Ubuntu 上默认启用,但我猜他们从 9.04 版本开始禁用它。
要重新启用它:
我建议您继续寻找问题的根源,因为这只是一种姑息疗法,但现在应该对您有所帮助。
从技术上讲,对于这些“X 冻结”问题,实际上并不是 X 本身冻结了,而是显卡上的 GPU 出于某种原因被锁定,因此 X 无法再更新其上的图形。
因此,正因为如此,重置 X 通常不会解决问题。就像前面提到的两位评论者一样,有几种简单的方法可以重新启动 X,例如重新启动 gdm 或 kdm,或者打开 ctrl-alt-backspace 并使用该组合键。但是下次“X 冻结”时,继续尝试它们,我敢打赌它没有效果。
问题确实在堆栈的更深处,在内核级别。可能如果您关闭 X,卸载并重新加载所有内核图形驱动程序,然后重新启动 X,它就会出现。但是在重新启动 X 时,您会丢失所有应用程序。因此,除了一个有趣的测试之外,完全重启可能更快、更安全。
您没有提及您使用的是哪个视频驱动程序,但例如英特尔视频驱动程序,GPU 由 Linux 内核本身的代码处理。一些开发人员一直在尝试在内核中添加“GPU 重置”功能,当它似乎不再响应图形命令时,它会自动清除 GPU 的内存并重新初始化它。此重置功能是新的,并且由于各种原因并不总是在所有情况下都有效,并且(还)不适用于 nouveau 或 ati 开源视频驱动程序。希望它会很快到来。
如果您使用的是专有驱动程序,例如 nvidia 或 fglrx,那么所有的赌注都没有了。查看这些驱动程序的论坛以获取提示。
顺便说一句,你说“X 完全冻结了”,如果是真的,我之前的回答适用。然而,我见过的一个常见故障模式是当盖子关闭时屏幕变成空白并且没有回来,但是在这种情况下 X 没有冻结 - 所有 GUI 应用程序仍然运行并产生噪音等等. 你只是在屏幕上看不到任何东西。
在这种情况下,这是一个非常不同的问题——显卡能够将图形发送到几个不同的“输出”(例如 LVDS、DVI、VGA、TV-out),但一次只能发送两个“管道”。有时它会选择错误的输出来发送数据。所以最初图形被发送到笔记本电脑面板(LVDS),你关闭盖子,重新打开它,现在图形被发送到电视输出输出,即使你实际上没有物理电视输出端口笔记本电脑本身!
在这种情况下,解决方法通常是强制关闭任性的输出。以前你可以在你的 xorg.conf 中放一些东西来做到这一点,但现在有了内核模式设置,它就不是那么容易了。无论如何,如果你想知道如何做的细节,我已经在https://wiki.ubuntu.com/X/Quirks记录了这两种方法。