Conky, instalação e configuração básica para Debian e Ubuntu


Conky são "widgets" para o seu desktop, com ele você monitora quase tudo em sua maquina.
Se vive se perguntando o que são esses "widgets" nos prints da galera, leia essa matéria e veja como também ter.


Crie o seu Conky

Conky é um monitor de sistema que pode exibir praticamente qualquer coisa,tanto na sua área de trabalho como em sua própria janela.
Conky possui muitos recursos embutidos, bem como a habilidade de executar programas ou scripts externos (externo ou através de suporte Lua embutido)Fonte documentação.

Entenda que o conky que iremos instalar é o básico, mas com ele você vai poder fazer download de conky de terceiros, totalmente customizados, existe uma infinidade de customizações que agradam a qualquer usuário.

Instalação


Para instalar o conky, abra o terminal a de o comando para a sua distribuição Linux.

Para Arch Linux e derivados
 
yay bsdmainutils
sudo pacman -S conky curl lm_sensors feh
Para Debian e derivados
sudo apt install conky conky-all curl lm-sensors bsdmainutils
Para Fedora e derivados
sudo dnf install conky curl lm_sensors feh bsdmainutils
Para openSUSE
sudo zypper install conky curl lm_sensors feh bsdmainutils

Sensores

Feita a instalação vamos atualizar o sensors, no terminal de o comando abaixo.
sudo sensors-detect
Responda Yes para tudo, tecle y e em seguida tecle Enter.


Vá assim até terminar a identificação dos sensores do seu hardware.


Fonts



As fonts são uma parte muito importante no conky, elas além de serem usadas para os textos, são usadas para exibir vários símbolos.

As fonts usadas nos conkys personalizados não constam dos repositórios oficiais, geralmente são fornecidas juntamente com os arquivos do conky, mas devem ser colocadas em diretório especifico para elas.

Para criar o diretório das fontes, abra o terminal e de o comando abaixo.
mkdir ~/.fonts
Note que se trata de um diretório oculto ( o nome é iniciado por um . ponto ) na sua home.

Caso queira fazer o download das minhas fonts, no terminal de os comandos abaixo.

Entre no diretório das fonts.
cd ~/.fonts
Faça o download das fonts.
wget https://www.dropbox.com/s/vbc3ehoxkq42k27/Fonts_conky.tar.gz?dl=0 -O Fonts_conky.tar.gz
Feito o download, vamos descompactar o arquivo.
tar -vzxf Fonts_conky.tar.gz
Remova o arquivo que fez o download.
rm -fr Fonts_conky.tar.gz
Agora vamos atualizar o cache das fonts.
fc-cache -vf
Essas são as fonts mais utilizadas em conkys.


Conky padrão

Aqui você já pode experimentar o conky padrão.

No terminal de o comando abaixo.
conky
Esse é o conky padrão, sem nenhuma customização.


Configurando o seu primeiro conky

Como iniciação no mundo dos conky, vamos fazer algumas alterações nesse conky padrão.

De o comando abaixo no terminal para criar o diretório do seu primeiro conky.
mkdir -p ~/.conky/meu_conky
De o comando abaixo para copiar as configurações do conky padrão para o o diretório do seu primeiro conky.
cp /etc/conky/conky.conf ~/.conky/meu_conky/conkyrc
De o comando abaixo para executar o seu conky.
conky -c ~/.conky/meu_conky/conkyrc
Ai está o seu conky.


Vamos fazer algumas configurações básicas nesse conky, para deixar ele um pouco mais agradável.

Para facilitar o seu aprendizado, use o seu editor de texto preferido, no meu caso irei usar o gedit que é padrão do Gnome.

Abra outra janela do terminal (deixe a anterior aberta para manter o conky rodando ) e de o comando abaixo para abrir o conkyrc do seu conky.
gedit ~/.conky/meu_conky/conkyrc
As configurações são feitas nas linhas abaixo de conky.config = {



Vamos adicionar o parâmetro para o conky não ficar piscando, localize a linha abaixo no conkyrc.

no_buffers = true,

Abaixo dela coloque a linha abaixo.

double_buffer = true,

Salve para aplicar a alteração e seu conky para de achar que é uma arvore de natal :)

Vamos mudar ele da lateral esquerda para a direita, para isso localize a linha abaixo.

alignment = 'top_left',

Altere ela para.

alignment = 'top_right',

Feita a alteração salve, note que seu conky foi para a direita da tela.


Vamos arrumar o erro do seu conky sumir ao clicar no desktop, caso ele suma, tecle Ctrl + c no terminal que usou para abrir o seu conky e reabra o seu conky.

No conkyrc localize a linha abaixo.

own_window_type = 'desktop',

Altere para.

own_window_type = 'normal',

Salve e veja que seu conky não desaparece mais ao clicar no desktop.

Mas agora ele ganhou uma uma barra superior.


Localize a linha abaixo a mesma que acabamos de alterar no conkyrc.

own_window_type = 'normal',

Abaixo dela cole essa linha.

own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

Ficando assim.


Salve e note que a decoração da janela sumiu.


Vamos subir um pouco a posição do conky, no conkyrc localize a linha abaixo.

gap_y = 60,

Altere para.

gap_y = 6,

Salve.

Vamos deixar o conky transparente.

Localize a linha abaixo.

own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

Logo abaixo da linha acima cole as linhas abaixo.

own_window_argb_visual = true,
own_window_argb_value = 180,

Salve e confira seu conky transparente. ( Alterei o wallpaper para melhorar a visualização )


Note que em Networking está sem leitura, isso tem que ser alterado em qualquer conky para a identificação da sua rede.


Para adicionar a identificação correta da sua rede, de click direito no applet de rede ao lado do relógio do painel e em seguida click em "Informações da conexão".

A identificação que precisamos é a da interface que está grifada de azul, que no meu caso é wlp1s0.


No conkyrc localize a linha abaixo.

Up:$color ${upspeed} ${color grey} - Down:$color ${downspeed}

Altere eth0 para a identificação da sua rede, como no exemplo abaixo.

Up:$color ${upspeed enp0s3} ${color grey} - Down:$color ${downspeed enp0s3}

Salve e veja que a rede passa a exibir seus valores.




Vamos adicionar um calendário ao seu conky, vá ao final do arquivo e localize a linha abaixo.

]]

Cole as linhas abaixo acima do ]]

$hr
${font Monospace:size=9}${color0}${execpi 300 DJS=`date +%_d`; ncal -b -h|sed '1,8!d'| sed '/./!d' | sed 's/^/${goto 120} /'| sed 's/$/ /' | sed 's/^/ /' | sed /" $DJS "/s/" $DJS "/" "'${font Monospace=Bold:size=9}${voffset -1}${color red} '"$DJS"'${color}${font Monospace:size=9}'" "/}${voffset -1}
Salve e veja seu calendário.



Agora vamos adicionar um relógio ao seu conky, logo abaixo da ultima linha adicionada e acima do ]] cole as linhas abaixo.

$hr
${font Digital Readout Thick Upright:size=60}${alignc}${time %H:%M:%S}${font}

Salve o arquivo e visualize o seu conky com relógio.



Notem que a distância entre a ultima linha horizontal e o calendário está desproporcional as demais linhas, no conkyrc localize o ultimo $hr .

A linha está assim.

$hr

Altere para.

${voffset -18}$hr

Salve para aplicar a alteração.

Agora melhorou :)



Vamos adicionar informações da distribuição ao seu conky.

]]

Cole as linhas abaixo acima do ]]

$hr
${execi 999 lsb_release -a}

Salve e confira as alterações no seu conky.


Para finalizar vamos adicionar algumas imagens ao seu conky.

Abra o terminal e entre no diretório do seu conky com o comando abaixo.
cd  ~/.conky/meu_conky/
Faça o download das imagens com o comando abaixo.
wget https://www.dropbox.com/s/4k9d57tedl6x8m2/imagens.tar.gz?dl=0 -O imagens.tar.gz
Feito o download, vamos descompactar o arquivo.
tar -vzxf imagens.tar.gz
Apague o arquivo que fez o download com o comando abaixo.
rm -fr imagens.tar.gz
Ai estão as imagens para o seu conky.


Vamos adicionar o gnu e o tux ao conky, no conkyrc localize.

]]

Cole as linhas abaixo acima do ]]

${image ~/.conky/meu_conky/imagens/gnu.png -p 10,430 -s 80x80}
${image ~/.conky/meu_conky/imagens/tux.png -p 330,430 -s 80x80}
${image ~/.conky/meu_conky/imagens/debian.png -p 330,660 -s 60x70}

OBS: Se estiver usando Ubuntu, altere debian.png para ubuntu.png

Explicando as linhas das imagens.

${image > Comando
 ~/.conky/meu_conky/imagens/gnu.png  > Endereço da imagem
-p 10,430  > Posição da imagem no conky
-s 80x80} > Tamanho da imagem

Salve e veja seu conky agora.

Pronto, ai está o seu primeiro conky.



Script para iniciar o conky

Vamos criar o script para iniciar o conkyrc, no terminal de o comando abaixo.
gedit ~/.conky/meu_conky/meu_conky.sh
Cole as linhas abaixo e salve o arquivo.

#!/bin/bash
killall conky
sleep 10 && conky -c ~/.conky/meu_conky/conkyrc;
exit 0

De o comando abaixo para tornar o script executavel.
chmod +x ~/.conky/meu_conky/meu_conky.sh

Atalho para o menu

Agora vamos criar um atalho do seu conky no menu do seu sistema, feche o conkyrc e as janelas do terminal.

Abra o terminal e de o comando abaixo.
gedit ~/.local/share/applications/meu_conky.desktop
Cole as linhas abaixo no arquivo aberto.
Altere seunomedeuser pelo seu nome de usuário

[Desktop Entry]
Name=Meu primeiro conky
Comment=Barra de monitoramento,conky
Exec=/home/seunomedeuser/.conky/meu_conky/meu_conky.sh %f
Icon=preferences-desktop-theme
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Utility;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Component=general


Salve, vá ao menu Acessórios e abra o seu conky.

Manual do conky

Isso é o básico para configurar um conky, no mais você pode usar o manual do conky, de o comando abaixo no terminal para ver o manual.
man conky
Bons estudos :)


Confira também.

Criar script para iniciar o conky



O conkyrc criado nessa matéria está no quadro abaixo.



-- Conky, a system monitor https://github.com/brndnmtthws/conky -- -- This configuration file is Lua code. You can write code in here, and it will -- execute when Conky loads. You can use it to generate your own advanced -- configurations. -- -- Try this (remove the `--`): -- -- print("Loading Conky config") -- -- For more on Lua, see: -- https://www.lua.org/pil/contents.html conky.config = { alignment = 'top_right', background = false, border_width = 1, cpu_avg_samples = 2, default_color = 'white', default_outline_color = 'white', default_shade_color = 'white', double_buffer = true, draw_borders = false, draw_graph_borders = true, draw_outline = false, draw_shades = false, extra_newline = false, font = 'DejaVu Sans Mono:size=12', gap_x = 6, gap_y = 60, minimum_height = 5, minimum_width = 5, net_avg_samples = 2, no_buffers = true, double_buffer = true, out_to_console = false, out_to_ncurses = false, out_to_stderr = false, out_to_x = true, own_window = true, own_window_class = 'Conky', own_window_type = 'normal', own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', own_window_argb_visual = true, own_window_argb_value = 180, show_graph_range = false, show_graph_scale = false, stippled_borders = 0, update_interval = 1.0, uppercase = false, use_spacer = 'none', use_xft = true, } conky.text = [[ ${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine} $hr ${color grey}Uptime:$color $uptime ${color grey}Frequency (in MHz):$color $freq ${color grey}Frequency (in GHz):$color $freq_g ${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4} ${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4} ${color grey}CPU Usage:$color $cpu% ${cpubar 4} ${color grey}Processes:$color $processes ${color grey}Running:$color $running_processes $hr ${color grey}File systems: / $color${fs_used /}/${fs_size /} ${fs_bar 6 /} ${color grey}Networking: Up:$color ${upspeed enp0s3} ${color grey} - Down:$color ${downspeed enp0s3} $hr ${color grey}Name PID CPU% MEM% ${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1} ${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2} ${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3} ${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4} $hr ${font Monospace:size=9}${color0}${execpi 300 DJS=`date +%_d`; ncal -b -h|sed '1,8!d'| sed '/./!d' | sed 's/^/${goto 120} /'| sed 's/$/ /' | sed 's/^/ /' | sed /" $DJS "/s/" $DJS "/" "'${font Monospace=Bold:size=9}${voffset -1}${color red} '"$DJS"'${color}${font Monospace:size=9}'" "/}${voffset -1} $hr ${font Digital Readout Thick Upright:size=30}${alignc}${time %H:%M:%S}${font} $hr ${execi 999 lsb_release -a} ${image ~/.conky/meu_conky/imagens/gnu.png -p 10,430 -s 80x80} ${image ~/.conky/meu_conky/imagens/tux.png -p 330,430 -s 80x80} ${image ~/.conky/meu_conky/imagens/debian.png -p 330,660 -s 60x70} ]]



Comentários

  1. Ótimo passo a passo! Parabéns man!

    ResponderExcluir
  2. não funcionou o ultimo comando no kde

    ResponderExcluir
    Respostas
    1. Tenso cara, que ultimo comando vc fala?

      Excluir
    2. funcionou, instalei o condy no lugar errado, ja arrumei. valew. muito bom o passo a passo.

      Excluir
  3. Show de bola, obrigado pela contribuição!

    ResponderExcluir
  4. O meu não inicia com o linux, apenas quando dou o comando pelo terminal. Minha distro é deepin linux.

    ResponderExcluir
    Respostas
    1. Por gentileza faça suas perguntas em nosso fórum.
      https://linuxdicasesuporte.blogspot.com.br/p/document.html

      Excluir
    2. Para quem usa deepin linux coloque o script meu_conky.sh na pasta .config/autostart da conta do usuario logado.
      Fiz isso no deepin 15.10 e funcionou normal.

      Excluir
  5. Caramba nem acredito que eu consegui!!!! Valeu Ricardo! Como sempre um mestre!
    Só tenho duas dúvidas pontuais: Como faço para deixar totalmente transparente? Gostaria que ficasse visível só as letras praticamente. E a segunda é se tem atualização. Elas serão automáticas ou tenho que fazer algum processo? É só isso. Mais uma vez muitíssimo obrigado!

    ResponderExcluir
    Respostas
    1. A transparência é em own_window_argb_value = 180, é atualizado pelo sistema

      Excluir
    2. Quanto menor o valor mais transparênte fica

      Excluir
    3. Ricardo, blz?
      Estou usando o Lubuntu 18.04 e já tentei de tudo e meu conky continua 'preto'. Alguma dica ?

      Excluir
    4. Instale um compositor, https://linuxdicasesuporte.blogspot.com/2018/11/compositor-compton-no-lxde_1.html

      Excluir
    5. Fala Lobo, mano fiz e não tinha visto que tinha respondido e era exatamente a falta disto. Tudo funcionando. Seu script de inicialização faz referencia ao gnome. No meu caso com LXDE (lubuntu) devo alterar os valores ? Vlw

      Excluir
    6. Deixa como está com gnome.

      Excluir
  6. Boa tarde. Permitam-me contribuir com algo que senti falta, mas já encontrei uma solução bastante simples!
    Se quiserem adicionar também a temperatura do CPU, basta adicionar a linha:

    ${color grey}Temperatura CPU:$color ${exec sensors | grep -n 'temp1' | awk -F'+' '{print $2}' | awk -F' ' '{print $1}'}

    No meu caso, adicionei a linha abaixo de "CPU Usage".

    ResponderExcluir
    Respostas
    1. Informação e conhecimento só têm valor se estão em circulação... Estamos aí para contribuir! 👍

      Excluir
  7. Outra contribuição interessante, para quem também utiliza mais de uma conexão (LAN e WLAN, por exemplo).

    Duplique a linha "Up:$color ${upspeed eth0} ${color grey} - Down:$color ${downspeed eth0}". Em uma delas, substitua o "eth0" pela identificação de sua conexão LAN, e na segunda, a identificação de sua conexão WLAN.

    Se quiser identificar cada uma, adicione no início "${color grey}LAN: " (ou WLAN, se for o caso). No meu caso, ficou assim:

    {color grey}Networking:
    ${color grey}LAN: Up:$color ${upspeed enp2s0} ${color grey} - Down:$color ${downspeed enp2s0}
    ${color grey}WiFi: Up:$color ${upspeed wlp1s0} ${color grey} - Down:$color ${downspeed wlp1s0}

    ResponderExcluir
    Respostas
    1. Para criar um padrão também se pode forçar a adoção das interfaces de rede antigas eth e wlam https://linuxdicasesuporte.blogspot.com/2017/03/alterar-nome-da-interface-de-rede.html

      Excluir
  8. Olá, fiz tudo certinho porém eu uso notebook, tem algum jeito de minuir o conky? pesquisei e não encontrei!

    Obrigado pelo ótimo tutorial!

    ResponderExcluir
    Respostas
    1. Use perfil com nome mermão, vc pode diminuir o tamanho da font em

      font = 'DejaVu Sans Mono:size=12',

      De 12 coloque 8 e teste

      Excluir
  9. muito bom o passo-a-passo, fiz tudo igual, mais ele não inicia com o sistema. Tem alguma outra coisa que eu possa fazer?

    Debian 9 xfce aqui.

    obrigado!

    ResponderExcluir
  10. OBRIGADO! Muito bom esse seu tutorial..... Me ajudou muito..... O bom de se ter conhecimento é isto, compartilhar....

    ResponderExcluir
    Respostas
    1. O conhecimento de nada serve se o levamos para o tumulo :) VLW :)

      Excluir
  11. Obrigado pelo tutorial.
    Estou tentando configurar num Raspberry, usando a versão "Raspbian Buster".
    O Conky baixei diretamente do repositório pelo Synaptic (conky-all) mas algo está diferente na configuração.
    Fiz o download do pacote de fontes e tentei instalar conforme seu tutorial, mas não produziu nenhum efeito sobre o widget.
    Possuo um arquivo .conkyrc no meu diretório $home e as fontes ele continua buscando no diretório /usr/share/fonts/
    Então fiz o download de suas fontes para aquele diretório, atualizei com fc-cache.
    Agora consigo usá-las em outros aplicativos, mas mesmo assim parece que o conky não reconhece...
    O relógio também não usa a fonte "digital readout thick upright" fornecido pelo seu pacote, embora eu consigo usá-la no LibreOffice!
    Consegui instalar o calendário, mas as letras com acento ficaram desconfiguradas (como o dia da semana "Sáb", por exemplo).
    Eu poderia contornar o problema, trocando as palavras com acento por outras sem acento (como fiz em outras partes do conky), mas não sei como fazer isso no comando que traz o calendário.
    Outra coisa que falta configurar: Não sei deixar as imagens do tux e do gnu com transparência. Mesmo baixando os png's já prontos, ou trabalhando as imagens no Gimp, elas continuam aparecendo com um fundo branco!
    Obs: A versão do conky instalado é 1.10.1-8, fornecido pelo repositório do raspberry.
    Agradeço qualquer sugestão :)

    ResponderExcluir
    Respostas
    1. As fonts é só atualizar o cache, reiniciar pode ajudar.
      As letras sem acento é config do seu locales.
      Fundo transparente nas imagens depende de a placa de vídeo suportar isso e vc precisa ter um compositor ativo, compton é uma alternativa.

      Excluir
  12. Ok. Obrigado pela resposta!
    De fato, foi apenas reiniciar o Raspberry e as imagens se apresentaram com fundo transparente. A Fonte "digital readout" também apareceu no relógio após a reinicialização.
    Aprendi que não basta apenas salvar o arquivo conkyrc para acontecer os efeitos gráficos, mas é necessário reiniciar o RPI.
    Apenas as letras com acento ainda estão sem solução...
    Mas vou pesquisar sobre a configuração do locales, pra resolver isso.
    Mais uma vez, obrigado pelo tutorial! :)

    ResponderExcluir
  13. Contribuindo tambem segue a linha abaixo para monitorar temperatura do HD,SSD no conky
    $hr
    ${color grey}Temperatura SSD:$color ${exec sudo hddtemp /dev/sda1 | grep -n 'sda1' | awk -F'+' '{print $1}' | awk -F' ' '{print $4}'}

    Adicionei no /etc/sudoers a linha abaixo para verificar as temperaturas do discos que tenho instalado
    usuario host=NOPASSWD:/usr/sbin/hddtemp /dev/sd*
    Apos alterar os /etc/suoders salve e teste o comando hddtemp /dev/sd* e veja que nao pedira mais senha
    Com este esquema o conky monitora as temperaturas do discos sem ficar pedindo senha.


    ResponderExcluir
  14. Contribuindo com a galera segue o esquema para conky mostrar cotação do Dolar, Bitcoin e IpExterno esta funcionando no Ubuntu 16.04 e Deepin 15.10 com o lynx instalado.
    $hr
    ${color white}${font Monospace:size=9}Dolar Hoje: ${exec lynx -dump dolarhoje.com | grep vale | awk '{print $5}'| sed 's/_//g;s/é//g'} Bitcoin Hoje:${exec lynx -dump dolarhoje.com/bitcoin | grep vale | awk '{print $5}'| sed 's/_//g'}
    IpExterno:${exec lynx -dump http://icanhazip.com}

    ResponderExcluir
  15. Bom dia

    Lobo fiz tudo correto porem meu conky nao inicia com o sistema .. alguma dica ???

    ResponderExcluir
    Respostas
    1. Veja ai https://linuxdicasesuporte.blogspot.com/2017/08/criar-script-para-iniciar-o-conky.html

      Excluir

Postar um comentário

olá, seja bem vindo ao Linux Dicas e suporte !!

Você precisa ver isso

Todos os arquivos do blog

Mostrar mais