Все мы иногда посматриваем видосы на
youtube и на прочих видео сервисах, и приходится сталкиваться с проблемой
screensaver'a ну или перехода монитора в ждущий режим. По началу я использовал
caffeine, да и в Arch'e была идея его установить, но он захотел с собой потащить кучу ненужного хлама(зависимостей). Немного погуглив, я нашел годное решение.
Оказывается, нам нужен небольшой скрипт, который будет смотреть есть ли
flashplugin в процессах и искать окна открытые на полный экран. В
awesome есть более красивое решение [
https://www.linux.org.ru/forum/desktop/10729260].
Ну а теперь наш скрипт:
disable_dpms.sh
#!/bin/bash
dpmsOff()
{
xset s off
xset -dpms
}
dpmsOn()
{
xset s on
xset +dpms
}
checkScreen()
{
#FullScreen window detect
win_id_list=`xprop -root _NET_CLIENT_LIST | sed -e 's/.*\#//g' | sed 's/\,/ /g'`
for win_id in $win_id_list
do
#get windows state
WinFullScreen=`DISPLAY=:0 xprop -id $win_id | grep _NET_WM_STATE_FULLSCREEN`
if [[ "$WinFullScreen" = *NET_WM_STATE_FULLSCREEN* ]];then
return 1
fi
done
#flashplayer detect
if [ -n "`pgrep -f flashplayer.so`" ] || [ -n "`pgrep -f pepperflash.so`" ] ;then
return 1
fi
return 0
}
while pgrep -f "Xorg" > /dev/null; do
checkScreen
result=$?
if [[ $result -eq 1 ]]; then
dpmsOff
else
dpmsOn
fi
sleep 60
done
Ссылка на
github https://github.com/clsv/disable_dpms/blob/master/disable_dpms.sh
Делаем его запускаемым
chmod +x disable_dpms.sh
и добавляем в автозагрузку, и теперь выключение экрана не помешает просмотру видео.
Комментарии ()