Chtěl bych vynutit vypnutí obrazovky a nechat ji prázdnou bez ohledu na to, co dělám s klávesnicí a myší, dokud neobdrží příkaz k odblokování (něco jako zámek).
Známé příkazy jsou:
xset dpms force off
sleep 2
xset dpms force on
Chci, aby se vyprázdnil pouze na dvě sekundy a pak se vyprázdnil, ale chci, aby po tyto dvě sekundy zůstal prázdný bez ohledu na to, co se děje. Dá se to udělat?
Přijatá odpověď:
Na určitou dobu můžete pouze deaktivovat klávesnici a myš. Nejprve získejte ID klávesnice a myši:
$ 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)]
Mám k počítači připojeny různé věci a používám notebook, takže výstup xinput --list
je velmi dlouhá. Pro přehlednost jsem to zde zredigoval. Musíte zjistit, jaká jsou ID zařízení, která potřebujete deaktivovat. V mém případě to byly 14
a 11
.
Nyní vypněte obrazovku, deaktivujte klávesnici a myš, počkejte 2 sekundy a vše znovu zapněte:
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
V mém systému SIGMACHIP USB
odpovídá více než jednomu zařízení. Z nějakého důvodu je také identifikován jako myš. Chcete-li si být 100% jisti, že získáte správná zařízení, můžete jejich třídu přidat před jejich jméno:
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