Dies ist mein Versuch, ein Skript zu erstellen, das eine "Mausbewegung" verwendet, um ein Ausblenden des Bildschirms beim Ansehen von Videos zu verhindern. Ich hoffe, den Wert für den höchsten CPU% -Prozess in verwenden zu können. top
Wenn die CPU-Auslastung 5% überschreitet, sollte eine Mausbewegung erfolgen.
#!/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
Geht leider nicht. Die Fehler sind wie folgt:
[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 ")
Wie behebe ich das? (Bitte beachten Sie, dass ich keine Erfahrung mit Skripten habe.)
Basierend auf den Antworten hier habe ich zusammengestellt:
#!/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
Dann habe ich diesen Code in den Ubuntu-Foren gemeldet und Vaphell hat weiter daran gearbeitet. Unten ist Vaphells Version und ich verwende sie:
#!/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
xset
wie von Raphael unten vorgeschlagen.
-gt
erwartet ganzzahligen Operanden, nicht Gleitkomma-. und ich bin mir nicht sicher, warum du((
...))
und nicht nur[
... verwendest]
. oder warum du CPU% als Auslöser verwendest ... oder sogar warum du CPU% Auslastung aus einem Fluchprogramm wie top extrahierst und nicht so etwas wieps -heo %C --sort -%cpu | head -1