Управление экраном / питанием во время использования мультимедиа [дубликат]

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

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

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

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

102
задан 8 February 2014 в 18:11

20 ответов

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. Запустите программу "Startup Applications"
  2. Щелкните "Add"
  3. Под именем типа "FlashMonitor" или что-то, что вы узнаете
  4. Под типом команды ~/bin/flash_saver.sh. sh
  5. Под комментарием (если хотите) введите краткое описание. Например, "Остановка выключения экрана во время работы Flash"

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

54
ответ дан 5 January 2021 в 23:59

VLC в этой PPA в дополнение к тому, что она является текущей версией VLC, также корректно реализует ингибирование экранной заставки.

Вы можете добавить эту PPA, используя эту команду

sudo add-apt-repository ppa:n-muench/vlc
1
ответ дан 4 January 2021 в 12:14

Би дараах скриптийг ашиглаж байна шийдэл:

#!/bin/bash
while true
do
   xdotool key Shift_L
   sleep 1m
done

Энэ нь зүүн ээлжийн товчлуурыг минут тутамд нэг удаа дарахад дууриаж, ингэснээр дэлгэц бүдэгрэхээс сэргийлдэг. Мэдээжийн сул тал бол та youtube үзэх болгондоо скриптийг ажиллуулах ёстой. Нөгөөтэйгүүр, энэ нь энгийн бөгөөд ихэнхдээ биш, ихэнх тохиргоонуудтай ажилладаг.

Та үүнийг суулгах хэрэгтэй байж магадгүй юм

sudo apt-get install xdotool
0
ответ дан 5 January 2021 в 23:59

Простейший неинтеллектуальный подход, не зависящий от рабочего стола и основанный на xdotool будет имитировать нажатие клавиши каждые N секунд.

Я использую сценарий под названием heartbeat.sh :

#!/bin/bash
while : 
do
    nice -n 1 xdotool key shift
    date +%T ## show some sign of life
    sleep 100
done

Я запускаю сценарий во время воспроизведения видео, а затем останавливаю его, когда он больше не нужен.

xdotool может быть установленным с помощью sudo apt-get install xdotool .

Если вы также хотите иметь какое-то автоматическое обнаружение звука, и , вас устраивает рецепт для PulseAudio, тогда ниже приведен вариант решения выше, которое проверяет, воспроизводится ли звук:

#!/bin/bash

while : 
do
    if [[ ! -z $(pacmd list-sink-inputs | grep RUNNING) ]] ; then
        echo 'Audio is playing. Inhibiting screensaver'
        nice -n 1 xdotool key shift ;
    else
        echo 'No audio detected'
    fi
    date +%T ## show some sign of life
    sleep 100
done

При использовании Alsa тест, вероятно, будет чем-то вроде (непроверено):

if [[ ! -z $(grep RUNNING /proc/asound/card*/pcm*/sub*/status) ]] ; then...

Потенциальным недостатком этого решения является то, что ваш экран не будет даже если вы просто слушаете музыку или радио, но я предполагаю, что в большинстве случаев это не проблема.

2
ответ дан 5 January 2021 в 23:59

EDIT

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


В моей системе (Ubuntu 11.10) я использую Caffeine . Вы можете попробовать, работает ли он и в 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

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

31
ответ дан 5 January 2021 в 23:59

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

https://launchpad.net/caffeine
http://ubuntu-tweak. com/app/caffeine/

7
ответ дан 5 January 2021 в 23:59

Сценарий вверху вверху не работает для меня в Ubuntu 14.04 LTS Unity. Вот его обновленный вариант, который работает:

#!/bin/bash

id_saved=0
sac_saved=0
sbat_saved=0
dim_saved=false

ss_save()
{
    id_saved=`gsettings get org.gnome.desktop.session idle-delay`
    sac_saved=`gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout`
    sbat_saved=`gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout`
    dim_saved=`gsettings get org.gnome.settings-daemon.plugins.power idle-dim`
}

ss_set()
{
    gsettings set org.gnome.desktop.session idle-delay "$1"
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout "$2"
    gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout "$3"
    gsettings set org.gnome.settings-daemon.plugins.power idle-dim "$4"
}

ss_on()
{
    ss_set "$id_saved" "$sac_saved" "$sbat_saved" "$dim_saved"
}

ss_off()
{
    ss_set 0 0 0 false
}

trap ss_on EXIT

already_off=0
flash_on=0
ss_save

while true; do
    if top -bcw 200 | sed -e '1,/PID/d' | head -1 | grep flash > /dev/null
    then
        flash_on=1
        off_count=0
    else
        off_count=`expr $off_count + 1`
        echo "flash_off_count=$off_count"
        if [ $off_count -gt 5 ]; then
            flash_on=0
        fi
    fi

    if [ "$flash_on" = "1" -a "$already_off" = "0" ]; then
        echo "screensaver: off"
        ss_off
        already_off=1
    elif [ "$flash_on" = "0" -a "$already_off" = "1" ]; then
        echo "screensaver: on"
        ss_on
        already_off=0
    elif [ "$already_off" = "0" ]; then
        echo "screensaver: save possibly new params"
        ss_save # user may update the values
    fi

    sleep 30
done

Кстати, этот скрипт отключает заставку ТОЛЬКО при воспроизведении видео, то есть когда flashplayer находится в верхней части потребителя CPU.

0
ответ дан 5 January 2021 в 23:59

Решение для воспроизведения HTML5 в Chrome

Обзор

Следующее скрипт отключает заставку, если обнаруживает активный полноэкранный сеанс Chrome.По умолчанию проверка выполняется каждые 5 минут. Сценарий автоматически возобновит работу заставки, если выполнено одно из следующих трех условий:

  • окно не полноэкранное
  • окно не в фокусе
  • окно больше не существует

Скрипт

#!/bin/bash

## Variables ##

ChromeWmClass="Google-chrome"
FullScreenProperty="_NET_WM_STATE_FULLSCREEN"
CheckInterval="300" # check every 5 minutes

## Main ##

while true; do

  sleep "$CheckInterval"

  ActiveWinID=$(xdotool getactivewindow)

  if [[ -z "$ActiveWinID" ]]; then
    continue
  fi

  ActiveWinProp=$(xprop -id "$ActiveWinID")

  if echo "$ActiveWinProp" | grep "$FullScreenProperty" > /dev/null 2>&1 \
  && echo "$ActiveWinProp" | grep "WM_CLASS" | grep "$ChromeWmClass" > /dev/null 2>&1
    then
      if [[ -z "$SuspendingID" ]]; then
        echo "Suspending screensaver for $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      elif [[ "$ActiveWinID" = "$SuspendingID" ]]; then
        echo "$ActiveWinID is already suspending  screensaver."
      elif [[ -n "$SuspendingID" ]]; then
        echo "Resuming screensaver for $SuspendingID"
        xdg-screensaver resume "$SuspendingID"
        echo "Suspending screensaver for $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      fi
    else
      if [[ -n "$SuspendingID" ]] \
      && xprop -id "$SuspendingID" > /dev/null 2>&1
        then
          echo "Resuming screensaver for $SuspendingID"
          xdg-screensaver resume "$SuspendingID"
          SuspendingID=""
        else
          echo "No change."
      fi
  fi
done
2
ответ дан 5 January 2021 в 23:59

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

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

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

Отключить gnome-screensaver, когда YouTube использует Flash Player

Откройте терминал и выполните следующие команды, а затем инструкции:

  • mkdir -p bin - эта команда создаст каталог bin в вашей домашней папке , если вы его еще нет.
  • 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. Поиск в Dash для Запускаемых приложений , откройте его и нажмите Добавить .
  2. Под именем введите «YouTube Monitor» или что-нибудь, что вы узнаете. тип команды "/home/$USER/bin/gnome_screensaver_off.sh" (измените $ USER на свое имя пользователя).
  3. Под комментарием (если хотите) введите краткое описание (например, "Не выключает экран, когда проигрыватель Flash работает в браузере ").

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

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

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

2
ответ дан 5 January 2021 в 23:59

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

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

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

11
ответ дан 5 January 2021 в 23:59

Вы должны проверить не только опции экранной заставки, но и опции управления питанием, особенно опцию "Перевести дисплей в спящий режим, когда он неактивен для ...".

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

5
ответ дан 5 January 2021 в 23:59

Webupd8 имел статью о кофеине и 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
6
ответ дан 5 January 2021 в 23:59
​​

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

#!/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
ответ дан 5 January 2021 в 23:59

Для тех, кому нравится полное или ручное управление в своих руках

Эта командная строка может установить время задержки заставки:

gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0

Используйте "0" (ноль), чтобы оставить его включенным или другое значение для определения задержки в секундах.

Следующий сценарий будет держать экран включенным, пока не будет нажата какая-либо клавиша.

#!/bin/bash

# 
# To turn screen sleep time off for a while then back on
#
# by desgua 2013/01/27
#

# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)

# 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=$(echo "$back / 60" | bc)
#notify-send "Screen sleep time restored to $bmin minutes."
echo
echo "Screen sleep time restored to $bmin minutes."
echo 

exit 0
}

# 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

echo
echo "Screen sleep time turned off."
echo 

#notify-send "Screen sleep time turned off."

# Waiting for user to press some key and then restore the previous configuration
read -n 1 -p 'Press any key to turn it on again. ' b

RESTORE

exit 0

Как запустить сценарий:

  1. Скопируйте текст в пустой файл,
  2. Сохраните файл,
  3. Сделайте файл исполняемым,
  4. Запустите его с терминала.
1
ответ дан 5 January 2021 в 23:59

Используйте кофеин: ppa page .

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

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

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

  1. Нажмите Alt + F2 , затем введите кофеин .

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

2
ответ дан 5 January 2021 в 23:59

Вы можете просто выполнить / установить эту команду при запуске:

gconftool --type string --set /apps/compiz-1/plugins/fade/screen0/dim_unresponsive false   

Также Можете ли вы попробовать отключить параметр аппаратное ускорение в firefox?

0
ответ дан 5 January 2021 в 23:59

Это мое решение:

https://github.com/yanyingwang/shanghai-tools/blob/master/kit/the-bund-light.md

https: //github.com/yanyingwang/shanghai-tools/blob/master/kit/the-bund-light.sh

Просто загрузите the-bund-light.sh и добавьте его в приложение для запуска. :

sudo apt-get install xdotool

cd ~ && wget https://raw.githubusercontent.com/yanyingwang/shanghai-tools/master/kit/the-bund-light.sh

cat >> ~/.config/autostart/the-bund-light.sh.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$HOME/shanghai-tools/kit/the-bund-light.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[zh_CN]=TheBundLight
Name=TheBundLight
Comment[zh_CN]=
Comment=
EOF

ВНИМАНИЕ: значение Exec в коде должно быть путем к the-bund-light.sh на вашем компьютере.

0
ответ дан 5 January 2021 в 23:59

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

В основном он ищет полноэкранное видео (вспышка в firefox или Chrome, mplayer или vlc) и, если да, отключите xscreensaver, а также авто возможность затемнения экрана power-manager.

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

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
14
ответ дан 5 January 2021 в 23:59

O da diẹ ninu iru ẹya Ubuntu ti o nlo. Ni 11.10,o le wa "Awọn Eto Eto" ninu nipa titẹ aami jia ni igun apa ọtun ti iboju naa. Yan eyi, ati ninu ibanisọrọ ti o han, yan "Iboju". O le ṣeto iye akoko ti kọnputa rẹ yoo wa ni ṣiṣe ṣaaju awọn ofo iboju pẹlu akojọ aṣayan ifilọlẹ, tabi mu ẹya ara ẹrọ naa kuro nipa titẹ bọtini ti a pe ni "Titiipa".

Ti o ba ni eto agbalagba, o le ni lati wo ibomiiran fun eto yii, ṣugbọn o wa ni ibikan.

0
ответ дан 5 January 2021 в 23:59

Для тех, кто использует Ubuntu-Gnome 14.04 , есть простое, но полезное расширение под названием Caffeine, которое имеет значок переключения, который позволяет вам для отключения затемнения и экранной заставки на верхней панели одним щелчком мыши.

Расширение можно установить, перейдя по этой ссылке на веб-сайт Gnome-Shell Extensions:

https://extensions.gnome.org/extension / 517 / caffeine /

Источник: раздел комментариев в этой статье:

http://www.maketecheasier.com/prevent-ubuntu-sleep- while-watching-video/

0
ответ дан 5 January 2021 в 23:59

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

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