mplayerにハートビート設定があることはわかりますが、それが何であるか覚えていません。誰か教えてもらえますか?
うまくいきましたが、デフォルトではない別の迷惑な問題
答え1
mplayer
30秒ごとにコマンドを実行するように切り替えることができますが、-heartbeat-cmd
マニュアルページには次のように指定されています。
正しいX APIをサポートしていないスクリーンセーバーを無効にするために「乱用」することがあります。
スクリーンセーバーを無効にする実際のスイッチは-stop-xscreensaver
最初に試してください。
答え2
mplayer -stop-xscreensaver
私にとってはうまくいきません(Debian wheezy; xscreensaver = 5.15-3、xfce4 = 4.8.0.3、mplayer = 2:1.0〜rc4.dfsg1 + svn34540-1 + b2) - スクリーンセーバーは映画の視聴中に点灯し続けます。私はスクリーンセーバー抑制ツールxscreensaver-inhibit
とmplayerラッパーを書きましたplay
。xscreensaver-inhibit
YouTubeなど他の用途にも便利に使えるので、パネルにショートカットを入れておきました。
$HOME/bin/xscreensaver-inhibit
次のように:
#!/bin/bash
usage () {
echo "usage: $0 [on|off]"
echo ' Turns screensaver inhibition on or off.'
echo ' default: toggle on/off'
exit 1;
}
if [ -n "$1" ] ; then
[ "$1" = "on" -o "$1" = "off" ] || usage
fi
inhibit () {
while [ -f "$lock" ] ; do
# echo "$lock exists"
# UPDATE Dec 2018 this command seems to have stopped working after upgrading to Debian Stretch.
# DISPLAY=:0 xdg-screensaver reset
# Replaced with this command which is working for me,
# though if you do not use xscreensaver you might need something else.
DISPLAY=:0 xscreensaver-command -deactivate
sleep 50
done
# echo "$lock is gone"
}
lock="/tmp/xsi.lock"
if [ -e "$lock" ] ; then
echo 'Screensaver currently inhibited.'
on='on'
else
echo 'Screensaver operating normally.'
on=''
fi
if [ "$1" = "on" ] ; then
if [ -n "$on" ] ; then
echo 'Starting screensaver inhibitor anyway.'
else
echo 'Screensaver inhibitor started.'
fi
touch "$lock" && inhibit &
fi
if [ "$1" = "off" ] ; then
if [ -n "$on" ] ; then
echo 'Screensaver inhibitor(s) stopped.'
else
echo 'Perhaps the screensaver daemon is not running or another program is inhibiting it.'
fi
rm -f "$lock"
fi
if [ ! -n "$1" ] ; then
if [ -n "$on" ] ; then
echo 'Screensaver inhibitor(s) stopped.'
rm -f "$lock"
else
echo 'Screensaver inhibitor started.'
touch "$lock" && inhibit &
fi
fi
$HOME/bin/play
次のように:
#!/bin/sh
xscreensaver-inhibit on
DISPLAY=:0 mplayer -fs "$@"
xscreensaver-inhibit off
DISPLAY=:0
SSHでログインしても、ローカルアクティブモニターで映画を再生するように追加しました。play
また、私のファイルマネージャのすべてのビデオファイルのデフォルトハンドラです。
インストールした場合は、sox
別のものを呼び出す必要があるかもしれません。/usr/bin/play
sox
play
スクリーンセーバーが中断されたくない他のフルスクリーンアプリケーションに対して同様のラッパーを作成できます。
xscreensaver-inhibit
私が試したすべてのデスクトップ環境、Linux、スクリーンセーバーで動作します。それを得たらxdg-screensaver: command not found
実行しなさいapt-get install xdg-utils
。
2018年12月のアップデートでデフォルトのコマンドが変更されましたxscreensaver-inhibit
。 - すべてのDE、Linux、スクリーンセーバーではテストされxdg-screensaver
ていません。xscreensaver-command
青少年MMV
答え3
私にはい--stop-screensaver
--stop-xscreensaverを使用すると、mplayerは次のように警告します。--stop-xscreensaver オプションは --stop-screensaver に置き換えられ、将来削除される可能性があります。
Debian & mpv 0.23.0 (C) 2000-2016 mpv/MPlayer/mplayer2 プロジェクト