Не удалось закрыть 13.04

Для тех, кто использует скринсейвер, отличный от gnome-screensaver (который является заставкой по умолчанию в Ubuntu, начиная с версии 11.10), этот ответ может быть полезен.

Лично я не менял gnome-screensaver для чего-то еще, и я не знаю, по каким причинам Caffeine не работает для меня каким-либо образом (может быть, устарел).

Как говорится, начиная с других сценариев bash ( этот ответ , это и это), мне удалось создать новый скрипт gnome_screensaver_off.sh, который отлично работает для того, что я намеревался, когда YouTube использует Flash Player для рендеринга видео.

] Отключите gnome-screensaver, когда 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
mkdir -p bin - эта команда сделает каталог bin в вашей папке home, если у вас его еще нет. Вернитесь в терминал и запустите: chmod +x gnome_screensaver_off.sh - чтобы предоставить доступ для выполнения сценария. gedit ~/bin/gnome_screensaver_off.sh - это создаст новый файл gnome_screensaver_off.sh в gedit.

Если вы предпочитаете, вы можете установить этот сценарий для запуска при входе в систему, выполнив следующее:

Поиск в Dash для приложений для запуска, откройте его и нажмите «Добавить». Под названием «Монитор YouTube» или что-то, что вы узнаете. Под командой введите «/home/$USER/bin/gnome_screensaver_off.sh» (измените $ USER с вашим именем пользователя). Под комментарием (если хотите) введите краткое описание (например, «Стоп-экран отключается, когда Flash-плеер запущен в браузере»).

Отключить gnome-screensaver, пока YouTube использует HTML5-плеер

Вопрос остается открытым в этом смысле ...

Спасибо за предложения, предлагаемые: fossfreedom, Meer Borg, njallam, desgua и др.

1
задан 4 May 2013 в 15:25

0 ответов

Другие вопросы по тегам:

Похожие вопросы: