Nvidia GPU temperatura mostrada duas vezes em conky

1

Meu problema é que no Ubuntu 14.10 o antigo código $ {nvidia temp} não está funcionando, eu uso este código: ${execi 60 nvidia-settings -query GPUCoreTemp | perl -ne 'print if /GPUCoreTemp.*?: (\d+)./;'} °C Mas esse código mostra a temperatura duas vezes, por que isso poderia ser?

Aqui está uma captura de tela

A saída de nvidia-settings -q gpucoretemp :

slaci@slaci-comp:~$ nvidia-settings -q gpucoretemp

  Attribute 'GPUCoreTemp' (slaci-comp:0.0): 63.
    'GPUCoreTemp' is an integer attribute.
    'GPUCoreTemp' is a read-only attribute.
    'GPUCoreTemp' can use the following target types: X Screen, GPU.
  Attribute 'GPUCoreTemp' (slaci-comp:0[gpu:0]): 63.
    'GPUCoreTemp' is an integer attribute.
    'GPUCoreTemp' is a read-only attribute.
    'GPUCoreTemp' can use the following target types: X Screen, GPU.
    
por Slaci 21.12.2014 / 14:01

1 resposta

1

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.

De 1º fórum encontra

  • nvidia-settings -q gpucoretemp -t
  • nvidia-smi -a | grep Gpu
  • nvclock -T

De 2º encontro do fórum

  • nvidia-settings -q gpucoretemp |grep '):' | cut -d ' ' -f 6,6 | sed -e 's/.\{1\}$//'
  • nvidia-settings -t -q localhost:0/gpucoretemp
por Xen2050 21.12.2014 / 14:26