これは、ビデオを見ながら画面がオフになるのを防ぐために「マウスの動き」を使用するスクリプトを作成しようとする私の試みです。 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フォーラムにこのコードを報告しました。ワッフェルこれについてさらに研究を行った。私が使用しているVapellのバージョンは次のとおりです。
#!/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
ベストアンサー1
あなたはそれを使用することができます
xset -dpms; xset s off
画面が黒く変わるのをやめてください。
この機能を再度有効にするには、次を使用します。
xset +dpms; xset s on
したがって、-dpms
省電力機能を無効にすると、ディスプレイ全体がオフになり、s off
Xサーバーのスクリーンセーバーもオフになります。
xscreensaver
コメントで述べたように動作しません。