这个问题我已经有一段时间了,但不知道如何调试它,所以我将在这里报告详细信息:
每当我连接 USB 网络摄像头、Wacom 图形输入板或蓝牙耳机时,xorg 主进程开始使用大约 50% 的 CPU 使用率,同时输入设备开始表现异常。键盘完全停止工作,鼠标仍然工作,但我无法点击任何地方(它没有反应,或者即使我点击里面它也会尝试移动窗口)。一些随机的东西,比如在工作区指示器上使用鼠标滚轮来切换仍然有效。
重新启动或断开设备并等待一段时间后一切恢复正常。
我正在使用带有 KDE 和 SDDM 的 Debian 测试。
显示与此.xsession-errors
无关。这/var/log/Xorg.0.log
有点奇怪,因为它提到检测键盘(但我认为这无关,因为 wacom 平板电脑的日志看起来很正常):
[ 652.297] (II) config/udev: Adding input device HD Pro Webcam C920 (/dev/input/event16)
[ 652.297] (**) HD Pro Webcam C920: Applying InputClass "libinput keyboard catchall"
[ 652.297] (II) Using input driver 'libinput' for 'HD Pro Webcam C920'
[ 652.297] (**) HD Pro Webcam C920: always reports core events
[ 652.297] (**) Option "Device" "/dev/input/event16"
[ 652.297] (**) Option "_source" "server/udev"
[ 652.298] (II) event16 - HD Pro Webcam C920: is tagged by udev as: Keyboard
[ 652.298] (II) event16 - HD Pro Webcam C920: device is a keyboard
[ 652.298] (II) event16 - HD Pro Webcam C920: device removed
[ 652.360] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-4/1-4:1.0/input/input25/event16"
[ 652.360] (II) XINPUT: Adding extended input device "HD Pro Webcam C920" (type: KEYBOARD, id 12)
[ 652.360] (**) Option "xkb_model" "pc105"
[ 652.360] (**) Option "xkb_layout" "de"
[ 652.360] (WW) Option "xkb_variant" requires a string value
[ 652.360] (WW) Option "xkb_options" requires a string value
[ 652.361] (II) event16 - HD Pro Webcam C920: is tagged by udev as: Keyboard
[ 652.361] (II) event16 - HD Pro Webcam C920: device is a keyboard
[ 721.766] (II) config/udev: removing device HD Pro Webcam C920
[ 721.766] (II) event16 - HD Pro Webcam C920: device removed
我在调试过程中注意到的更多事情:
- stace 没有帮助,因为在每秒数千行中发现任何“错误”就像大海捞针
- 它可能与这个错误无关,因为我使用的是更新的内核(5.2.0)并且有正常数量的设备
/dev/input
- 当我在一切挂起之前快速切换到 tty1 时,我可以在问题发生时正常使用它。
- 通过这种方式,我注意到了一些新的东西(就像在它发生之前 htop 冻结一样):
/usr/bin/kglobalaccel5
同时 CPU 使用率也很高
谜团解开了!
kglobalaccel5
使研究此错误变得更加容易,并且确实已在https://bugs.kde.org/show_bug.cgi?id=306352上进行了报告。我查看了我的主目录,确实有一个
.Xmodmap
(最后一次修改是 4 年前)在附近。我删除了它,重新启动后所有设备都可以正常工作了。