Как предотвратить затемнение экрана или запуск блокировки экрана при просмотре YouTube? - proUbuntu
Винтажный Клуб для гитаристов
100 голосов
/

Моя яркость экрана уменьшалась через несколько секунд для сохранения заряда батареи. Это по умолчанию в Ubuntu 12.04. Однако при просмотре видео оно не должно тускнеть.

Это работает правильно, когда я смотрю видео с помощью собственных приложений, таких как VLC. Однако при просмотре видео в браузере экран не защищен от затемнения. Это очень раздражает, так как вы должны перемещать курсор каждые 10 секунд или около того.

Раньше я использовал Mac OSX, где у меня были те же настройки затемнения, и Flash-видео были учтены правильно.

Кто-нибудь знает, как сделать так, чтобы YouTube предотвращал затемнение экрана?

Ответы [ 20 ]

54 голосов
/

HOWTO: отключить заставку во время работы Flash

Запустите следующую команду в терминале:

mkdir -p ~/bin

Откройте gedit или предпочитаемый текстовый редактор и введите:

#!/bin/bash

# Cleanup any bad state we left behind if the user exited while flash was
# running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true

we_turned_it_off=0

while true; do
    sleep 60
    flash_on=0

    for pid in `pgrep firefox` ; do
        if grep libflashplayer /proc/$pid/maps > /dev/null ; then
            flash_on=1
        fi

        ss_on=`gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`

        if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
                --type bool false
            we_turned_it_off=1
        elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] \
                && [ "$we_turned_it_off" = "1" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
                --type bool true
            we_turned_it_off=0
        fi

    done
done

Сохранить этот файл как ~/bin/flash_saver.sh.

Вернитесь в терминал и запустите:

chmod +x ~/bin/flash_saver.sh

Для запуска перейдите в терминал и введите:

~/bin/flash_saver.sh

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

  1. Запустить программу «Запуск приложений»
  2. Нажмите «Добавить»
  3. Под именем типа "FlashMonitor" или что-то, что вы узнаете
  4. Под типом команды ~/bin/flash_saver.sh
  5. Под комментарием (если хотите) введите краткое описание. Например. «Останавливает выключение экрана во время работы Flash»

Источник: HOWTO: отключить заставку во время работы Flash - ubuntuforums

31 голосов
/

EDIT

Это, вероятно, не будет работать, если вы используете версию Ubuntu новее, чем 12.04 (пробовали в 13.04 и 13.10, и она просто не работает вообще). Похоже, что главный разработчик больше не работает в этом проекте, поэтому шансы на его исправление невелики.


В моей системе (Ubuntu 11.10) я использую Кофеин . Вы можете попробовать, если он работает в Xubuntu тоже. Он добавляет значок области уведомлений, где вы можете включить / отключить заставку для некоторых программ. Чтобы установить Caffeine, сделайте следующее:

sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine

Затем выполните в терминале:

caffeine -p &

Затем вы можете выбрать программы, которые должны отключить заставку:
vlc для VLC, mplayer для Movie Player и т. Д.

Caffeine Preferences

Надеюсь, это поможет.

14 голосов
/

На GitHub есть замечательный небольшой скрипт с именем lightsOn , который должен выполнить то, что вам нужно.

По сути, он ищет полноэкранное видео (flash в Firefox или Chromium, Mplayer или VLC) и, если это так, отключает xscreensaver, а также возможность автоматического затемнения диспетчера мощности.

из самого скрипта:

HOW TO USE: Start the script with the number of seconds you want the checks
for fullscreen to be done. Example:
 "./lightsOn.sh 120 &" will Check every 120 seconds if Mplayer,
 VLC, Firefox or Chromium are fullscreen and delay screensaver and Power Management if so.
 You want the number of seconds to be ~10 seconds less than the time it takes
 your screensaver or Power Management to activate.
 If you don't pass an argument, the checks are done every 50 seconds.

Таким образом, вызовите скрипт из вашей папки автозапуска как для моего ответа здесь .

Настройте скрипт для запуска flash / vlc / mplayer

не забудьте дать сценарию права на выполнение, т. Е.

chmod +x lightsOn.sh
10 голосов
/

Не совсем то, что вам нужно, но этот маленький скрипт регистрирует движение мыши при каждом запуске. Вы можете бросить его в cron, чтобы запускать каждый раз по x времени. Это помешало бы выключению экрана, и движение мыши почти не заметно, если оно работает, когда вы НЕ смотрите видео

#!/bin/bash
#move the mouse
xte 'mousermove 1 1' 

Кстати, я полностью понял эту идею из комикса xkcd. http://xkcd.com/196/

7 голосов
/

Для предварительно свернутого эквивалента сценария, поставляемого @njallam, с аккуратным небольшим элементом пользовательского интерфейса Gnome, попробуйте апплет Caffeine:

https://launchpad.net/caffeine
http://ubuntu -tweak.com / приложение / кофеин /

6 голосов
/

В Webupd8 была статья о Caffeine и Lightson.sh, чтобы отключить заставку во время воспроизведения видео Flash или HTML5. Скрипт Lightson работает как для Firefox, так и для Chrome и может включать VLC. Я надеюсь, что это поможет.

В случае, если код, предоставленный Webupd8 для установки скрипта, выглядит следующим образом:

mkdir -p ~/scripts && cd ~/scripts

wget https://raw.github.com/hotice/lightsOn/master/lightsOn.sh

chmod +x lightsOn.sh
5 голосов
/

Следует проверять не только параметры экранной заставки, но и параметры управления питанием, особенно параметр «Перевести дисплей в спящий режим, если он неактивен для ...».

Обратите внимание, что на ноутбуках есть две настройки с таким именем: когда ноутбук работает от сети переменного тока и когда он работает от батареи.

2 голосов
/

Немного старый, но здесь с поддержкой нескольких браузеров:

#!/bin/bash -eu

# List your browsers here
browsers_list=( "firefox" "chrome" "chromium" "opera" )

# Cleanup any bad state we left behind if the user exited while flash was running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true

idle_off=0

while true; do

    sleep 60

    for browser in "${browsers_list[@]}" ; do
    for pid in `pgrep $browser` ; do

        flash_on=0
        if [ -O /proc/$pid/maps ] && grep libflashplayer /proc/$pid/maps > /dev/null ; then
            flash_on=1
        fi

        ss_on=`gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`

        if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool false
            idle_off=1
        elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] && [ "$idle_off" = "1" ]; then
            gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true
            idle_off=0
        fi

    done
    done

done

Просто сохраните где-нибудь скрипт, chmod +x и добавьте его в StartupApplications. Там может быть способ перечислить все доступные браузеры, используя что-то вроде:

update-alternatives --list x-www-browser

Но я не знаю, как справиться с тем фактом, что некоторые исполняемые файлы не имеют имен, чем их процессы (например, /usr/bin/google-chrome работает как chrome).

2 голосов
/

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

Лично я не менял скринсейвер gnome на что-то другое, и, я не знаю, по каким причинам, кофеин не работает для меня никоим образом (возможно, устарел).

Как говорится, начиная с других скриптов 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.

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

  1. Поиск в Тире для Запуск приложений , откройте его и нажмите Добавить .
  2. Под именем "YouTube Monitor" или что-то, что вы узнаете.
  3. Под командой введите "/home/$USER/bin/gnome_screensaver_off.sh" (измените $ USER на свое имя пользователя).
  4. Под комментарием (если хотите) введите краткое описание (например, «Останавливает выключение экрана, когда проигрыватель Flash запущен в браузере»).

Отключить заставку gnome, пока YouTube использует HTML5 player

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

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

2 голосов
/

Использование кофеина: страница ppa .

Как установить:

sudo apt-add-repository ppa:caffeine-developers/ppa 
sudo apt-get update
sudo apt-get install caffeine

Как запустить:

  1. Нажмите Alt + F2 , затем введите caffeine.

  2. Нажмите значок «Кофеин», затем нажмите «Отключить заставку».

Добро пожаловать на сайт proUbuntu, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...