我有一台新的联想 Ideapad,运行 Xubuntu 22.04。它一直处于开机状态,偶尔会挂起。偶尔(例如每 2 或 3 天)鼠标按钮和键盘会停止工作。鼠标光标继续移动。我可以通过 ssh 连接到它,据我所知一切似乎都很好。“top”没有显示任何进程在做坏事,机器的空闲率约为 98%。
如果我关闭 Xorg 或 xfce-session,它会返回到登录屏幕,一切正常。(当然,我的所有应用程序都死了。)
因此它看起来不像是任何类型的硬件问题。
关于我可以采取哪些进一步调查措施,您有什么想法吗?或者有什么方法可以让我无需终止会话即可恢复?
按照@Daniel T 的要求记录信息:
dmesg:发生此事时唯一的消息是:
[Sun Feb 4 10:14:51 2024] perf: interrupt took too long (4990 > 4968), lowering kernel.perf_event_max_sample_rate to 40000
这看上去并不相关,特别是在其他时候也发生过类似的事情。
以下是我终止的 Xorg 实例的 Xorg.log 末尾的内容。我猜“事件 7”和后面几行是我终止该进程的结果。之前的 3 行反复出现,但似乎与发生的问题无关:
[140756.767] (II) modeset(0): EDID vendor "CMN", prod id 5456
[140756.767] (II) modeset(0): Printing DDC gathered Modelines:
[140756.767] (II) modeset(0): Modeline "1920x1080"x0.0 138.78 1920 1968 2000 2080 1080 1090 1096 1112 -hsync -vsync (66.7 kHz eP)
[140884.540] (II) event7 - Video Bus: device removed
[140884.572] (II) event1 - Power Button: device removed
[140884.596] (II) event5 - Optical Mouse: device removed
[140884.664] (II) event3 - CIRQ1000:00 0488:1014 Mouse: device removed
[140884.712] (II) event6 - Ideapad extra buttons: device removed
[140884.728] (II) event2 - AT Translated Set 2 keyboard: device removed
[140884.750] (II) UnloadModule: "libinput"
[140884.750] (II) UnloadModule: "libinput"
[140884.750] (II) UnloadModule: "libinput"
[140884.750] (II) UnloadModule: "libinput"
[140884.751] (II) UnloadModule: "libinput"
[140884.751] (II) UnloadModule: "libinput"
[140884.751] (II) UnloadModule: "synaptics"
[140884.836] (II) Server terminated successfully (0). Closing log file.
我可以从 ssh 会话运行 xeyes,它会出现,但眼睛不会跟随鼠标光标。奇怪的是,当我关闭 xeyes(Ctrl-C 或 pkill)时,它不会立即消失。有时,屏幕空白;有时眼睛在我移动鼠标时消失。恐怕很难准确描述这种行为。我想知道处理 X 事件是否存在大量(但随机)的延迟,我所感知的任何关联都是表面的,而不是真实的。有时眼睛需要很长时间才能出现;而且它们并不总是朝着同一个方向看——也许它们看的是它们认为鼠标当时所在的位置。(当机器没有处于这种“冻结”状态时,眼睛确实可以正确移动。我正在运行 Xorg;XDG_SESSION_TYPE=x11)
以下是 journalctl --user -r 的输出,在我注意到最新的“冻结”之前不久:
Feb 04 17:16:02 ideapad pkexec[17470]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_workarea: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:16:50 ideapad xfce4-screensav[13164]: gdk_monitor_get_workarea: assertion 'GDK_IS_MONITOR (monitor)' failed
Feb 04 17:18:50 ideapad pkexec[17531]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 17:19:43 ideapad pkexec[17535]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 17:21:34 ideapad xfce4-screensav[13164]: invalid uninstantiatable type '<unknown>' in cast to 'GSWindow'
Feb 04 17:38:28 ideapad pkexec[18153]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 17:43:20 ideapad pkexec[18170]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 17:55:13 ideapad pkexec[18457]: pam_unix(polkit-1:session): session opened for user root(uid=0) by (uid=1027)
Feb 04 18:02:10 ideapad sudo[18493]: pam_unix(sudo:session): session closed for user root
我已经将桌面切换到 gnome-session-flashback,看看是否有帮助。如果问题在 4 天后没有再次出现,我会认为它已经修复。如果有人有兴趣彻底解决这个问题,我很乐意尝试进一步的测试。
最后更新(可能):在 gnome-session-flashback 上运行了 8 天,问题没有再次出现。我很失望,没能找到 xfce 和 Ideapad 无法兼容的原因,但现在我还是会继续使用 gnome-session-flashback。(顺便说一句,我有一台运行 xfce 的旧戴尔 Latitude,没有问题。)再次感谢大家的意见。