获取输入时保持屏幕关闭

获取输入时保持屏幕关闭

我需要运行一组(图形基准屏幕已禁用。以下命令执行不是工作:

xset dpms force off

因为任何键盘/鼠标输入重新启用屏幕。其他选项如下:

xrandr --output eDP-1 --off

这将关闭屏幕一段时间第二然后,导致以下分段故障

gnome-shell[25737]: segfault at 8 ip 00007f3d02ef9210 sp 00007ffeee4e1fd8 error 4 in libmutter-2.so.0.0.0[7f3d02e99000+156000]

问题如何解决了? 有没有其他用户/内核级别的替代?


更新:

的输出xinput --list如下所示:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]
⎜   ↳ USBest Technology SiS HID Touch Controller    id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Asus Wireless Radio Control               id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=8    [slave  keyboard (3)]
    ↳ Video Bus                                 id=9    [slave  keyboard (3)]
    ↳ Sleep Button                              id=10   [slave  keyboard (3)]
    ↳ USB2.0 HD UVC WebCam: USB2.0 HD           id=12   [slave  keyboard (3)]
    ↳ Asus WMI hotkeys                          id=13   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=14   [slave  keyboard (3)]

PS:这个问题也在Unix StackExchange 网站Xorg 邮件列表

答案1

您可以使用 来禁用鼠标和键盘输入,xinput --list按名称和 ID 列出输入设备,然后xinput --disable device-or-id对每个真实的鼠标和键盘设备使用。要反向使用--enable

或者,您可以使用sudo evtest --grab /dev/input/eventN &其中 N 是输入设备的编号。抓取持续到过程中断为止。


另一个要尝试的方法是将屏幕设置为在 Xserver 中保持打开状态,然后ddccontrol通过 DDC I2C 总线直接与显示器通信。如果显示器被识别,您可以发出命令将其关闭。据推测,如果 Xserver 认为它仍然处于打开状态,它就不会尝试将其打开。

相关内容