YouTubeの視聴中に画面が暗くなったり、画面がロックされたりするのを防ぐにはどうすればよいですか?


100

バッテリーを節約するために、数秒後に画面の明るさが暗くなっていました。これはUbuntu 12.04のデフォルトです。ただし、ビデオを見るときは暗くなりません。

これは、VLCのようなネイティブアプリケーションを使用してビデオを見るときに正しく機能します。ただし、ブラウザ内ビデオでは、画面が暗くなるのを防ぐことはできません。カーソルを10秒ごとに移動する必要があるため、これは非常に面倒です。

私は同じ調光設定があり、Flashビデオが正しく考慮されていたMac OSXを使用していました。

YouTubeで画面が暗くなるのを防ぐ方法はありますか?


4
したがって、これはほとんどのUbuntuユーザーが解決策を求めている問題であるため、これをOSのバグまたはソフトウェア(Flash、Chrome、Firefox)のバグとみなし、すべてのユーザーが必要としないように修正を取得できますか?このAskUbuntuのページに来るには?
15

1
私はすべての助けに感謝しますが、これは2016年に起こることはばかげています。さあ、これらはサポートされていない基本的なものです。HTML5ビデオも-なぜそんなに遅くてバグがあるのですか?修正するのはとても大きな問題ですか?Flashに取って代わるものでしたが、今ではとんでもないようです。
ドー

個人的には、私のブラウザーがコンピューターのロックを防ぐことができないことを感謝しているので、これがバグだとは思わない。あなたが求めているものは、コンピューターの安全性が低い設定のままになる可能性があります。
earthmeLon

@earthmeLonまたは誰でも、どのように安全性が低下するか説明できますか?
セルゲイチュポフ

回答:


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. プログラム「Startup Applications」を実行します
  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 14年

31

編集

12.04より新しいUbuntuバージョンを使用している場合、これはおそらく機能しません(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、mplayerMovie Playerなど。

カフェインの好み

それが役に立てば幸い。


これは、12.04で問題なく実行されています。ありがとうございます。
Geppettvs D'Constanzo

ソリューションを提供していただきありがとうございますが、これが最良のソリューションですか?これはバグではありませんか?それはバグでなければなりません。これはgnomeで発生しますが、単一性では発生しません。
ジェラルドロシュ

私は現在12.04にいますが、スクリーンセーバーを停止するのではなく、画面の明るさの低下をすばやく無効にするために、そのアプリケーションを使用しています。それがバグである場合、私が見たものはブラウザにあります。フルスクリーンのときにスクリーンセーバーを禁止するのは彼の責任であるはずです。
セーラム

13.10にインストールされません
NoBugs

1
CaffeineはUbuntu 16.04 Xenialでも動作するため、この回答を更新する必要があります。;)
アンドレアラザロット

14

GitHubにはlightsOn呼ばれる素敵な小さなスクリプトがあります。

基本的には、フルスクリーンビデオ(firefoxまたはChromium、mplayer、またはvlcでのフラッシュ)を探し、その場合はxscreensaverおよび自動パワーマネージャーの薄暗い画面機能も無効にします。

スクリプト自体から:

使用方法:チェックしたい秒数でスクリプトを開始します
フルスクリーンを行うために。例:
 「./lightsOn.sh 120&」は、Mplayer、
 VLC、Firefox、またはChromiumはフルスクリーンであり、そうであればスクリーンセーバーと電源管理を遅らせます。
 秒数は所要時間よりも10秒短くする必要があります
 アクティブにするスクリーンセーバーまたは電源管理。
 引数を渡さない場合、チェックは50秒ごとに行われます。

したがって、ここでの私の答えに従って、自動起動フォルダからスクリプトを呼び出します

flash / vlc / mplayerを実行しているかどうかのスクリプトを調整します

スクリプトを実行するための実行権をスクリプトに与えることを忘れないでください。

chmod +x lightsOn.sh

3
lightsonはメンテナンスされていないようだが、生きているフォーク(あるgithub.com/partizand/lightsOngithub.com/unhammer/lightsOn
ジェローム・

10

完全にあなたが望んでいるものではありませんが、この小さなスクリプトは、実行されるたびにマウスの動きを登録します。cronにドロップして、xの量ごとに1回実行できます。それは画面がオフにならないようにし、ビデオを見ていないときにマウスを動かすと、マウスの1 1の動きはほとんど目立ちません。

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

ちなみに、このアイデアはxkcdコミックから完全に得られました。http://xkcd.com/196/


または、他のいくつかの回答のように、Bashスクリプトから(whileおよびsleepで)実行します。
ピーターモーテンセン

7

きちんとした小さなGnome UI要素を使用して、@ njallamが提供するスクリプトと同等のプリロールを使用するには、Caffeineアプレットを試してください。

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


Caffeineをインストールしましたが、機能させるためにアクティブ化する必要がありませんでした。ありがとう!
スティーブンルース

Caffeine開発者からの情報:「Flashビデオのサポートはなくなりました。機能し続けるには複雑すぎたためです」ただし、Firefoxを使用している場合はplugin-container、プログラムのリストに追加すると、CaffeineがFlashビデオで適切にアクティブになります(ビデオでタブを閉じるとプラグインコンテナーがすぐにアンロードされないため、非アクティブ化はわずかに遅延し、数分かかります)。
whtyger 14年

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

1
lightsOn.shブラウザがHTML5プレーヤーを利用しているかどうかを検出するためにそのスクリプト()で使用されている方法は、あまり良くありません。実際、この方法はFirefoxまたはChromiumが全画面表示であるかどうかを判断します...残りの部分では、記事は適切であり、あなたの答えは私が尋ねたものについて最も近づいています。
ラドゥラデアヌ

1
CPUまたはネットワークアクティビティに基づいたスクリプトを発見し、もう少し調査を行ってきました。それはにあるミントのフォーラムで、それはあなたが少し良く制御を与えるかもしれません。YouTubeをご覧ください。
ギャリー

5

スクリーンセーバーのオプションだけでなく、電源管理オプション、特に「非アクティブ時にディスプレイをスリープ状態にする...」オプションも確認する必要があります。

ラップトップには、その名前の2つの設定があります。ラップトップがAC電源で実行されているときと、バッテリーで実行されているときです。


2

Caffeine: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の最新バージョンに更新されるとは思わない。
ラドゥラディアナヌ

@RaduRădeanuカフェインは、お使いのコンピューターのスクリーンセーバーを無効にします。これはWebブラウザーとは何の関係もありません。
アルヴァ

@Alvarそれはあなたが望むなら持っています...とにかく、私のために働いていない。
ラドゥラデアヌ

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(11.10バージョン以降のUbuntuのデフォルトのスクリーンセーバー)以外のスクリーンセーバーを使用している場合、この回答が役立つ場合があります。

個人的に、私はgnome-screensaverを他の何かに変更しませんでした。また、どのような理由でCaffeineが機能しないのかもわかりません(おそらく時代遅れです)。

そうは言っても、他の人のbashスクリプト(thisthisthis)から始めてgnome_screensaver_off.sh、YouTubeがビデオのレンダリングにFlashプレーヤーを使用しているときに意図したとおりに完全に機能する新しいスクリプトを作成できました。

YouTubeがFlashプレーヤーを使用しているときにgnome-screensaverを無効にします

ターミナルを開き、次のコマンドに続いて指示を実行します。

  • mkdir -p bin-このコマンドはbinhomeフォルダーがまだない場合にフォルダーにディレクトリを作成します。
  • gedit ~/bin/gnome_screensaver_off.sh-これにより、gnome_screensaver_off.shgeditに新しいファイルが作成されます。
  • 次のスクリプトをコピーして貼り付けます:
#!/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」またはあなたが認識できるものを入力します。
  3. コマンドの下に「/home/$USER/bin/gnome_screensaver_off.sh」と入力します($ USERをユーザー名に変更します)。
  4. コメント(必要な場合)に、簡単な説明を入力します(たとえば、「Flashプレーヤーがブラウザーで実行されているときに画面の停止を停止する」)。

YouTubeがHTML5プレーヤーを使用している間はgnome-screensaverを無効にします

この意味で疑問は未解決のままです...

fossfreedomMeer Borgnjallamdesguaなどから提供された提案をありがとう。


2

ChromeでのHTML5再生のソリューション

概要

次のスクリプトは、アクティブなフルスクリーンChromeセッションが見つかった場合にスクリーンセーバーを無効にします。デフォルトでは、5分ごとにチェックを実行します。次の3つの条件のいずれかが満たされると、スクリプトは自動的にスクリーンセーバーを再開します。

  • ウィンドウは全画面表示ではありません
  • ウィンドウに焦点が合っていない
  • ウィンドウはもう存在しません

脚本

#!/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は固有のレシピでOKです、その後、以下のオーディオが再生されている場合に上記溶液の変化は確認しています。

#!/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

このPPAのVLCは、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を見るときに画面が暗くなるのを防ぎたいだけです。
ラドゥラデアヌ

0

Ubuntu-Gnome 14.04を使用している人には、カフェインと呼ばれるシンプルで便利な拡張機能があります。トグルアイコンを使用すると、トップバーからのクリックで光の減光とスクリーンセーバーの動作を無効にできます。

拡張機能は、Gnome-Shell Extensions Webサイトへのこのリンクに従ってインストールできます。

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、startbootingアプリケーションに追加するだけです。

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

左シフトキーを1分に1回押すことをシミュレートし、画面が暗くなるのを防ぎます。もちろん、この欠点は、YouTubeを視聴するたびにスクリプトを実行する必要があることです。一方、これは単純であり、すべてではないにしてもほとんどの構成で機能します。

これをインストールする必要があるかもしれません

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がCPUコンシューマのトップにあるときのみ、スクリーンセーバーを無効にします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.