我使用内核版本5.12.13和LXQt的Void,并希望使用XScreenSaver 6.01锁定屏幕。
但是,在xscreensaver-auth屏幕上写密码是相当困难的,因为每次使用Shift键大写时,XScreenSaver都会滞后。让我给您更多的信息:当屏幕保护程序显示时,我按一个键获得密码提示。大约5秒的第一个延迟就会发生。(它不知道这个是否与其他人有关。)我可以在没有问题的情况下输入小写密码,但只要我一按Shift (或大写锁键),我的PC (显示器和鼠标)就会延迟大约5秒,然后才能输入大写键。当我释放Shift键(或禁用caps锁键)时,也会发生同样的现象。
可能有一个错误在一个或另一个进程,但我无法识别的错误。它似乎与我的键盘布局(一个法国键盘)没有关系,因为它对美国键盘也有同样的作用。在XScreenSaver之外,Shift和caps锁键工作正常。我没有任何问题,我的图形卡显示屏幕保护程序很好。
下面是使用xscreensaver选项启动--verbose时所写内容的摘录:
xscreensaver-auth: 19:50:34: initial effective uid/gid was root/user (0/1000)
xscreensaver-auth: 19:50:34: changed uid/gid to user/user (1000/1000)
xscreensaver-auth: 19:50:34: running as user "user"
xscreensaver-auth: 19:50:34: PAM: pam_start ("xscreensaver", "user", ...) ==> 0 (Succès)
xscreensaver-auth: 19:50:34: pam_set_item (p, PAM_TTY, ":0") ==> 0 (Succès)
xscreensaver-auth: 19:50:34: pam_authenticate (...) ...
xscreensaver-auth: 19:50:34: pam_conversation (ECHO_OFF="Mot de passe : ") ...
xscreensaver-auth: 19:50:34: theme: default
xscreensaver-auth: 19:50:38: kbd layout: French
xscreensaver-auth: 19:50:38: mouse is at 719,577 on monitor 0 1600x900+0+0 "eDP1"
xscreensaver-auth: 19:50:38: re-creating window: size changed
xscreensaver-auth: 19:50:39: XI RawKeyPress
xscreensaver-auth: 19:50:39: XKB event 2
xscreensaver-auth: 19:50:43: kbd layout: French
xscreensaver-auth: 19:50:44: XI RawKeyPress
xscreensaver-auth: 19:50:44: XI RawKeyRelease
xscreensaver-auth: 19:50:44: XI RawKeyPress
xscreensaver-auth: 19:50:44: XI RawKeyRelease
xscreensaver-auth: 19:50:44: XI RawKeyPress
xscreensaver-auth: 19:50:44: XI RawKeyRelease
xscreensaver-auth: 19:50:45: XI RawKeyPress
xscreensaver-auth: 19:50:45: XI RawKeyRelease
xscreensaver-auth: 19:50:45: XI RawKeyPress
xscreensaver-auth: 19:50:45: XI RawKeyRelease
xscreensaver-auth: 19:50:45: XI RawKeyRelease
xscreensaver-auth: 19:50:45: XKB event 2
xscreensaver-auth: 19:50:49: kbd layout: French在19:50:39,我按Shift键,在19:50:45,我释放它。
系统日志是在这页面的帮助下启用的,但是svlogtail在延迟期间不显示任何内容。
/var/log/Xorg.0.log --这是在启动屏幕保护程序之后显示的:
[ 18271.902] (EE) event5 - Logitech M215: client bug: event processing lagging behind by 4021ms, your system is too slow
[ 18271.902] (EE) client bug: timer event5 debounce: scheduled expiry is in the past (-3996ms), your system is too slow
[ 18271.902] (EE) client bug: timer event5 debounce short: scheduled expiry is in the past (-4009ms), your system is too slow
[ 18280.862] (II) event0 - AT Translated Set 2 keyboard: SYN_DROPPED event - some input events have been lost.
[ 18302.431] (II) event0 - AT Translated Set 2 keyboard: SYN_DROPPED event - some input events have been lost.Logitech M215是我的老鼠。
有什么想法吗?
发布于 2022-01-31 11:51:07
我在DebianBook蠕虫上观察到了类似的问题,xscreensaver版本6.02+dfsg1-2。这不是一个5秒的延迟,它在毫秒范围内,但这是足够的,xscreensaver一再删除我的大写密码字母,这让我非常恼火。这不是在5.45发生的。
其他谈话地点:https://github.com/Zygo/xscreensaver/issues/11
这可能是由xinput.c,xinput_event_to_xlib_1引起的,它有解释种族的评论:
The closest thing to actual documentation on XInput2 seems to be a series
of blog posts by Peter Hutterer. There's basically nothing about it on
www.x.org. In http://who-t.blogspot.com/2009/07/xi2-recipes-part-4.html
he says:
"XIDeviceEvent [...] contains the state of the modifier keys [...]
The base modifiers are the ones currently pressed, latched the ones
pressed until a key is pressed that's configured to unlatch it (e.g.
some shift-capslock interactions have this behaviour) and finally
locked modifiers are the ones permanently active until unlocked
(default capslock behaviour in the US layout). The effective modifiers
are a bitwise OR of the three above - which is essentially equivalent
to the modifiers state supplied in the core protocol events."
However, I'm seeing random noise in the various XIDeviceEvent.mods fields.
Nonsensical values like base = 0x6045FB3D. So, let's poll the actual
modifiers from XQueryPointer. This can race: maybe the modifier state
changed between when the server generated the keyboard event, and when
we receive it and poll. However, if an actual human is typing and
releasing their modifier keys on such a tight timeframe... that's
probably already not going well.
I'm also seeing random noise in the event_xy and root_xy fields in
motion events. So just always use XQueryPointer.我有带有“点击层”的键盘,这解释了“紧凑的时间框架”
编辑:经过一些调试,并与Jamie (xscreensaver作者)交换了几封电子邮件后,我(为我)修复了xinput.c中的D7。它可能以类似的或不同的方式固定在上游。同时,我将在链接的github上发布这个补丁(似乎在这里发布它很大)。
https://unix.stackexchange.com/questions/656475
复制相似问题