Для тех, кто использует заставку, отличную от gnome-screensaver (которая является заставкой по умолчанию в Ubuntu, начиная с версии 11.10), этот ответ может быть полезен.
Лично я не поменял гном-заставку на что-то другое, и, я не знаю, по каким причинам, кофеин у меня никак не работает (возможно, устарел).
Тем не менее, начиная с других скриптов bash ( этого , этого и этого ), мне удалось создать новый скрипт, gnome_screensaver_off.sh
который идеально подходит для того, что я хотел, когда YouTube использует Flash Player для рендеринга видео.
Отключить заставку gnome, когда YouTube использует Flash player
Откройте терминал и выполните следующие команды, следуя инструкциям:
mkdir -p bin
- эта команда создаст bin
каталог в вашей home
папке, если у вас его еще нет.
gedit ~/bin/gnome_screensaver_off.sh
-это создаст новый файл gnome_screensaver_off.sh
в gedit.
- Скопируйте и вставьте туда следующий скрипт:
#!/bin/bash
# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)
screensaver_is_off=0
delay=$[$back - 10]
# Defining the restore function
function restore {
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac $back
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery $back
gsettings set org.gnome.desktop.session idle-delay $back
bmin=$[$back / 60]
#notify-send "Screen sleep time restored to $bmin minutes."
notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time restored to $bmin minutes."
}
# Defining the disable_screensaver function
function disable_screensaver {
# Making sure the user don't mess up...
trap 'restore && exit 0' INT HUP
# Disabling sleep time
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 0
gsettings set org.gnome.desktop.session idle-delay 0
notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time turned off."
}
while true; do
if [ "$delay" -le "50" ]; then
sleep 50
else
sleep $delay
fi
flash_on=0
#Check if Chrome, Chromium or Firefox is open with a flash video running on it
if pgrep -lfc ".*((c|C)hrome|chromium|firefox|).*flashp.*" > /dev/null ; then
flash_on=1
else
flash_on=0
fi
if [ "$flash_on" -eq "1" ] && [ "$back" -ne "0" ] && [ "$screensaver_is_off" -eq "0" ]; then
disable_screensaver
screensaver_is_off=1
elif [ "$flash_on" -eq "0" ] && [ "$screensaver_is_off" -eq "1" ]; then
restore
screensaver_is_off=0
fi
done
exit 0
- Сохраните файл и закройте его.
- Вернитесь в терминал и запустите:
chmod +x gnome_screensaver_off.sh
- для предоставления доступа к исполнению для скрипта.
- Чтобы запустить новый скрипт, запустите
~/bin/gnome_screensaver_off.sh
.
Если вы предпочитаете, вы можете настроить этот скрипт для запуска при входе в систему, выполнив следующие действия:
- Поиск в Dash для запуска приложений , откройте его и нажмите кнопку Добавить .
- Под именем типа «Монитор YouTube» или что-то вы узнаете.
- Под командой введите "/home/$USER/bin/gnome_screensaver_off.sh" (измените $ USER на свое имя пользователя).
- Под комментарием (если хотите) введите краткое описание (например, «Остановка отключения экрана, когда Flash Player работает в браузере»).
Отключить заставку gnome, пока YouTube использует проигрыватель HTML5
Вопрос остается открытым в этом смысле ...
Спасибо за предложения, предложенные: Fossfreedom , Meer Borg , Njallam , Desgua и другими.