Portál AbcLinuxu, 19. prosince 2025 23:25
#!/usr/bin/ruby1.9.1
MAX = 55 #maximalni teplota hdd
hdd = `/bin/netcat localhost 7634` #ziskani hodnot z hddtemp
hdd =~ /[|][^|]*[|]([^|]*)[|]([0-9][0-9]*)/ #extrakce dat
drive = $1 #vyrobce a typ hdd
temp = $2 #teplota
hdd =~ /\|\|([^|.]*)/
device = $1 #
if (temp.to_i > MAX) then #kdyz je teplota vic jak 55 C
printf("${color ff0000}") #pak je to na .... a dame cervenou
else
printf("${color 80d62b}") #jinak OK a dame zelenou
end
printf("${font Ubuntu:style=bold}${alignc}---=== INFO HDD ===---${font}")
printf("${alignc}#{device}\n")
printf("${alignc}#{drive}\n")
printf("${alignc}#{temp} C\n")
Nějakou dobu to normálně fungovalo, pak jsem conky nepoužíval a teď už to nejde. Problém zřejmě bude v tom, že pokud onen script spustím z conky pomoci execp tak se neprovede
hdd = `/bin/netcat localhost 7634`zřejmě nedojde ke spuštění netcatu, v každém případě je proměná hdd null. Pokud výše uvedený script pustím normálně z shellu dává požadované výsledky. Neví někdo co s tím?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.