Як запобігти замутненню екрана або блокуванню екрана під час перегляду YouTube?


100

Яскравість екрана через кілька секунд зменшувалася, щоб зберегти акумулятор. Це за замовчуванням в Ubuntu 12.04. Однак при перегляді відео воно не повинно тьмяніти.

Це працює правильно, коли я переглядаю відео за допомогою нативних програм, таких як VLC. Однак у відео в браузері, затемнення екрану не заважає. Це дуже дратує, оскільки вам потрібно рухати курсор кожні 10 секунд або близько того.

Раніше я використовував Mac OSX, де у мене були однакові параметри затемнення, і Flash-відео було враховано правильно.

Хтось має уявлення, як можна змусити YouTube запобігти затемненню екрана?


4
Отже, оскільки це проблема, з якою більшість користувачів Ubuntu хочуть вирішити, чи можемо ми вважати це помилкою в ОС або помилкою в програмному забезпеченні (Flash, Chrome, Firefox) та отримати виправлення, щоб кожному користувачеві не потрібно зайти на цю сторінку AskUbuntu?
вибух

1
Я вдячний за всю допомогу, але це смішно, що це відбувається в 2016 році. Давай, це основні речі, які не підтримуються. Також HTML5 Video - чому це так повільно і баггі? Це таку величезну проблему виправити ..? Це мало замінити Flash .. тепер це здається смішним.
Дор

Особисто я оцінюю, що мій браузер не може запобігти блокуванню мого комп’ютера, тому не вірю, що це помилка. Те, що ви просите, може залишити ваш комп’ютер у менш захищеному режимі.
earthmeLon

@earthmeLon чи хтось, чи можете ви пояснити, як це буде менш безпечно?
Сергій Чупов

Відповіді:


54

ЯК: Вимкнення заставки під час роботи 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


4
Якби я міг би проголосувати за це +5. Сценарій з форуму ubuntu неймовірно добре написаний, як і ваша відповідь. Також великий великий палець вгору для фактичного включення джерела.
con-f-use


4
Це дійсно працює лише для Firefox. Хтось може переписати це для підтримки декількох браузерів?
Стівен Руз

3
це буде працювати з html5 відеоплеєром?
kdureidy

2
Підтримка відео HTML5 справді потрібна.
ulidtko

31

EDIT

Це, ймовірно, не вийде, якщо ви використовуєте версію Ubuntu, новішу за 12.04 (спробували в 13.04 та 13.10, і вона взагалі не працює). Здається, головний розробник більше не працює над цим проектом, тому шанси на його виправлення непогані.


У своїй системі (Ubuntu 11.10) я використовую кофеїн . Ви можете спробувати, чи працює він і в Xubuntu. Він додає піктограму області сповіщень, де можна включити / вимкнути заставку для деяких програм. Щоб встановити кофеїн, виконайте наступне:

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

Потім виконати в терміналі:

caffeine -p &

Потім можна вибрати програми, які повинні вимкнути заставку:
vlcдля VLC, mplayerдля програвача фільму тощо.

Переваги кофеїну

Сподіваюся, це допомагає.


Це працює досить добре 12.04, Дякую!
Geppettvs D'Constanzo

Дякуємо за те, що ви внесли рішення, але це найкраще рішення? Це не помилка? Це має бути помилка. Це відбувається на гномі, але не на єдності.
Джерард Рош

Я зараз 12.04, і я все ще використовую цей додаток не для того, щоб зупинити заставку, а щоб швидко відключити зменшення яскравості екрана. Оскільки я бачив, чи це помилка, вона перебуває у браузері: вона повинна відповідати за призупинення заставки під час повноекранного режиму.
Салем

Не встановлюється в 13.10
NoBugs

1
Цю відповідь потрібно оновити, оскільки кофеїн навіть працює в Ubuntu 16.04 Xenial. ;)
Андреа Лацаротто

14

На GitHub є хороший маленький сценарій під назвою lightsOn, який повинен робити потрібний трюк.

В основному він шукає повноекранне відео (спалах у Firefox або Chrome, mplayer або vlc), і якщо це так, вимкніть xscreensaver, а також можливість автоматичного керування потужністю управління дим-екраном.

з самого сценарію:

ЯК ВИКОРИСТОВУВАТИ: Запустіть скрипт із тієї кількості секунд, яку ви хочете перевірити
для повноекранного режиму Приклад:
 "./lightsOn.sh 120 &" перевірятиме кожні 120 секунд, чи грає Mplayer,
 VLC, Firefox або Chromium є повноекранним екраном і затримкою заставки та керуванням живленням, якщо так.
 Ви хочете, щоб кількість секунд було на 10 секунд менше, ніж потрібно час
 заставки або управління живленням для активації.
 Якщо ви не передаєте аргумент, перевірки робляться кожні 50 секунд.

Таким чином, зателефонуйте до скрипту зі своєї папки автозапуску відповідно до моєї відповіді тут .

Відрегулюйте сценарій для того, чи використовується у вас flash / vlc / mplayer

не забудьте дати сценарію виконання прав на запуск, тобто

chmod +x lightsOn.sh

3
світло, здається, не збереглося, але є живі вилки ( github.com/partizand/lightsOn , github.com/unhammer/lightsOn )
Jérôme

10

Не зовсім те, що ви шукаєте, але цей маленький сценарій реєстрував би рух миші кожного разу, коли він запускався. Ви можете кинути його в cron, щоб запускати один раз у x-кількість часу. Це не дозволить екрану не вимикатись, а рух миші ледь помітний, якщо він працює, коли ви НЕ переглядаєте відео

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

Я повністю отримав цю ідею з коміксу xkcd. http://xkcd.com/196/


Або запустити його за допомогою сценарію Bash (з часом і сном), як деякі інші відповіді тут.
Пітер Мортенсен

7

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

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


У мене був встановлений кофеїн, але я не бачив, що потрібно активувати його, щоб він працював. Дякую!
Стівен Руз

Інформація від розробників кофеїну: "Підтримка Flash відео відсутня, оскільки це було занадто складно, щоб не працювати." Таким чином, ви можете забути прапорець Flash video у його налаштуваннях. Однак якщо ви використовуєте Firefox, додайте plugin-containerдо списку програм, і кофеїн активується на Flash відео належним чином (дезактивація буде трохи затягнута, оскільки плагін-контейнер не розвантажується відразу, коли ви закриєте вкладку відео, це займе кілька хвилин ).
whtyger

6

У 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

1
Метод, який використовується в цьому скрипті ( lightsOn.sh) для виявлення, чи браузер використовує програвач HTML5, не дуже хороший. Насправді метод визначає, чи Firefox або Chromium знаходяться в повноекранному режимі ... В іншому стаття хороша, і ваша відповідь найбільше наближається до того, про що я запитав.
Radu Rădeanu

1
Я робив трохи більше досліджень, виявив сценарій, заснований на діяльності процесора або мережі. Він розташований на форумах монетного двору, і він може дати вам трохи кращий контроль. Насолоджуйтесь переглядом YouTube.
Гаррі

5

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

Зауважте, що на ноутбуках є два налаштування з такою назвою: коли ноутбук працює від мережі змінного струму та коли працює від акумулятора.


2

Використовуйте кофеїн: сторінка ppa .

Як встановити:

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

Як запустити:

  1. Натисніть Alt+ F2, а потім введіть caffeine.

  2. Клацніть піктограму «Кофеїн», потім натисніть «Вимкнути заставку».


1
Я не маю наміру відключати заставку. У всякому разі, я спробував кофеїн, але не працює. Я не думаю, що це оновлено до останньої версії Gnome.
Radu Rădeanu

@ RaduRădeanu кофеїн відключає заставку вашого комп’ютера, це не має нічого спільного з вашим веб-браузером.
Альвар

@Alvar Це, якщо ви хочете ... У будь-якому випадку, не працював для мене.
Radu Rădeanu

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 (це заставка за замовчуванням в 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.

Якщо ви хочете, ви можете встановити цей сценарій для запуску при вході, виконавши наступне:

  1. Знайдіть у Dash додатки для запуску , відкрийте його та натисніть кнопку Додати .
  2. Під назвою введіть "Монітор YouTube" або щось, що ви впізнаєте.
  3. Під командою "/home/$USER/bin/gnome_screensaver_off.sh" (змініть $ USER за допомогою свого імені користувача).
  4. Під коментарем (якщо ви хочете) введіть короткий опис (наприклад, "Зупиняється вимкнення екрана, коли Flash Player працює в браузері").

Вимкнення заставки gnome, коли YouTube використовує програвач HTML5

Питання в цьому сенсі залишається відкритим ...

Дякую за пропозиції, які пропонують: fossfreedom , Meer Borg , njallam , desgua та інші.


2

Рішення для відтворення 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

Найпростішим неінтелектуальним підходом, який є настільним агностиком і покладається на 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...

Потенційний мінус цього рішення полягає в тому, що ваш екран не буде спати, навіть якщо ви просто слухаєте музику чи радіо, але я припускаю, що в більшості випадків це не проблема.


1

Для тих, хто любить повне або ручне управління у своїх руках

Цей командний рядок може встановити час затримки заставки:

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

VLC у цьому PPA, крім того, що є поточною версією VLC, також правильно реалізує гальмування заставки.

Ви можете додати цей PPA за допомогою цієї команди

sudo add-apt-repository ppa:n-muench/vlc

Що це стосується затемнення відео в браузері?
Пітер Мортенсен

Здається, що багато різних питань були об'єднані в це питання. Перевірте історію редагування, і ви можете побачити, що деякі питання включали проблеми із заставкою.
Роб

0

Ви можете просто виконати / встановити цю команду під час запуску:

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

Також ви можете спробувати зняти опцію апаратного прискорення для Firefox?


2
Я говорив про це раніше: я не збираюся вимикати заставку . Я хочу лише запобігти затемненню екрана під час перегляду YouTube.
Radu Rădeanu

0

Для тих, хто використовує Ubuntu-Gnome 14.04 , є просте, але корисне розширення під назвою Кофеїн, яке надає піктограму перемикання, яка дозволяє відключити світло затемнення та поведінку заставки вгорі за допомогою клацання.

Розширення можна встановити за цим посиланням на веб-сайт Gnome-Shell Extensions:

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

Джерело: розділ коментарів у цій статті:

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


0

Це моє рішення:

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

Це дещо залежить від того, яку версію Ubuntu ви використовуєте. У 11.10 ви можете знайти "Налаштування системи", натиснувши значок шестірні у верхньому правому куті екрана. Виберіть це, і в діалоговому вікні, що з'явиться, виберіть "Екран". Ви можете встановити кількість часу, коли ваш комп'ютер буде працювати в режимі очікування, перш ніж екран буде закрито за допомогою випадаючого меню, або відключити цю функцію, натиснувши кнопку з написом "Блокувати".

Якщо у вас старша система, можливо, вам доведеться шукати деінде для цього налаштування, але воно є десь.


4
Так, але я не хочу його постійно відключати.
ste_kwr

0

Я використовую такий сценарій як спосіб вирішення:

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

Він імітує натискання лівої клавіші зсуву один раз на хвилину, що не дозволяє екрану затуманюватися. Недолік цього, звичайно, полягає в тому, що вам потрібно запускати сценарій кожного разу, коли ви переглядаєте ютуб. З іншого боку, це просто і працює з більшістю, якщо не з усіма конфігураціями.

Можливо, вам доведеться встановити це

sudo apt-get install xdotool

0

Сценарій у верхній частині для мене не працює для 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 знаходиться у верхній частині споживачів процесора.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.