X11

我可以強制螢幕空白並忽略輸入嗎?

  • September 21, 2018

我想強制我的螢幕空白,無論我用鍵盤和滑鼠做什麼,它都保持空白,直到它收到取消空白的命令(有點像鎖)。

我知道的命令是:

xset dpms force off
sleep 2
xset dpms force on

我只希望它空白兩秒鐘然後取消空白,但無論如何我希望它在這兩秒鐘內絕對保持空白。這可以做到嗎?

您可以在此期間禁用鍵盤和滑鼠。首先,獲取您的鍵盤和滑鼠 ID:

$ xinput --list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Logitech M325                             id=14   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
   ↳ SIGMACHIP USB Keyboard                    id=11   [slave  keyboard (3)]

我有各種各樣的東西連接到我的機器並且正在執行筆記型電腦,所以輸出xinput --list很長。為了清楚起見,我在這裡對其進行了編輯。您需要弄清楚需要禁用的設備的 ID 是什麼。就我而言,它們是1411

現在,關掉你的螢幕,禁用你的鍵盤和滑鼠,等待 2 秒鐘,然後重新打開一切:

xinput set-prop 'Logitech M325' 'Device Enabled'  0 &&
xinput set-prop 'SIGMACHIP USB Keyboard' 'Device Enabled' 0 &&
xset dpms force off &&
sleep 2 &&
xinput set-prop 'Logitech M325' 'Device Enabled' 1 &&
xinput set-prop 'SIGMACHIP USB Keyboard' 'Device Enabled' 1 &&
xset dpms force on

在我的系統上,SIGMACHIP USB匹配多個設備。由於某種原因,它也被辨識為滑鼠。為了 100% 確定獲得正確的設備,您可以在他們的名字前面加上他們的類:

xinput set-prop 'pointer:Logitech M325' 'Device Enabled'  0 &&
xinput set-prop 'keyboard:SIGMACHIP USB Keyboard' 'Device Enabled' 0 &&
xset dpms force off &&
sleep 2 &&
xinput set-prop 'pointer:Logitech M325' 'Device Enabled' 1 &&
xinput set-prop 'keyboard:SIGMACHIP USB Keyboard' 'Device Enabled' 1 &&
xset dpms force on

引用自:https://unix.stackexchange.com/questions/266274