Relógio+Clima móvel estilo HTC/SmartPhone/Windows no Ubuntu 12.04, com o conky

Iniciado por boladegude, 02 de Agosto de 2012, 19:46

tópico anterior - próximo tópico

Sergio Benjamim

Alguém sabe se dá para instalar esse conky de um jeito fácil, sem ficar configurando tudo isso? Para usuários final isso é bem complicado heim... eu to querendo instalar num notebook aqui de um vizinho, mas to com medo de dar pau aqui e eles terem que configurar tudo de novo (o que eles não vão fazer).

Alguém sabe se esse conky funciona bem no Ubuntu 12.04? Sem dar pau?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

Citação de: Sergio Benjamim online 22 de Abril de 2013, 21:26
Alguém sabe se dá para instalar esse conky de um jeito fácil, sem ficar configurando tudo isso? Para usuários final isso é bem complicado heim... eu to querendo instalar num notebook aqui de um vizinho, mas to com medo de dar pau aqui e eles terem que configurar tudo de novo (o que eles não vão fazer).

Alguém sabe se esse conky funciona bem no Ubuntu 12.04? Sem dar pau?

Sergio,

Se você está lendo pela primeira vez esse tópico...
"Relógio+Clima móvel estilo HTC/SmartPhone/Windows no Ubuntu 12.04, com o conky"
... então ignore os posts #12 e #13 com segurança!
Vá apenas até o post #11

Os posts #12 e #13 contém correções apenas para quem instalou antes de 12/02/2013 !

No entanto é possível que eu coloque novas informações daqui para diante :)

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

Sergio Benjamim

Eu consegui instalar uma configuração do conky aqui (conky-lua), esse aqui do tópico vou tentar depois. Legal a ideia do conky, vc adiciona recursos ao seu desktop e não carrega muito a memória, mas achei que não é nem um pouco voltado para usuário iniciante (só para quem gosta de escovar bits, como nós). Não existe nenhum programa que instale o conky + configurações? Sei lá, algo mais amigável... algum aplicativo que troque facilmente entre uma e outra configuração do conky, mostre uma pré-visualização, permita alterar alguns parâmetros, tudo isso com interface gráfica?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

Citação de: Sergio Benjamim online 24 de Abril de 2013, 01:31
Eu consegui instalar uma configuração do conky aqui (conky-lua), esse aqui do tópico vou tentar depois. Legal a ideia do conky, vc adiciona recursos ao seu desktop e não carrega muito a memória, mas achei que não é nem um pouco voltado para usuário iniciante (só para quem gosta de escovar bits, como nós). Não existe nenhum programa que instale o conky + configurações? Sei lá, algo mais amigável... algum aplicativo que troque facilmente entre uma e outra configuração do conky, mostre uma pré-visualização, permita alterar alguns parâmetros, tudo isso com interface gráfica?

Devem existir algumas ferramentas padrão com os recursos que você citou...
Mas você pode tornar gráfica essa interface você mesmo, através de scripting e diálogos gráficos como zenity e yad, ou processos semelhantes. O linux é realmente muito versátil!

Aqui me preocupei apenas em disponibilizar o relógio+clima, que funciona bastante bem. :)
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

Sergio Benjamim

Citação de: boladegude online 24 de Abril de 2013, 09:31
Citação de: Sergio Benjamim online 24 de Abril de 2013, 01:31
Eu consegui instalar uma configuração do conky aqui (conky-lua), esse aqui do tópico vou tentar depois. Legal a ideia do conky, vc adiciona recursos ao seu desktop e não carrega muito a memória, mas achei que não é nem um pouco voltado para usuário iniciante (só para quem gosta de escovar bits, como nós). Não existe nenhum programa que instale o conky + configurações? Sei lá, algo mais amigável... algum aplicativo que troque facilmente entre uma e outra configuração do conky, mostre uma pré-visualização, permita alterar alguns parâmetros, tudo isso com interface gráfica?

Devem existir algumas ferramentas padrão com os recursos que você citou...
Mas você pode tornar gráfica essa interface você mesmo, através de scripting e diálogos gráficos como zenity e yad, ou processos semelhantes. O linux é realmente muito versátil!

Aqui me preocupei apenas em disponibilizar o relógio+clima, que funciona bastante bem. :)

Eu sei que é versátil, o problema é o tempo! rsrs

Mas não sei se vale a pena investir nisso, por que pelo que entendi esse Conky joga esses "widgets" no desktop usando diretamente o X. Com o Ubuntu migrando para o Mir, como vai ficar o suporte do Conky?
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

O Ubuntu vai migrar para esse tal de Mir?! Estou sabendo agora !! :)
Daqui a 4 anos quando eu fizer update da atual versão 12.04LTS eu me preocupo com isso  :D
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

Sergio Benjamim

Deixei numa configuração legal o meu conky, consegui até deixar temperatura da CPU junto do marcador de uso da CPU.

Olha aí a imagem:

Meu Ubuntu 12.04 com Conky Lua

Arquivo .conkyrc:


#  http://www.NoobsLab.com #
#      Conky settings      #
background no
update_interval 1

cpu_avg_samples 2
net_avg_samples 2

override_utf8_locale yes

double_buffer yes
no_buffers yes

text_buffer_size 2048
#imlib_cache_size 0

temperature_unit fahrenheit

# Window specifications #

own_window_class Conky
own_window yes
own_window_type conky
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_visual yes

border_inner_margin 0
border_outer_margin 0

minimum_size 200 250
maximum_width 200

alignment tr
gap_x 35
gap_y 55

# Graphics settings #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# Text settings #
use_xft yes
xftfont caviar dreams:size=8
xftalpha 0.5

uppercase no

temperature_unit celsius


default_color FFFFFF

# Lua Load  #
lua_load ~/.conky/clock_rings.lua
lua_draw_hook_pre clock_rings

TEXT
${voffset 8}${color FF6600}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 50}${color FFFFFF}${font caviar dreams:size=38}${time %e}${font}
${color FFFFFF}${voffset -30}${color FFFFFF}${font caviar dreams:size=18}${time %b}${font}${voffset -3} ${color FFFFFF}${font caviar dreams:size=20}${time %Y}${font}${color FF6600}${hr}
${voffset 140}${font caviar dreams:size=10}${alignr}Guaratinguetá${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ SBGW temperature temperature 30} °C${font}
${image ~/.conky/new-ubuntu-logo.png -p 64,125 -s 70x20}

${color FFFFFF}${goto 25}${voffset 35}${cpu cpu0}%
${color FFFFFF}${goto 25}${execi 8 sensors | grep -A 0 'Core 0' |cut -c16-17}°C
${color FF6600}${goto 25}CPU
${color FFFFFF}${goto 50}${voffset 23}${memperc}%
${color FF6600}${goto 50}RAM
${color FFFFFF}${goto 75}${voffset 23}${swapperc}%
${color FF6600}${goto 75}Swap
${color FFFFFF}${goto 100}${voffset 23}${fs_used_perc /}%
${color FF6600}${goto 100}Disk
${color FFFFFF}${goto 125}${voffset 25}${if_up wlan0}${downspeed wlan0}${endif}
${color FFFFFF}${goto 125}${if_up wlan0}${upspeed wlan0}${endif}
${color FF6600}${goto 125}Net



${color FFFFFF}${font caviar dreams:size=8}Uptime: ${uptime_short}
${color FFFFFF}${font caviar dreams:size=8}Processes: ${processes}
${color FFFFFF}${font caviar dreams:size=8}Running: ${running_processes}


${color FF6600}${font caviar dreams:size=8}${alignr}${nodename}
${color FF6600}${font caviar dreams:size=8}${alignr}${pre_exec cat /etc/issue.net}  $machine


Arquivo clock_rings.lua, dentro da pasta .conky:


--[[
Clock Rings by Linux Mint (2011) reEdited by despot77

This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua script.

IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.

To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
   lua_load ~/scripts/clock_rings.lua
   lua_draw_hook_pre clock_rings
   
Changelog:
+ v1.0 -- Original release (30.09.2009)
  v1.1p -- Jpope edit londonali1010 (05.10.2009)
*v 2011mint -- reEdit despot77 (18.02.2011)
]]

settings_table = {
   {
       -- Edit this table to customise your rings.
       -- You can create more rings simply by adding more elements to settings_table.
       -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
       name='time',
       -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
       arg='%I.%M',
       -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
       max=12,
       -- "bg_colour" is the colour of the base ring.
       bg_colour=0xffffff,
       -- "bg_alpha" is the alpha value of the base ring.
       bg_alpha=0.1,
       -- "fg_colour" is the colour of the indicator part of the ring.
       fg_colour=0xFF6600,
       -- "fg_alpha" is the alpha value of the indicator part of the ring.
       fg_alpha=0.2,
       -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
       x=100, y=150,
       -- "radius" is the radius of the ring.
       radius=50,
       -- "thickness" is the thickness of the ring, centred around the radius.
       thickness=5,
       -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
       start_angle=0,
       -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
       end_angle=360
   },
   {
       name='time',
       arg='%M.%S',
       max=60,
       bg_colour=0xffffff,
       bg_alpha=0.1,
       fg_colour=0xFF6600,
       fg_alpha=0.4,
       x=100, y=150,
       radius=56,
       thickness=5,
       start_angle=0,
       end_angle=360
   },
   {
       name='time',
       arg='%S',
       max=60,
       bg_colour=0xffffff,
       bg_alpha=0.1,
       fg_colour=0xFF6600,
       fg_alpha=0.6,
       x=100, y=150,
       radius=62,
       thickness=5,
       start_angle=0,
       end_angle=360
   },
   {
       name='time',
       arg='%d',
       max=31,
       bg_colour=0xffffff,
       bg_alpha=0.1,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=100, y=150,
       radius=70,
       thickness=5,
       start_angle=-90,
       end_angle=90
   },
   {
       name='time',
       arg='%m',
       max=12,
       bg_colour=0xffffff,
       bg_alpha=0.1,
       fg_colour=0xFF6600,
       fg_alpha=1,
       x=100, y=150,
       radius=76,
       thickness=5,
       start_angle=-90,
       end_angle=90
   },
   {
       name='cpu',
       arg='cpu0',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=50, y=300,
       radius=25,
       thickness=5,
       start_angle=-90,
       end_angle=180
   },
   {
       name='memperc',
       arg='',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=75, y=350,
       radius=25,
       thickness=5,
       start_angle=-90,
       end_angle=180
   },
   {
       name='swapperc',
       arg='',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=100, y=400,
       radius=25,
       thickness=5,
       start_angle=-90,
       end_angle=180
   },
   {
       name='fs_used_perc',
       arg='/',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=125, y=450,
       radius=25,
       thickness=5,
       start_angle=-90,
       end_angle=180
   },
       {
       name='downspeedf',
       arg='wlan0',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=150, y=500,
       radius=25,
       thickness=4,
       start_angle=-90,
       end_angle=180
   },
       {
       name='upspeedf',
       arg='wlan0',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=150, y=500,
       radius=20,
       thickness=4,
       start_angle=-90,
       end_angle=180
   },
       {
       name='downspeedf',
       arg='eth0',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=150, y=500,
       radius=25,
       thickness=4,
       start_angle=-90,
       end_angle=180
   },
       {
       name='upspeedf',
       arg='eth0',
       max=100,
       bg_colour=0xffffff,
       bg_alpha=0.2,
       fg_colour=0xFF6600,
       fg_alpha=0.8,
       x=150, y=500,
       radius=20,
       thickness=4,
       start_angle=-90,
       end_angle=180
   },
}

-- Use these settings to define the origin and extent of your clock.

clock_r=65

-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.

clock_x=100
clock_y=150

show_seconds=true

require 'cairo'

function rgb_to_r_g_b(colour,alpha)
   return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end

function draw_ring(cr,t,pt)
   local w,h=conky_window.width,conky_window.height
   
   local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
   local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']

   local angle_0=sa*(2*math.pi/360)-math.pi/2
   local angle_f=ea*(2*math.pi/360)-math.pi/2
   local t_arc=t*(angle_f-angle_0)

   -- Draw background ring

   cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
   cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
   cairo_set_line_width(cr,ring_w)
   cairo_stroke(cr)
   
   -- Draw indicator ring

   cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
   cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
   cairo_stroke(cr)        
end

function draw_clock_hands(cr,xc,yc)
   local secs,mins,hours,secs_arc,mins_arc,hours_arc
   local xh,yh,xm,ym,xs,ys
   
   secs=os.date("%S")    
   mins=os.date("%M")
   hours=os.date("%I")
       
   secs_arc=(2*math.pi/60)*secs
   mins_arc=(2*math.pi/60)*mins+secs_arc/60
   hours_arc=(2*math.pi/12)*hours+mins_arc/12
       
   -- Draw hour hand
   
   xh=xc+0.7*clock_r*math.sin(hours_arc)
   yh=yc-0.7*clock_r*math.cos(hours_arc)
   cairo_move_to(cr,xc,yc)
   cairo_line_to(cr,xh,yh)
   
   cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
   cairo_set_line_width(cr,5)
   cairo_set_source_rgba(cr,1.0,1.0,1.0,1.0)
   cairo_stroke(cr)
   
   -- Draw minute hand
   
   xm=xc+clock_r*math.sin(mins_arc)
   ym=yc-clock_r*math.cos(mins_arc)
   cairo_move_to(cr,xc,yc)
   cairo_line_to(cr,xm,ym)
   
   cairo_set_line_width(cr,3)
   cairo_stroke(cr)
   
   -- Draw seconds hand
   
   if show_seconds then
       xs=xc+clock_r*math.sin(secs_arc)
       ys=yc-clock_r*math.cos(secs_arc)
       cairo_move_to(cr,xc,yc)
       cairo_line_to(cr,xs,ys)
   
       cairo_set_line_width(cr,1)
       cairo_stroke(cr)
   end
end

function conky_clock_rings()
   local function setup_rings(cr,pt)
       local str=''
       local value=0
       
       str=string.format('${%s %s}',pt['name'],pt['arg'])
       str=conky_parse(str)
       
       value=tonumber(str)
       pct=value/pt['max']
       
       draw_ring(cr,pct,pt)
   end
   
   -- Check that Conky has been running for at least 5s

   if conky_window==nil then return end
   local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
   
   local cr=cairo_create(cs)    
   
   local updates=conky_parse('${updates}')
   update_num=tonumber(updates)
   
   if update_num>5 then
       for i in pairs(settings_table) do
           setup_rings(cr,settings_table[i])
       end
   end
   
   draw_clock_hands(cr,clock_x,clock_y)
end


Tive que incluir esses comandos para funcionar direito, em uma outra instalação do ubuntu:

Citar
if not value then
       value=0
end

Isso depois da linha 313 (depois de value=tonumber(str)).

Engraçado que na outra instalação, não precisei fazer essa alteração para funcionar normal... estou achando que é um problema com o cairo, e na outra instalação o cairo se encontra atualizado por meio de algum PPA.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

Sergio Benjamim

É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

Sergio Benjamim

Fiz umas modificações, o anel do disco mede o tamanho da /home agora, e agora há dois anéis para o processador (dois núcleos).

clock_rings.lua:


--[[
Clock Rings by Linux Mint (2011) reEdited by despot77

This script draws percentage meters as rings, and also draws clock hands if you want! It is fully customisable; all options are described in the script. This script is based off a combination of my clock.lua script and my rings.lua script.

IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement on line 145 uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num>5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num>3; conversely if you update Conky every 0.5s, you should use update_num>10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.

To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
    lua_load ~/scripts/clock_rings.lua
    lua_draw_hook_pre clock_rings
   
Changelog:
+ v1.0 -- Original release (30.09.2009)
   v1.1p -- Jpope edit londonali1010 (05.10.2009)
*v 2011mint -- reEdit despot77 (18.02.2011)
]]

settings_table = {
    {
        -- Edit this table to customise your rings.
        -- You can create more rings simply by adding more elements to settings_table.
        -- "name" is the type of stat to display; you can choose from 'cpu', 'memperc', 'fs_used_perc', 'battery_used_perc'.
        name='time',
        -- "arg" is the argument to the stat type, e.g. if in Conky you would write ${cpu cpu0}, 'cpu0' would be the argument. If you would not use an argument in the Conky variable, use ''.
        arg='%I.%M',
        -- "max" is the maximum value of the ring. If the Conky variable outputs a percentage, use 100.
        max=12,
        -- "bg_colour" is the colour of the base ring.
        bg_colour=0xFFFFFF,
        -- "bg_alpha" is the alpha value of the base ring.
        bg_alpha=0.1,
        -- "fg_colour" is the colour of the indicator part of the ring.
        fg_colour=0xFFFFFF,
        -- "fg_alpha" is the alpha value of the indicator part of the ring.
        fg_alpha=0.2,
        -- "x" and "y" are the x and y coordinates of the centre of the ring, relative to the top left corner of the Conky window.
        x=100, y=150,
        -- "radius" is the radius of the ring.
        radius=50,
        -- "thickness" is the thickness of the ring, centred around the radius.
        thickness=5,
        -- "start_angle" is the starting angle of the ring, in degrees, clockwise from top. Value can be either positive or negative.
        start_angle=0,
        -- "end_angle" is the ending angle of the ring, in degrees, clockwise from top. Value can be either positive or negative, but must be larger than start_angle.
        end_angle=360
    },
    {
        name='time',
        arg='%M.%S',
        max=60,
        bg_colour=0xFFFFFF,
        bg_alpha=0.1,
        fg_colour=0xFFFFFF,
        fg_alpha=0.4,
        x=100, y=150,
        radius=56,
        thickness=5,
        start_angle=0,
        end_angle=360
    },
    {
        name='time',
        arg='%S',
        max=60,
        bg_colour=0xFFFFFF,
        bg_alpha=0.1,
        fg_colour=0xFFFFFF,
        fg_alpha=0.6,
        x=100, y=150,
        radius=62,
        thickness=5,
        start_angle=0,
        end_angle=360
    },
    {
        name='time',
        arg='%d',
        max=31,
        bg_colour=0xFFFFFF,
        bg_alpha=0.1,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=100, y=150,
        radius=70,
        thickness=5,
        start_angle=-90,
        end_angle=90
    },
    {
        name='time',
        arg='%m',
        max=12,
        bg_colour=0xFFFFFF,
        bg_alpha=0.1,
        fg_colour=0xFFFFFF,
        fg_alpha=1,
        x=100, y=150,
        radius=76,
        thickness=5,
        start_angle=-90,
        end_angle=90
    },
    {
        name='cpu',
        arg='cpu0',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=50, y=300,
        radius=25,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
    {
        name='cpu',
        arg='cpu1',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=50, y=300,
        radius=20,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
    {
        name='memperc',
        arg='',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=75, y=350,
        radius=25,
        thickness=5,
        start_angle=-90,
        end_angle=180
    },
    {
        name='swapperc',
        arg='',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=100, y=400,
        radius=25,
        thickness=5,
        start_angle=-90,
        end_angle=180
    },
    {
        name='fs_used_perc',
        arg='/home',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=125, y=450,
        radius=25,
        thickness=5,
        start_angle=-90,
        end_angle=180
    },
        {
        name='downspeedf',
        arg='wlan0',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=150, y=500,
        radius=25,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
        {
        name='upspeedf',
        arg='wlan0',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=150, y=500,
        radius=20,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
        {
        name='downspeedf',
        arg='eth0',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=150, y=500,
        radius=25,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
        {
        name='upspeedf',
        arg='eth0',
        max=100,
        bg_colour=0xFFFFFF,
        bg_alpha=0.2,
        fg_colour=0xFFFFFF,
        fg_alpha=0.8,
        x=150, y=500,
        radius=20,
        thickness=4,
        start_angle=-90,
        end_angle=180
    },
}

-- Use these settings to define the origin and extent of your clock.

clock_r=65

-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.

clock_x=100
clock_y=150

show_seconds=true

require 'cairo'

function rgb_to_r_g_b(colour,alpha)
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end

function draw_ring(cr,t,pt)
    local w,h=conky_window.width,conky_window.height
   
    local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
    local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']

    local angle_0=sa*(2*math.pi/360)-math.pi/2
    local angle_f=ea*(2*math.pi/360)-math.pi/2
    local t_arc=t*(angle_f-angle_0)

    -- Draw background ring

    cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
    cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
    cairo_set_line_width(cr,ring_w)
    cairo_stroke(cr)
   
    -- Draw indicator ring

    cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
    cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
    cairo_stroke(cr)       
end

function draw_clock_hands(cr,xc,yc)
    local secs,mins,hours,secs_arc,mins_arc,hours_arc
    local xh,yh,xm,ym,xs,ys
   
    secs=os.date("%S")   
    mins=os.date("%M")
    hours=os.date("%I")
       
    secs_arc=(2*math.pi/60)*secs
    mins_arc=(2*math.pi/60)*mins+secs_arc/60
    hours_arc=(2*math.pi/12)*hours+mins_arc/12
       
    -- Draw hour hand
   
    xh=xc+0.7*clock_r*math.sin(hours_arc)
    yh=yc-0.7*clock_r*math.cos(hours_arc)
    cairo_move_to(cr,xc,yc)
    cairo_line_to(cr,xh,yh)
   
    cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
    cairo_set_line_width(cr,5)
    cairo_set_source_rgba(cr,1.0,1.0,1.0,1.0)
    cairo_stroke(cr)
   
    -- Draw minute hand
   
    xm=xc+clock_r*math.sin(mins_arc)
    ym=yc-clock_r*math.cos(mins_arc)
    cairo_move_to(cr,xc,yc)
    cairo_line_to(cr,xm,ym)
   
    cairo_set_line_width(cr,3)
    cairo_stroke(cr)
   
    -- Draw seconds hand
   
    if show_seconds then
        xs=xc+clock_r*math.sin(secs_arc)
        ys=yc-clock_r*math.cos(secs_arc)
        cairo_move_to(cr,xc,yc)
        cairo_line_to(cr,xs,ys)
   
        cairo_set_line_width(cr,1)
        cairo_stroke(cr)
    end
end

function conky_clock_rings()
    local function setup_rings(cr,pt)
        local str=''
        local value=0
       
        str=string.format('${%s %s}',pt['name'],pt['arg'])
        str=conky_parse(str)
       
        value=tonumber(str)
        pct=value/pt['max']
       
        draw_ring(cr,pct,pt)
    end
   
    -- Check that Conky has been running for at least 5s

    if conky_window==nil then return end
    local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
   
    local cr=cairo_create(cs)   
   
    local updates=conky_parse('${updates}')
    update_num=tonumber(updates)
   
    if update_num>5 then
        for i in pairs(settings_table) do
            setup_rings(cr,settings_table[i])
        end
    end
   
    draw_clock_hands(cr,clock_x,clock_y)
end


.conkyrc:


#  http://www.NoobsLab.com #
#      Conky settings      #

background no
update_interval 1

cpu_avg_samples 2
net_avg_samples 2

override_utf8_locale yes

double_buffer yes
no_buffers yes

text_buffer_size 2048
#imlib_cache_size 0

temperature_unit fahrenheit

# Window specifications #

own_window_class Conky
own_window yes
own_window_type conky
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_visual yes

border_inner_margin 0
border_outer_margin 0

minimum_size 200 250
maximum_width 200

alignment tr
gap_x 35
gap_y 15

# Graphics settings #
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# Text settings #
use_xft yes
xftfont caviar dreams:size=8
xftalpha 0.5

uppercase no

temperature_unit celsius


default_color FFFFFF

# Lua Load  #
lua_load ~/.conky/clock_rings.lua
lua_draw_hook_pre clock_rings

TEXT
${voffset 8}${color FFFFFF}${font caviar dreams:size=16}${time %A}${font}${voffset -8}${alignr 50}${color FFFFFF}${font caviar dreams:size=38}${time %e}${font}
${color FFFFFF}${voffset -30}${color FFFFFF}${font caviar dreams:size=18}${time %b}${font}${voffset -3} ${color FFFFFF}${font caviar dreams:size=20}${time %Y}${font}${color FFFFFF}${hr}
${voffset 140}${font caviar dreams:size=10}${alignr}Guaratinguetá${font}
${font caviar dreams:size=12}${color FFFFFF}${alignr}${weather http://weather.noaa.gov/pub/data/observations/metar/stations/ SBGW temperature temperature 30} °C${font}
${image ~/.conky/new-ubuntu-logo.png -p 64,125 -s 70x20}

${color FFFFFF}${goto 25}${voffset 35}${cpu cpu0}%
${color FFFFFF}${goto 25}${execi 8 sensors | grep -A 0 'Core 0' |cut -c16-17}°C
${color FFFFFF}${goto 25}CPU
${color FFFFFF}${goto 50}${voffset 23}${memperc}%
${color FFFFFF}${goto 50}RAM
${color FFFFFF}${goto 75}${voffset 23}${swapperc}%
${color FFFFFF}${goto 75}Swap
${color FFFFFF}${goto 100}${voffset 23}${fs_used_perc /home}%
${color FFFFFF}${goto 100}/home
${color FFFFFF}${goto 125}${voffset 25}${if_up wlan0}${downspeed wlan0}${endif}
${color FFFFFF}${goto 125}${if_up wlan0}${upspeed wlan0}${endif}
${color FFFFFF}${goto 125}Net



${color FFFFFF}${font caviar dreams:size=8}Uptime: ${uptime_short}
${color FFFFFF}${font caviar dreams:size=8}Processes: ${processes}
${color FFFFFF}${font caviar dreams:size=8}Running: ${running_processes}


${color FFFFFF}${font caviar dreams:size=8}${alignr}${nodename}
${color FFFFFF}${font caviar dreams:size=8}${alignr}${pre_exec cat /etc/issue.net}  $machine


Logo mais eu posto o screenshot.
É novo no Ubuntu? Já leu o Ubuntu – Guia do Iniciante 2.0 ?
Experimente o Xubuntu 14.04 !

boladegude

Há um problema com os botões Sleep e Power do teclado que surge ao instalar esta ou qualquer outra widget do conky na área de trabalho do Ubuntu (linux).

Sintomas...
1)
Você clica nos botões Sleep ou Power do teclado e nada acontece.
2)
Você não consegue voltar o foco ao Desktop (área de trabalho).
3)
Quando você clica no desktop aí então os botões Sleep e Power do teclado voltam a funcionar.
4)
O título da aplicação do canto superior direito no painel de controle aparece errado muitas vezes.

Solução:
Vá no link aqui no fórum mesmo e resolva imediatamente o problema...
http://ubuntuforum-br.org/index.php/topic,110089.0.html
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.

peterfaxas

Tem um aplicativo que faz algo semelhante com uma interface bem simples:

É o Typhoon, 3 comandos:

1) $ sudo add-apt-repository ppa:apandada1/typhoon

2) $ sudo apt-get update

3) $ sudo apt-get install typhoon

boladegude

[ IMPORTANTE:
Este post é apenas para quem tem o aplicativo Brweather instalado.
Se você tem o aplicativo ConkyForcast instalado (post inicial) não siga essas instruçoes.
]

Faz algumas semanas que o Relógio+Clima parou de mostrar a previsão aqui.
Resolvi assim...
1)
Remova o aplicativo brweather obsoleto assim...
ctrl+alt+t
killall conky
sudo rm -r /opt/brweather
sudo rm /usr/local/bin/brweather

2)
Baixe a última versão do aplicativo brweather, em formato .deb, de...
http://sourceforge.net/projects/conkywfc/files/BRWeather/
Instale.

3)
Reinicie a sessão
... ou digite...
alt+f2
conky_start.sh
<enter>
Espere 20 segundos...
e Pronto o conky forcast estará funcionando.

No futuro, nos passos 1) e 2), para atualizar as versões, remova o pacote .deb antigo e instale o novo.
Become an Ubuntu user. Don't just use it as a virtual machine.
If you have some space in your HD then dual boot it with Windows or Mac.
It's a fine system. You shall be willing to study a little, but is worth your effort.