いい気分で聞いていたら突然音が途切れる。画面はブラックアウト(スクリーンセーバの設定がそうしている)。
xfce4-screensaver-commandというコマンドでなんとかなりそう。
~# xfce4-screensaver-command --help 用法: xfce4-screensaver-command [オプション…] ヘルプのオプション: -h, --help ヘルプのオプションを表示する アプリケーションのオプション: --exit スクリーンセーバーを正常に終了させる -q, --query スクリーンセーバーの状態を問い合わせる -t, --time スクリーンセーバーがアクティブになっていた時間を問い合わせる -l, --lock 実行中のスクリーンセーバープロセスに画面をすぐにロックするよう指示する -c, --cycle スクリーンセーバーがアクティブな場合は別のグラフィックデモに切り替えます -a, --activate スクリーンセーバーをオンにする(画面をブランクにする) -d, --deactivate スクリーンセーバーがアクティブになっている場合は非アクティブにする(画面の非ブランク化を解除する) -p, --poke 実行中のスクリーンセーバーをつついて、ユーザーアクティビティをシミュレートする -i, --inhibit スクリーンセーバーのアクティブ化を禁止します。禁止されている間はコマンドをブロックします。 -n, --application-name スクリーンセーバーを禁止している呼び出し元アプリケーション -r, --reason スクリーンセーバーを禁止する理由 -V, --version このアプリケーションのバージョン
他のアプリケーションから呼び出すためのコマンドっぽい。
では定期的にpokeしてやったらよええんちゃうかと、こういうループを作ってみる。
#!/usr/bin/php <?php while(TRUE){ $ret = `ps ax |grep audacious |grep -v grep`; if(strlen($ret) >10) { exec("xfce4-screensaver-command -p"); } sleep(600); } ?>
セッション開始時に実行するようにしておくと、audacious起動時には定期的に操作をシミュレーションすることによってスクリーンセーバが起動しないようになる。誤動作防止はなし。
後で発見したけど、Caffeinというアプリがあった。
forums.linuxmint.com
kledgeb.blogspot.com