Takže se snažím dál .... přes doporučený Cron.
Vše je relativně funkční, včetně vypnutí ...... ale jen pokud skript pustím přes terminál nebo dvojklikem!
Z Cronu prostě odmítá. Zkusil jsem zaměnit nvidia-settings za nvidia-smi se sledováním rychlosti větráku (nvidia-settings mi nešel výpis do logu). U SMI funguje i výpis hodnot do logu přes Cron. Ale i když proběhne celý proces, tak na konci se PC nevypne.
Trochu to tu zahltím kódy. Třeba někdo bude mít ještě nějaký nápad, nebo odhalí mojí začátečnickou chybu.
PS: .... ano, uživatelské jméno mám "uzivatel"
1) Cron tabulka (cronetab -l)
*/5 * * * * /home/uzivatel/Install/Octane/Crontab/GPU-off.sh
2) script (včetně nastavení spustitelnosti), rozhodně by šel napsat úhledněji a pro zfunkčnění z něj lecos ještě vyhážu
.... ECHO mám kvůli kontrole průběhu skriptu
#!/bin/bash
echo "1) prvni overeni" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU1=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU1 >> $HOME/Install/Octane/Crontab/GPU-off.log
if [[ ${GPU1} -le 40 ]]; then
sleep 60
echo "2) druheee overeni" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU2=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU2 >> $HOME/Install/Octane/Crontab/GPU-off.log
if [[ ${GPU2} -le 40 ]]; then
sleep 60
echo "3) VYPNUTI" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU3=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU3 >> $HOME/Install/Octane/Crontab/GPU-off.log
if [[ ${GPU3} -le 40 ]]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:false
fi
fi
fi
... všechno proběhne .... usuzuji z toho, že postupně dochází k výpisům do logu. Kdyby nebyl schopen vzít hodnotu pro fan.speed, tak by skončil prvním výpisem a ten by se stále opakoval, tak jak by Cron spouštěl script po 5min. Ale po výpisu do logu VYPNUTI stejně nedojde k vypnutí PC.
zkoušel jsem dát i řádek
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:false
jo a v /var/log/syslog je tohle
Jul 12 13:15:01 Ubuntu CRON[16400]: (uzivatel) CMD (/home/uzivatel/Install/Octane/Crontab/GPU-off.sh)
Jul 12 13:17:01 Ubuntu CRON[19916]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jul 12 13:17:01 Ubuntu CRON[16399]: (CRON) info (No MTA installed, discarding output)