Porušil jsem takové *nixové pravidlo a zbytečně to zkomplikoval. A tak jsem to přepracoval. S tím už to funguje i na víceuživatelském systému. Trochu jsem se nad tím zamyslel. Ten soubor skriptů má za úkol číst teplotu disků a trochu je umravňovat. Nic víc nic míň. A to je starost administrátora! Ne nás
bfuček ikdyž máme přístup k rootu.
Takže nová verze si instalací vytvoří adresář
/etc/conkys/ a tam si uloží dva soubory.
conkys.conf.sh obsahující pár základních nastavení. A
conkys_data.conf obsahující databázi disků. Každý disk (vyjma nvme) který se připojí k PC se automaticky zapíše do této databáze. Ta se dá upravovat v textovém editoru a doladit si chování disků k obrazu svému. Každá změna v těchto souborech se projeví po opětovném připojení konkrétního disku. Každý fyzicky připojený disk, pokud mu to ve výše zmíněném souboru nezakážete (sloupec
ignoring kde jednička
1 je ignorace disku), si vytvoří svůj adresář v RAM/SWAP paměti
/dev/shm/conkys/sdX/ se třemi soubory. A to
temp,
activity a
PID. V
tempu je teplota disku ve stupních. V
activity je jestli je disk aktivní
1 nebo ve standby režimu
0 (spí). Ty se dají číst externími programy mimo jiné i pomocí
conky (o to tu šlo od začátku). Pokud nemáte zakázáno logování, můžete za běhu kouknout jak se mění stavy disků ap. pomocí
tail -n 10 -f /var/log/conkys
Ukončuje se to klávesovou zkratkou
ctrl+cA teď k instalaci. Stáhněte si
https://github.com/RadekRojik/conkys/releases/latest Dejme tomu, že to bude soubor
conkys-1.0.2.tar.gz Pak spusťe sérii příkazů:
tar xf conkys-1.0.2.tar.gz
cd ~/conkys-1.0.2/
chmod +x ./install.sh
sudo ./install.sh
A je to. Od teď už to funguje! Avšak je třeba disky znova připojit, proto bude lepší restartovat PC:
reboot
No a protože vlákno začal @PepanB dotazem který se vyvinul v toto. Odpovím mu jak si nastavit conky řádek (vlastně tři řádky) k obrazu jeho aby to fungovalo s tím co jsem napsal předtím. Předpokládám, že používáš
hwmon, na
sda máš nainstalovaný systém a disk
sdb občas vyndáš/odpojíš.
Do sekce
conky.config si přidej tyto dva řádky:
template0 = "${if_existing /dev/shm/conkys/\\1/temp} \\1: ${tail /dev/shm/conkys/\\1/temp 1}°C${endif}",
template1 = "${if_existing /sys/class/hwmon/hwmon\\1/temp1_input} \\2: ${hwmon \\1 temp 1}°C${endif}"
Nezapoměň na konci každého řádku na čárku, vyjma posledního řádku!
A pak v sekci
conky.text přidej tento magický řádek kde chceš aby ti to ukazovalo teploty:
${color}Temp: ${template1 1 sda} ${template1 2 sdb} ${template0 sdb} ${template0 sdc} ${template0 sdd}
Tímto vším nepotřebuješ speciální oprávnění v
sudoers ani jinak poupravená přístupová práva k programům.
P.S. děkuji @juwa2 za aktivní pomoc při testování a stavění mě před nové a nové problémy
avšak díky tomu vzniklo to co vzniklo a ještě navíc funkční.
Připomínky a rady adresujte sem nebo na
https://github.com/RadekRojik/conkys/issuesEDIT:Teprve se s githubem učím tak to tam mám takové zmatečné. Zde by měla být vždy ta nejaktuálnější verze
https://github.com/RadekRojik/conkys/archive/refs/heads/main.zipPřidal jsem tam malinký samostatný skript
conk_reader.sh stačí mu přidat právo na spuštění
chmod +x conk_reader.sh Pak jako běžný uživatel stačí spustit v terminálu a vypíšou se aktuální hodnoty:
./conk_reader.sh
sda: 24°C sdb: 20°C
Je možno si to přejmenovat a třeba nakopírovat do
/usr/local/bin. Pak už to půjde využít odkudkoli a třeba jako součást nějakého většího skriptu.