我可以强制屏幕空白并忽略输入吗?

Ces*_*ian 5 dpms x11 screen-lock xset

我想强制我的屏幕为空白,并使其保持空白,无论我使用键盘和鼠标做什么,直到它收到取消空白的命令(有点像锁)。

我知道的命令是:

xset dpms force off
sleep 2
xset dpms force on
Run Code Online (Sandbox Code Playgroud)

我只希望它空白两秒钟然后取消空白,但无论如何我希望它在这两秒钟内绝对保持空白。这可以做到吗?

ter*_*don 1

您可以禁用键盘和鼠标在此期间首先,获取您的键盘和鼠标 ID:

\n\n
$ xinput --list\n\xe2\x8e\xa1 Virtual core pointer                      id=2    [master pointer  (3)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Logitech M325                             id=14   [slave  pointer  (2)]\n\xe2\x8e\xa3 Virtual core keyboard                     id=3    [master keyboard (2)]\n    \xe2\x86\xb3 SIGMACHIP USB Keyboard                    id=11   [slave  keyboard (3)]\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的机器上连接了各种东西,并且正在运行笔记本电脑,因此输出xinput --list很长。为了清楚起见,我在这里对其进行了编辑。您需要弄清楚需要禁用的设备的 ID 是什么。就我而言,他们是14并且11

\n\n

现在,关闭屏幕,禁用键盘和鼠标,等待 2 秒钟,然后再次打开所有内容:

\n\n
xinput set-prop \'Logitech M325\' \'Device Enabled\'  0 &&\nxinput set-prop \'SIGMACHIP USB Keyboard\' \'Device Enabled\' 0 &&\nxset dpms force off &&\nsleep 2 &&\nxinput set-prop \'Logitech M325\' \'Device Enabled\' 1 &&\nxinput set-prop \'SIGMACHIP USB Keyboard\' \'Device Enabled\' 1 &&\nxset dpms force on\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的系统上,SIGMACHIP USB匹配多个设备。由于某种原因,它也被识别为鼠标。为了 100% 确定获得正确的设备,您可以将它们的类添加到它们的名称前面:

\n\n
xinput set-prop \'pointer:Logitech M325\' \'Device Enabled\'  0 &&\nxinput set-prop \'keyboard:SIGMACHIP USB Keyboard\' \'Device Enabled\' 0 &&\nxset dpms force off &&\nsleep 2 &&\nxinput set-prop \'pointer:Logitech M325\' \'Device Enabled\' 1 &&\nxinput set-prop \'keyboard:SIGMACHIP USB Keyboard\' \'Device Enabled\' 1 &&\nxset dpms force on\n
Run Code Online (Sandbox Code Playgroud)\n