为什么每次切换用户都会完全卡住我的系统?

我有一个全新安装的11.04 64位系统,其中包括2个管理员账户和4个普通账户。这4个普通账户(孩子们的账户)没有密码,他们只需点击自己的名字就可以登录。
当任何用户(无论是管理员还是普通用户)尝试通过点击屏幕右上角并选择另一个用户来切换账户时,屏幕会变黑,整个系统会锁定。即使按下CTRL+ALT+F1F7键也没有任何反应。在这个系统上,这种情况可以100%复现。
当控制台被锁定时,我可以通过ssh连接到该主机,并通过运行top命令查看Xorg占用了大约100%的CPU。在系统处于这种“锁定”状态时,在bash中查看"ps axfu"的输出,以下是lightdm和X进程树的情况:
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1153  0.0  0.1 183508  4292 ?        Ssl  Dec26   0:00 lightdm
root      2187  0.4  4.6 265976 164168 tty7    Ss+  00:43   0:21  \_ /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
stephane  2612  0.0  0.3 266400 10736 ?        Ssl  01:52   0:00  \_ /usr/bin/gnome-session --session=ubuntu
stephane  2650  0.0  0.0  12264   276 ?        Ss   01:52   0:00  |   \_ /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
stephane  2703  0.8  3.0 562068 106548 ?       Sl   01:52   0:08  |   \_ compiz
stephane  2801  0.0  0.0   4264   584 ?        Ss   01:52   0:00  |   |   \_ /bin/sh -c /usr/bin/compiz-decorator
stephane  2802  0.0  0.3 265744 13772 ?        Sl   01:52   0:00  |   |       \_ /usr/bin/unity-window-decorator
...cut...
root      3024 80.6  0.3 107928 13088 tty8     Rs+  01:53  12:34  \_ /usr/bin/X :1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch

那个最后的进程,这里是 pid #3024,就是导致 CPU 被占用的原因。
如果有关系的话(我觉得可能有),以下是我认为与我的显卡相关的信息,取自于 /var/log/Xorg.0.log:
[  3392.653] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/extensions/libglx.so
[  3392.653] (II) Module glx: vendor="FireGL - AMD Technologies Inc."
[  3392.653]    compiled for 6.9.0, module version = 1.0.0
...
[  3392.655] (II) LoadModule: "fglrx"
[  3392.655] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/modules/drivers/fglrx_drv.so
[  3392.672] (II) Module fglrx: vendor="FireGL - ATI Technologies Inc."
[  3392.672]    compiled for 1.4.99.906, module version = 8.88.7
[  3392.672]    Module class: X.Org Video Driver
...
[  3392.759] (==) fglrx(0): ATI 2D Acceleration Architecture enabled
[  3392.759] (--) fglrx(0): Chipset: "AMD Radeon HD 6410D" (Chipset = 0x9644)

最后:我确实看到了这个帖子:在11.10上更改用户会导致系统卡住 ...但是我检查过了,这个系统上没有安装libpam-smbpass软件包。

你还在寻求帮助吗,还是已经解决了这个问题?如果这个问题不再适用,你可以删除它,或者如果你已经解决了问题,可以自己回答。谢谢! - coversnail
这个问题至今仍然存在,从未得到解决。 - Stéphane
请问您能否提供您的/var/log/lightdm/lightdm.log文件?您说您可以通过ssh登录到机器,所以在系统处于僵局状态时,请通过ssh登录并获取日志文件。 - Anthony
5个回答

当您退出登录时,登录屏幕设置由root用户管理(我认为是这样)。因此,与您的监视器和图形设置相关的任何视频设置都将是“不同的”(来自/user的设置)。
所以,如果我要猜测的话,我会说是一般的“图形错误”(因为我不知道足够的信息)。
我建议通过以“Ubuntu 2D”(作为Unity)或“Gnome Classic(无特效)”登录进行故障排除,然后看看2D环境是否也会崩溃。
如果它们仍然崩溃,在下一个成功登录时通过更改窗口管理器来解决问题。
sudo dpkg-reconfigure gdm
前提是您已安装了Gnome管理器。 请注意:这当然只是我尝试推断问题的方法。
对我来说唯一有意义的是,某种方式它不会释放视频或设备。
其他想法包括->移除额外的USB设备(我个人曾因不同的USB设备而遇到奇怪的冻结,有一次是摄像头)。
让我知道...

请问您的电脑规格是什么?
1. 打开“系统监视器” 2. 点击“系统”选项卡 3. 在“硬件”下,复制并粘贴“内存”和“处理器”信息
或者,您也可以附上“系统监视器”的截图。
我认为您的电脑经常卡顿是因为在“切换”账户时,系统负荷过大。这通常发生在配置较低的电脑上。根据您已经发布的信息,看起来您的电脑确实配置较低(显卡“芯片组:AMD Radeon HD 6410D”性能较低)。
下次在切换账户之前,请先注销一个账户再登录另一个账户。这样,您的电脑资源就不会被未使用的账户锁定。
我相信这种方法可以避免系统冻结。
如果您更喜欢“切换”账户而不是注销再登录另一个账户,您需要升级您的电脑或购买一台配置更高/性能更好的新电脑。

这个不应该被列为答案,而是应该作为对原问题的评论。 - Anthony

没有密码的账户可能会导致锁定账户授权存在特殊问题。我不是指LightDM登录界面,那个对空密码可以正常工作。锁定账户授权是在屏幕保护或类似情况下,或者在切换用户时用户焦点被转移后发生的情况。它简单地不知道如何处理空密码或者如何应对这种情况。
我建议将所有孩子账户的密码更改为类似"abc"之类的密码,并重新测试。
我不确定这是否是问题,因为正常情况下它表现为一旦你从账户切换出去就完全无法再回到该账户,但是我肯定认为如果能让锁定账户验证过程有些东西可以处理的话,这会让你的生活变得容易得多。

ALT-SysReq-k(或ALT-PrintScreen-k)替代了CTRL-ALT-BKSP来重新启动Xorg,但并不能解决问题。我每次都会回到一个空白屏幕。
从11.10升级到12.10的do-release-upgrade大大减少了Xorg不可避免的空白屏幕情况的发生。

我猜你是用无线网络连接挂载的共享文件夹。登出会断开你的无线连接,并导致Linux系统卡住。你可以等待它超时(有时需要几分钟)。
除了手动卸载,没有真正的解决办法。
此外,ATI显卡一直对虚拟终端切换非常挑剔。你可能碰到了这个bug,尽管这不会导致系统卡住,只会让屏幕变黑,直到你重新启动才能恢复。