使用 xinput --disable <device>
切換觸摸板會終止使用者會話
$$ Host running Arch linux 5.11.12-arch1-1 with gdm on Xorg. $$
多年來,只要我有一個活動的終端會話,我就可以直接從鍵盤或 cli 即時禁用/啟用我的觸摸板。我通過按下一個組合鍵來執行此操作,該組合鍵綁定到現在在網路上幾乎隨處可見的小腳本的執行,或者通過在終端中發出所述腳本中心的兩個 cmds 之一:
$ /usr/bin/xinput --disable 14 $ /usr/bin/xinput --enable 14
其中 14 是我的筆記型電腦觸摸板的 xorg 特定設備 ID。xorg-xinput 版本為 1.6.3-2,於 2020.05.19 從 1.6.3-1 升級。
現在,只要發出兩個 cmd 中的任何一個,使用者會話就會連同其中的所有內容一起退出。主機恢復為 USER 提供一個新的 gdm 登錄螢幕。
在網路和 SE 知識庫中找不到類似的問題。
xorg
在完全合法的相關 cmd (xinput
) 與 X 或gdm
崩潰之間,這似乎是一個奇怪的混淆。任何指針任何人?
這很可能是 X 伺服器 (
xorg-server
) 崩潰。coredump的systemd
日誌跟踪是針對同一引導上的兩個崩潰事件。堆棧跟踪始終包括:Stack trace of thread 3428: #0 0x00007f1c5e6b9ef5 raise (libc.so.6 + 0x3cef5) #1 0x00007f1c5e6a3862 abort (libc.so.6 + 0x26862) #2 0x00005625301406ea OsAbort (Xorg + 0x14a6ea) #3 0x00005625301421b1 FatalError (Xorg + 0x14c1b1) #4 0x0000562530147e09 n/a (Xorg + 0x151e09) #5 0x00007f1c5e6b9f80 __restore_rt (libc.so.6 + 0x3cf80) #6 0x00007f1c5051efd0 libinput_device_config_send_events_get_modes (libinput.so.10 + 0x11fd0) #7 0x00007f1c5058a139 n/a (libinput_drv.so + 0x9139) #8 0x00007f1c5058ea19 n/a (libinput_drv.so + 0xda19) #9 0x0000562530105a87 XIChangeDeviceProperty (Xorg + 0x10fa87) #10 0x00005625301066af n/a (Xorg + 0x1106af) #11 0x0000562530030195 n/a (Xorg + 0x3a195) #12 0x00007f1c5e6a4b25 __libc_start_main (libc.so.6 + 0x27b25) #13 0x00005625300305de _start (Xorg + 0x3a5de)
xf86-input-libinput
驅動程序似乎涉及一些記憶體損壞,最終導致崩潰(請參閱此處的討論)。值得一提的是,2021.04.09 是我第一次注意到這個問題的時候。它恰逢
gdm
+ linux 核心/標頭檔正在升級(來自 /var/log/pacman.log)。不過,它可能與xf86-input-libinput
幾天前的重大升級同時發生:[2021-04-06T15:52:54+0200] [ALPM] upgraded xf86-input-libinput (0.30.0-1 -> 1.0.0-1) [2021-04-09T08:29:29] [ALPM] upgraded linux (5.11.11.arch1-1 -> >> 5.11.12.arch1-1)
編輯:我恢復了更多與 Gnome 相關的內容,這些內容在問題首次出現時在時間視窗中註冊了升級:
$ cat /var/log/pacman.log | grep upgraded | grep -e "2021-04-06\|2021-04-07\|2021-04-08\|2021-04-09" | grep -E " g.*" [2021-04-09T08:29:30] [ALPM] upgraded glib2 (2.68.0-5 -> 2.68.1-1) [2021-04-09T08:29:30] [ALPM] upgraded gsettings-desktop-schemas (40.0-2 -> 40.0-3) [2021-04-09T08:29:30] [ALPM] upgraded gnome-session (3.38.0+14+g87d92fec-1 -> 40beta+4+gd44888fb-1) [2021-04-09T08:29:30] [ALPM] upgraded gst-plugins-bad-libs (1.18.4-3 -> 1.18.4-4) [2021-04-09T08:29:30] [ALPM] upgraded gnome-settings-daemon (3.38.1-1 -> 40.0-1) [2021-04-09T08:29:30] [ALPM] upgraded gnome-shell (1:3.38.4-1 -> 1:40.0-1) [2021-04-09T08:29:30] [ALPM] upgraded gdm (3.38.2.1-1 -> 40.0-1) [2021-04-09T08:29:30] [ALPM] upgraded gnome-clocks (40.0-1 -> 40.0-2) [2021-04-09T08:29:30] [ALPM] upgraded gst-plugins-bad (1.18.4-3 -> 1.18.4-4) [2021-04-09T08:29:31] [ALPM] upgraded gnome-control-center (3.38.5-1 -> 40.0-1) [2021-04-09T08:29:31] [ALPM] upgraded gnome-notes (40.0-1 -> 40.0-2) [2021-04-09T08:29:31] [ALPM] upgraded gnome-panel (3.38.0-1 -> 3.40.0-1) [2021-04-09T08:29:31] [ALPM] upgraded gnome-shell-extensions (3.38.2-1 -> 40.0-1) [2021-04-09T08:29:31] [ALPM] upgraded gnome-tweaks (3.34.1-1 -> 40.0-1)
這個問題在我的平台上完全可以重現,我在這裡將它作為一個錯誤送出。一切似乎都指向一個
libinput
驅動程序錯誤,該錯誤僅在使用xinput
.