Automatyczne odświeżanie Widgeta superkaramby

Stworzyłem sobie Widget do superkaramby, który mi odczytuje z pliku temperaturę karty graficznej. Problem w tym, że ja potrzebuję żeby on się co jakiś określony czas odświeżał. Zna ktoś na to jakąś komendę, którą muszę wpisać w kodzie Widgeta?

interval=5000

czas w milisekundach

W linijce z wymiarami.

No właśnie w tym problem, że nie bardzo mi to działa.

Tzn. mam ustawion interval=3000 , część gdzie jest obciążenie procka i RAMu odświeża się co 3s.

Natomiast temperatura karty jest cały czas statyczna. Zaczynam puszczać na pulpit wodotryski, temperatura stoi. A w momencie gdy dam “wczytaj motyw ponownie” cały widget się odświeża i wtedy pokazuje mi akutalną temperaturę , która znów stoi i nie odśiweża się wraz ze wszystkim.

Próbowałem ją wydzielić na osobny widget ale jest to samo.

Jak pobierasz wartość tej temperatury?

Nie znam się na karambie ale jak obsługuje proste pętle to można by spokojnie w funkcji zawrzeć odświeżanie.

sensor=program program=“nvclock -i | grep ‘temperature:’ | awk ‘{print $3 $4}’”

Spróbuj może w tej linijce dać interval,

Jeszcze spróbuj:

while [1]

do 

sensor=program program="nvclock -i | grep 'temperature:' | awk '{print $3 $4}'"

sleep 3

done

TO jest na wzór basha… Raczej nie zadziała ale składnia superkaramby może być podobna popróbuj… chodzi o petle while

A nie lepiej tak:

sensor=program program="nvidia-settings -q gpucoretemp |grep '):' | awk '{print $4 0}'" interval=10000

działa na 100 %

:slight_smile:

Ok dzięki. Dodanie na końcu tej linijki interval pomogło. Miałem dodane globalnie dla całego widgetu i jakoś mi dla tej jednej sekcji nie działał. Ale tak jak piszę już pomogło.

Dzięki jeszcze raz.

PS.

To mi nie działa :slight_smile: Jak wpiszę w konsoli samo nvidia-settings -q gpucoretemp to mi pokazuje pustą linijkę (jakby po dwóch enterach) :slight_smile: Coś bym może musiał doinstalować.

Ważne że działa :slight_smile:

A co do nvidia-settings to być może masz w karcie inny typ czujnika lub po prostu brakuje jakiegoś pakietu.

U mnie (Kubuntu 7.10) wynik polecenia wygląda tak:

estes@estes-desktop:~$ nvidia-settings -q gpucoretemp


  Attribute 'GPUCoreTemp' (estes-desktop:0.0): 54.

    'GPUCoreTemp' is an integer attribute.

    'GPUCoreTemp' is a read-only attribute.

    'GPUCoreTemp' can use the following target types: X Screen, GPU.


estes@estes-desktop:~$

Aha. Te intervale to możesz dodawać sobie osobno dla każdego czujnika, bo globalnie nie zawsze będzie działać. Poza tym w takim wypadku możesz “regulować” odświeżanie osobno dla każdego sensora - to istotne jeśli nie zależy ci np. na odświeżaniu prędkości wentylatora (może być co 30 sek) a chcesz mieć podgląd pracy czy temperatury procka (2 sek). Ja mam np. tak: (wycinek)

text x=25 y=200 value="Core 0 Temp:"

text x=110 y=200 sensor=program program="sensors | grep 'Core 0' | cut -d + -f 2 | cut -d ' ' -f 1" interval=5000 align=left color=255,255,0


text x=25 y=215 value="Core 1 Temp:"

text x=110 y=215 sensor=program program="sensors | grep 'Core 1' | cut -d + -f 2 | cut -d ' ' -f 1" interval=5000 align=left color=255,255,0


text x=25 y=230 value="CPU Fan:"

text x=110 y=230 sensor=program program="sensors | grep 'CPU Fan' | awk '{print $3 $4}'" interval=10000 align=left color=0,255,255


text x=25 y=245 value="System Temp:"

text x=110 y=245 sensor=program program="sensors | grep 'Sys Temp' | cut -d + -f 2 | cut -d ' ' -f 1" interval=5000 align=left color=255,255,0

:slight_smile: