Configurar aviso da temperatura da CPU no Conky

Publicado por Buckminster em 31/12/2025

[ Hits: 80 ]

 


Configurar aviso da temperatura da CPU no Conky



No Conky não é aconselhado utilizar:

${hwmon 0 temp 1}
${hwmon 0 temp 3}

O hwmon pode não ser a CPU.

A CPU costuma aparecer na saída do comando sensors: coretemp, k10temp, zenpower ou outro driver.

Exemplo:

$ sensors

pch_skylake-virtual-0
Adapter: Virtual device
temp1: +39.5°C

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +38.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +37.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +37.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +38.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +36.0°C (high = +80.0°C, crit = +100.0°C)


Caso não tiver, instale o pacote:

$ sudo apt install lm-sensors #ou dnf, pacman, zypper, etc

Caso colocar hwmon 0 e/ou hwmon 1 o Conky não consegue identificar onde está a temperatura da CPU.

Para ver os hwmon:

$ ls /sys/class/hwmon/

hwmon0 hwmon1

Para qual é a CPU, veja na saída de:

$ cat /sys/class/hwmon/hwmon0/name

$ cat /sys/class/hwmon/hwmon1/name

A saída pode ser coretemp, pch_skylake, k10temp, etc, depende do fabricante.

Por exemplo, aqui:

$ cat /sys/class/hwmon/hwmon0/name

pch_skylake

$ cat /sys/class/hwmon/hwmon1/name

coretemp

As saídas acima indicam que pch_skylake é o chipset da placa-mãe e coretemp é a CPU. Compare a saída do comando sensors com as saídas dos comandos cat, o que bater com a saída do comando sensors é a CPU; ou pesquise na internet pelo nome.

A temperatura real da CPU está na saída do comando sensors:
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +46.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +46.0°C (high = +105.0°C, crit = +105.0°C)


Exemplo funcional do Conky:

${color white}Temperatures:
${color white}Core 0:$color ${hwmon coretemp temp 2}°C
${color white}Core 1:$color ${hwmon coretemp temp 3}°C

Em temp deve ficar temp 2 e temp 3, mas confirme com:

$ cat /sys/class/hwmon/hwmon1/temp*_label

Por exemplo, aqui:

$ cat /sys/class/hwmon/hwmon1/temp*_label

Package id 0
Core 0
Core 1
Core 2
Core 3


temp1 é CPU Package id 0
temp2 é Core 0
temp3 é Core 1
etc...

Use sempre hwmon pelo nome (coretemp, k10temp, etc). Não use hwmon 0, hwmon 1, etc.

Bônus

Mostrar alerta piscando quando a temperatura do SD/HD for maior do que 50°:

${if_match ${execi 60 hddtemp /dev/sda | awk '{print $NF}' | sed 's/[^0-9]//g'} > 50}\
${if_match ${updates} % 2 == 0}${color red}${else}${color yellow}${endif}\
WARNING - HDD TEMPERATURE IS TOO HIGH\
${color}\
${endif}

Alerta da CPU piscando quando a temperatura estiver maior do que 75°C:

${if_match ${execi 5 sensors | awk '/Package id 0/ {print $4}' | sed 's/[+°C]//g'} > 75}\
${if_match ${updates} % 2 == 0}${color red}${else}${color yellow}${endif}\
CUIDADO - A CPU ESTÁ DERRETENDO!!!\
${color}\
${endif}

Em awk '/Package id 0/

Coloque a saída do comando sensors logo após a linha Adapter, por exemplo:
Adapter: ISA adapter
Core 0: +46.0°C (high = +105.0°C, crit = +105.0°C)


Vai awk '/Core 0/.

E em:
Adapter: ISA adapter
Package id 0: +38.0°C (high = +80.0°C, crit = +100.0°C)


Vai awk '/Package id 0/.

Conky estilizado para emitir alertas de acordo com as temperaturas

Regras:
  • < 70 °C = normal (não mostra nada)
  • 70-84 °C = alerta amarelo
  • >= 85 °C = alerta vermelho piscando

${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'}
${if_match ${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'} >= 70}\
${if_match ${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'} >= 85}\
${if_match ${updates} % 2 == 0}${color red}${else}${color}${endif}\
CUIDADO - O PROCESSADOR ESTÁ DERRETENDO!!!\
${else}\
${color yellow}CPU temperature high\
${endif}\
${color}${endif}

Tenha o cuidado de verificar a marca e o modelo do teu processador porque tem processadores que trabalham fácil com 70°C, então adapte o limite do aviso para tuas necessidades, senão o WARNING aparecerá toda hora.
Outras dicas deste autor

Nunca execute esses comandos

Firmware Realtek - Ativação na instalação do Debian Squeeze 64 bits

Desligar Windows remotamente pelo Linux

GRUB com senha criptografada no Debian Squeeze

Instalar Conky no Slackware 15

Leitura recomendada

Conectando celular Samsung SGH em PC com Linux

Kiba Dock no Ubuntu

Descubra se um pacote de software existe nos repositórios de sua distribuição

World of Warcraft para Linux

Compiz + KDE no Slackware 14.1

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts