Для тих, хто використовує заставку, відмінну від заставки gnome (це заставка за замовчуванням в Ubuntu, починаючи з версії 11.10), ця відповідь може бути корисною.
Особисто я не змінював заставки gnome на щось інше, і, не знаю, з яких причин, кофеїн не працює для мене жодним чином (можливо, застарів).
Це, як було сказано, починаючи з чужих баш-сценаріїв ( це , це та це ), мені вдалося створити новий сценарій, gnome_screensaver_off.sh
який ідеально підходить для того, що я задумав, коли YouTube використовує Flash Player для відтворення відео.
Вимкніть заставку гнома, коли YouTube використовує Flash-плеєр
Відкрийте термінал і запустіть наступні команди з наступними інструкціями:
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 та інші.