xbindkeys
X에서 모니터를 켜거나 끄려면 키를 바인딩하려고합니다 (을 사용하여 ). 지금 까지이 스크립트에 키를 바인딩했습니다.
#!/bin/bash
MOUSE="Logitech USB-PS/2 Optical Mouse"
if [[ ! -z $(xset q | grep "Monitor is On") ]]; then
logger "Turning off display"
xinput disable "$MOUSE"
xset s 2 2
xset dpms force off
else
logger "Turning on display"
xinput enable "$MOUSE"
xset s 3600 3600
xset dpms force on
fi
이것은 거의 완벽하게 작동합니다. 화면이 켜져 있으면 마우스가 비활성화되고 (실수로 깨우지 않도록) 공백 시간을 2 초로 설정하고 (일어나면 깨우는 경우) 화면을 끕니다. 꺼져 있으면 이전 설정을 복원하고 화면을 다시 켭니다.
불행히도 실제로 키에 바인딩되어 있으면 작동하지 않는 것 같습니다. 항상 화면이 켜져 있다고 생각합니다. 키를 누르면 다시 켜고 스크립트가 다시 꺼지기 때문입니다.
키보드를 완전히 비활성화 (다시 켜기가 어려워 짐)를 제외하고 키를 누를 때 화면이 자동으로 켜지지 않도록하는 방법을 찾을 수 없습니다.
화면이 켜지거나 꺼질 때마다 스크립트를 실행할 수 있다면 더 나은 해결책이 될 것입니다. 그런 다음 스크립트에 바인딩 된 키뿐만 아니라 아무 키나 눌러 화면을 다시 켤 수 있습니다.