これは、動画を見ているときに画面が空白にならないようにする「マウスの動き」を使用するスクリプトを作成する私の試みです。で最も高いCPU%プロセスの値を使用したいと考えていますtop
。CPU使用率が5%を超えると、マウスが移動するはずです。
#!/usr/bin/env bash
sleep_period=60s
while true; do
if (( $(top -bn 1 | sed -nrs '8p' | awk '{ print $9 }') -gt 5 )); then
while (( $(top -bn 1 | sed -nrs '8p' | awk '{ print $9 }') -gt 5 )); do
xdotool mousemove 0 100
xdotool mousemove 0 50
sleep ${sleep_period}
done
else
sleep ${sleep_period}
fi
done
残念ながら、機能しません。エラーは次のとおりです。
[07:20 PM] /bin $ noo.sh
/home/vasa1/bin/noo.sh: line 6: ((: 0.0 -gt 5 : syntax error: invalid arithmetic operator (error token is ".0 -gt 5 ")
/home/vasa1/bin/noo.sh: line 6: ((: 6.4 -gt 5 : syntax error: invalid arithmetic operator (error token is ".4 -gt 5 ")
どうすれば修正できますか?(私はスクリプト作成の経験がないことに注意してください。)
ここでの回答に基づいて、私はまとめました:
#!/usr/bin/env bash
sleep_period=5m
while true; do
if [[ $(top -bn 1 | sed -nrs '8p' | awk '{ print int($9) }') -gt 8 ]]; then
while [[ $(top -bn 1 | sed -nrs '8p' | awk '{ print int($9) }') -gt 8 ]]; do
xset -dpms; xset s off
xset +dpms; xset s on
sleep ${sleep_period}
done
else
sleep ${sleep_period}
fi
done
その後、Ubuntuフォーラムでこのコードを報告し、Vaphellはさらに作業を進めました。以下はVaphellのバージョンであり、私が使用しているものです:
#!/usr/bin/env bash
sleep_period=5m
while true; do
if top -bn 1 | awk 'NR==8 { exit !($9>8); }'; then
xset -dpms; xset s off
xset +dpms; xset s on
fi
sleep ${sleep_period}
done
IMO、ビデオプレーヤープログラムがスクリーンセーバーを無効にしていないことをなぜ修正していないのかを調べた方がいいでしょう。どちらのプレイヤーを使っていますか?(例:トーテム、vlc、...)、どのデスクトップ/ウィンドウマネージャー(gnome、xfce、lxde、kde、その他)とどのスクリーンセーバー。
—
cas
ええ、前にvlc / gnomeの問題に遭遇したことがあります。iirc、私は最終的に
—
cas
xset
Raphaelの提案に従って使用しました。
おそらく少し関連しているだけです:xkcd.com/196
—
DanteTheEgregore
ビデオの実行中に画面が消えないようにするためのアプリケーションをインストールすることをお勧めしますか?私はカフェインを使用しています。
—
Paddy Landau
-gt
浮動小数点ではなく整数のオペランドが必要です。あなたが使用している理由と私はわからない((
...))
というだけよりも[
...]
。または、なぜCPU%をトリガーとして使用しているのか...あるいは、なぜかというよりも、cursプログラムからCPU%使用率をtopなどのcursesプログラムから抽出しているのですps -heo %C --sort -%cpu | head -1