音楽やビデオを再生しているときにシステムがサスペンドしないようにすることは可能ですか?

音楽やビデオを再生しているときにシステムがサスペンドしないようにすることは可能ですか?

友人は、YouTube を視聴しているときを含め、ビデオや音楽プレーヤーを使用しているときにコンピューターがサスペンドしないように設定できるパッチを入手できるか知りたがっていました。私も同じパッチがあればいいのですが。

彼は東芝のパソコンで Ubuntu 11.10 を実行しています。私は HP のパソコンで Ubuntu 11.10 を実行しています。

答え1

  1. xmacro をインストールします (sudo apt-get install xmacro)

  2. 「myxmacro」というファイルを作成し、次の内容を記述します。

コード:

MotionNotify 90 90 
MotionNotify 120 120

3. 「no.idle.sh」ファイルを作成し、実行可能にします。

コード:

touch no.idle.sh
chmod +x no.idle.sh

4.4. 「no.idle.sh」ファイルを作成し、実行可能にします。 コード:

touch no.idle.sh
chmod +x no.idle.sh

次の内容を入力します。

コード

    #!/bin/bash
# No.idle.sh prevents GNOME to turn IDLE 
# if there is any sound sent to speakers
# This script requires the package "xmacro"
# (apt-get install xmacro)
###########################################
# This script requires a textfile called "myxmacro"
# with the following (dummy) content:
# ------------ myxmacro ------------
# MotionNotify 90 90 
# MotionNotify 120 120
# ----------------------------------
# You need to fix the path to "myxmacro" in line 31
#
#############################################

# set Log-File
LOG=/home/YOUR_USERNAME/noidle.log
sound=0
silence=0


while true; do
    sleep 1
    Datum=`date +%d.%m.%Y-%H:%M:%S`    

    # check if sound is sent to speaker    
    if pactl list | grep RUNNING > /dev/null; then
        echo "[$Datum] Sound (Ping: $sound)" >> $LOG
        sound=$((sound+1));
        xmacroplay :0 </path/to/myxmacro
        silence=0
    else
        echo "[$Datum] Silence (Ping: $silence)"    >> $LOG
        silence=$((silence+1));
        sound=0
    fi
    #----------------------------------------------------
done

必要なこと: - 18行目のログファイルへのパスを修正する

  • 31行目の「myxmacro」へのパスを修正します

    1. スクリプト「no.idle.sh」を GNOME スタートアップ項目に追加して、起動のたびに no.idle.sh が実行されるようにします。

終わり。

スクリプトの機能: このスクリプトは、スピーカーにサウンドが送信されているかどうかを毎秒チェックします (ターミナル コマンド pactl list | grep RUNNING を使用)。

音楽が再生されている場合、マウスの動きがシミュレートされます (xmacroplay を使用)。これにより、GNOME セッションが IDLE で実行されなくなります (その結果、PC はサスペンドしません)。

音楽が再生されていない場合は何も起こりません(つまり、セッションはアイドル状態で実行され、その後中断されます)。

ターミナルに次のように入力すると、音楽をチェックするスクリプトを見ることができます。

tail -f /path/to/noidle.log

答え2

カフェインはスクリーンセーバーの表示を妨げる​​と思います(これがおっしゃる意味であれば)。

http://www.webupd8.org/2009/10/caffeine-10-for-linux-released.html

https://launchpad.net/~caffeine-developers/+archive/ppa

https://launchpad.net/カフェイン

関連情報