Tente seu script de código / shell em um terminal para ver exatamente o que será produzido. Provavelmente está fornecendo os resultados duplos, então você pode solucioná-lo em um terminal.
nvidia-settings -query GPUCoreTemp | perl -ne 'print if /GPUCoreTemp.*?: (\d+)./;'
Acabamos de ver o seu Q atualizado, com a saída da nvidia-settings ele está imprimindo a temperatura duas vezes por algum motivo. Um deles contém "gpu", que é fácil de pegar com um grep
para, em seguida, canalizar apenas uma temperatura para o seu script perl
, então isso deve funcionar
nvidia-settings -query GPUCoreTemp| grep gpu | perl -ne 'print if /GPUCoreTemp.*?: (\d+)./;'
E se tudo for colocado no conkyrc, deve ficar assim:
${execi 60 nvidia-settings -query GPUCoreTemp| grep gpu | perl -ne 'print if /GPUCoreTemp.*?: (\d+)./;'} °C
O Conky só deve imprimir o que o shell retorna, e testar exec
códigos em um terminal é mais esclarecedor do que percorrer o Conky, pode ver mensagens de erro que o Conky ignora (acho que ele usa stdout).
Eu não tenho nvidia-settings
, então não posso testá-lo, mas aqui estão alguns scripts / comandos alternativos que devem retornar a temperatura da GPU; você terá que olhar para a saída de nvidia-settings
para determinar o que procurar por & amp; corte, se mudou & amp; estes não funcionam mais.
-
nvidia-settings -q gpucoretemp -t
-
nvidia-smi -a | grep Gpu
-
nvclock -T
-
nvidia-settings -q gpucoretemp |grep '):' | cut -d ' ' -f 6,6 | sed -e 's/.\{1\}$//'
-
nvidia-settings -t -q localhost:0/gpucoretemp