Mplayerにハートビートの設定があることは知っていますが、それが何であるか思い出せません。誰か教えてもらえますか?
以前は機能していたが、どこかでデフォルトが機能しなくなった、もう1つの厄介なもの
mplayer
にはスイッチがあります-heartbeat-cmd
30秒ごとにコマンドを実行しますが、manページに記載されているとおりです。
これは、適切なXAPIをサポートしていないスクリーンセーバーを無効にするために「誤用」される可能性があります
スクリーンセーバーを無効にするための実際のスイッチは-stop-xscreensaver
;あなたはおそらく最初にそれを試すべきです
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
は、私が試したすべてのDE、Linux、およびスクリーンセーバーで動作します。 xdg-screensaver: command not found
を取得した場合は、apt-get install xdg-utils
を実行します。
UPDATE 2018年12月、xscreensaver-inhibit
のメインコマンドがxdg-screensaver
からxscreensaver-command
に変更されました-すべてのDE、Linux、スクリーンセーバーでテストされているわけではありません。 YMMV
私にとっては--stop-screensaver
--stop-xscreensaverを使用すると、mplayerは次のように警告します。オプション--stop-xscreensaverは--stop-screensaverに置き換えられ、将来削除される可能性があります。
Debian&mpv 0.23.0(C)2000-2016 mpv/MPlayer/mplayer2プロジェクト