Difference between revisions of "Conky"

From Ever changing code
Jump to navigation Jump to search
Line 2: Line 2:
;Install
;Install
  sudo apt-get install conky
  sudo apt-get install conky
;Temperature probes
For older Dell laptops module i8k must be loaded and Conky use <tt>${i8k_cpu_temp}<tt> to recall CPU temperature.
sudo apt-get install i8kutils
For modern laptops lm-sensors, then use <tt>${acpitemp}°C</tt> to display the ambient system temperature.
sudo apt-get install lm-sensors
;Configuration
;Configuration
User based config file is located in <code>~/.conkyrc</code> file. The rich features that can be displayed on the background are limitless. Below is my config based on Dell Latitude D600.
User based config file is located in <code>~/.conkyrc</code> file. The rich features that can be displayed on the background are limitless. Below is the config based on Lenovo.


[[File:Conky.png|right|Conky]]
[[File:Conky.png|right|Conky]]


# UBUNTU-CONKY
# UBUNTU-CONKY
# A comprehensive conky script, configured for use on
# A comprehensive conky script, configured for use on
# Ubuntu / Debian Gnome, without the need for any external scripts.
# Ubuntu / Debian Gnome, without the need for any external scripts.
#
#
# Based on conky-jc and the default .conkyrc.
# Based on conky-jc and the default .conkyrc.
# INCLUDES:
# INCLUDES:
# - tail of /var/log/messages
# - tail of /var/log/messages
# - netstat shows number of connections from your computer and application/PID making it. Kill spyware!
# - netstat shows number of connections from your computer and application/PID making it. Kill spyware!
# - for Dell laptops module i8k must be loaded from package: i8kutils then cpu_temp can be read using i8k_cpu_temp  
# - for Dell laptops module i8k must be loaded from package: i8kutils then cpu_temp can be read using i8k_cpu_temp  
#
#
# ${if_existing /proc/net/route  - it checks if default GW exists, it is helpful with external IP determination
# ${if_existing /proc/net/route  - it checks if default GW exists, it is helpful with external IP determination
#
#
# Connction monitor
# Connction monitor
#  
#  
#  Connections in:${color #606060} ${tcp_portmon 1 32767 count}$color Connections    out:${color #606060} ${tcp_portmon 32768 61000 count}$color Total:${color #606060}    ${tcp_portmon 1 65535 count}
#  Connections in:${color #606060} ${tcp_portmon 1 32767 count}$color Connections    out:${color #606060} ${tcp_portmon 32768 61000 count}$color Total:${color #606060}    ${tcp_portmon 1 65535 count}
#  
#  
# $color Inbound Connection ${alignr} Local Service/Port
# $color Inbound Connection ${alignr} Local Service/Port
# ${color #606060} ${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767    lservice 0}
# ${color #606060} ${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767    lservice 0}
#  ${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
#  ${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
#  ${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
#  ${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
#  ${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
#  ${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
#  ${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
#  ${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
#  ${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
#  ${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
#  
#  
# $color Outbound Connection ${alignr} Remote Service/Port$color
# $color Outbound Connection ${alignr} Remote Service/Port$color
# ${color #606060} ${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon    32768 61000 rservice 0}
# ${color #606060} ${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon    32768 61000 rservice 0}
#  ${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice    1}
#  ${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice    1}
#  ${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice    2}
#  ${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice    2}
#  ${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice    3}
#  ${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice    3}
#  ${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice    4}
#  ${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice    4}
#  ${tcp_portmon 32768 61000 rhost 5} ${alignr} ${tcp_portmon 32768 61000 rservice    5}
#  ${tcp_portmon 32768 61000 rhost 5} ${alignr} ${tcp_portmon 32768 61000 rservice    5}
  #   
 
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_type override
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# fiddle with window
use_spacer right
 
# Use Xft?
use_xft yes
xftfont DejaVu Sans:size=8
xftalpha 0.8
text_buffer_size 1536
   
# Update interval in seconds
update_interval 3.0
   
# Minimum size of text area
# minimum_size 200 5
 
# Maximum width
maximum_width 210
 
# Draw shades?
draw_shades no
   
   
# Create own window instead of using desktop (required in nautilus)
# Text stuff
own_window yes
draw_outline no # amplifies text if yes
own_window_type override
draw_borders no
own_window_transparent yes
uppercase no # set to yes if you want all text to be in uppercase
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
 
# fiddle with window
use_spacer right
   
   
# Use Xft?
# Stippled borders?
use_xft yes
stippled_borders 3
xftfont DejaVu Sans:size=7
xftalpha 0.8
text_buffer_size 1536
 
# Update interval in seconds
update_interval 3.0
 
# Minimum size of text area
# minimum_size 200 5
   
   
# Maximum width
# border margins
maximum_width 210
# border_margin 9
   
   
# Draw shades?
# border width
draw_shades no
border_width 10
 
# Text stuff
draw_outline no # amplifies text if yes
draw_borders no
uppercase no # set to yes if you want all text to be in uppercase
 
# Stippled borders?
stippled_borders 3
 
# border margins
# border_margin 9
 
# border width
border_width 10
 
# Default colors and also border colors, grey90 == #e5e5e5
default_color E8E8E8
   
   
#own_window_argb_visual yes
# Default colors and also border colors, grey90 == #e5e5e5
#own_window_argb_value 0
default_color E8E8E8
 
 
own_window_colour brown
#own_window_argb_visual yes
own_window_transparent yes
#own_window_argb_value 0
 
# Text alignment, other possible values are commented
#alignment top_left
alignment bottom_right
#alignment bottom_left
#alignment bottom_right
 
# Gap between borders of screen and text
gap_x 30
gap_y 30
 
# stuff after 'TEXT' will be formatted on screen
 
TEXT
$color
${color orange}SYSTEM ${hr 2}$color
$nodename $sysname $kernel on $machine
uptime: ${uptime}
   
   
#causing overheating as of 27/07/2012
own_window_colour brown
#external ip: ${execi 65535 wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'}
own_window_transparent yes
 
${color orange}CPU ${hr 2}$color
${freq}MHz  Load: ${loadavg}  Temp: ${i8k_cpu_temp}
${cpugraph 000000 ffffff}
NAME $alignr PID      CPU%      MEM%
${top name 1} $alignr ${top pid 1}  ${top cpu 1}    ${top mem 1}
${top name 2} $alignr ${top pid 2}  ${top cpu 2}    ${top mem 2}
${top name 3} $alignr ${top pid 3}  ${top cpu 3}    ${top mem 3}
${top name 4} $alignr ${top pid 4}  ${top cpu 4}    ${top mem 4}
 
${color orange}MEMORY used $mem of $memmax $color
${memgraph 000000 ffffff}
Swap:  $swapperc%  ${swapbar 6}$color
   
   
${color orange}HDD FREE $color
# Text alignment, other possible values are commented
root:    ${fs_free /} of ${fs_size /}  ${fs_bar 6 /}$color
#alignment top_left
sda1:  ${if_existing /windows} ${fs_free /windows} of ${fs_size /windows}  ${fs_bar 6 /windows}$color $endif
alignment bottom_right
sda5:  ${if_existing /dane} ${fs_free /dane} of ${fs_size /dane}  ${fs_bar 6 /dane}$color $endif
#alignment bottom_left
#alignment bottom_right
   
   
${color orange}NETWORK CABLE $alignr ip:${addr eth0}
# Gap between borders of screen and text
Down: $color${downspeed eth0} k/s ${alignr}Up: ${upspeed eth0} k/s
gap_x 30
${downspeedgraph eth0 25,100 000000 ff0000} ${alignr}${upspeedgraph eth0
gap_y 30
25,100 000000 00ff00}$color
Total: ${totaldown eth0} ${alignr}Total: ${totalup eth0}
   
   
${color orange}NETWORK WIFI $alignr ip:${addr eth1}
# stuff after 'TEXT' will be formatted on screen
Down: $color${downspeed eth1} k/s ${alignr}Up: ${upspeed eth1} k/s
${downspeedgraph eth1 25,100 000000 ff0000} ${alignr}${upspeedgraph eth1
25,100 000000 00ff00}$color
Total: ${totaldown eth1} ${alignr}Total: ${totalup eth1}
   
   
${color orange}NETSTAT ${hr 2}$color
TEXT
no connections / PID / application
$color
${execi 30 netstat -ept | grep ESTAB | awk '{print $9}' | cut -d: -f1 | sort | uniq -c | sort -nr}
${color orange}SYSTEM ${hr 2}$color
$nodename $sysname $kernel on $machine
uptime: ${uptime}
 
#causing overheating as of 27/07/2012
#external ip: ${execi 65535 wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'}
${color orange}CPU        Processes: $processes Run: $running_processes ${hr 2}$color
${freq}MHz  Load: ${loadavg}  Temp: ${acpitemp}°C #${i8k_cpu_temp} - Dell temp probe
 
${cpugraph 000000 ffffff}
NAME $alignr  PID      CPU%    MEM%
${top name 1} $alignr ${top pid 1}  ${top cpu 1}    ${top mem 1}
${top name 2} $alignr ${top pid 2}  ${top cpu 2}    ${top mem 2}
${top name 3} $alignr ${top pid 3}  ${top cpu 3}    ${top mem 3}
${top name 4} $alignr ${top pid 4}  ${top cpu 4}    ${top mem 4}
   
   
  ${color orange}LOGGING AUTH.LOG ${hr 2}$color
${color orange}MEMORY used $mem of $memmax $color
${execi 30 tail -n5 /var/log/auth.log | awk '{print " ",$5,$6,$7,$8,$9,$10}' | fold -w40}
${memgraph 000000 ffffff}
 
${color orange}HDD USAGE $color
root:    ${fs_used /} of ${fs_size /}  ${fs_bar 6 /}$color
#sda1: ${if_existing /windows} ${fs_free /windows} of ${fs_size /windows}  ${fs_bar 6 /windows}$color $endif
#sda5:  ${if_existing /dane} ${fs_free /dane} of ${fs_size /dane}  ${fs_bar 6 /dane}$color $endif
Swap:  $swapperc%  ${swapbar 6}$color
 
#eth0 - LAN card interface, replace if different
${color orange}NETWORK WIRED $alignr ip:${addr eth0}
Down: $color${downspeed eth0} k/s ${alignr}Up: ${upspeed eth0} k/s
${downspeedgraph eth0 25,100 000000 ff0000} ${alignr}${upspeedgraph eth0
25,100 000000 00ff00}$color
Total: ${totaldown eth0} ${alignr}Total: ${totalup eth0}
 
#wlan0 - wireless interface, replace everywhere if different
${color orange}WIRELESS $alignr ip:${addr wlan0}   
Down: $color${downspeed wlan0} k/s ${alignr}Up: ${upspeed wlan0} k/s
${downspeedgraph wlan0 25,100 000000 ff0000} ${alignr}${upspeedgraph wlan0
25,100 000000 00ff00}$color
Total: ${totaldown wlan0} ${alignr}Total: ${totalup wlan0}
 
${color orange}NETSTAT ${hr 2}$color
no connections / PID / application
${execi 30 netstat -ept | grep ESTAB | awk '{print $9}' | cut -d: -f1 | sort | uniq -c | sort -nr}
 
${color orange}LOGGING AUTH.LOG ${hr 2}$color
${execi 30 tail -n5 /var/log/auth.log | awk '{print " ",$5,$6,$7,$8,$9,$10}' | fold -w40}


= Conky On and Off script =
= Conky On and Off script =

Revision as of 23:04, 7 July 2014

It displays the rich system info embedded into your desktop background.

Install
sudo apt-get install conky
Temperature probes

For older Dell laptops module i8k must be loaded and Conky use ${i8k_cpu_temp} to recall CPU temperature.

sudo apt-get install i8kutils

For modern laptops lm-sensors, then use ${acpitemp}°C to display the ambient system temperature.

sudo apt-get install lm-sensors
Configuration

User based config file is located in ~/.conkyrc file. The rich features that can be displayed on the background are limitless. Below is the config based on Lenovo.

Conky
  1. UBUNTU-CONKY
  2. A comprehensive conky script, configured for use on
  3. Ubuntu / Debian Gnome, without the need for any external scripts.
  4. Based on conky-jc and the default .conkyrc.
  5. INCLUDES:
  6. - tail of /var/log/messages
  7. - netstat shows number of connections from your computer and application/PID making it. Kill spyware!
  8. - for Dell laptops module i8k must be loaded from package: i8kutils then cpu_temp can be read using i8k_cpu_temp
  9. ${if_existing /proc/net/route - it checks if default GW exists, it is helpful with external IP determination
  10. Connction monitor
  11. Connections in:${color #606060} ${tcp_portmon 1 32767 count}$color Connections out:${color #606060} ${tcp_portmon 32768 61000 count}$color Total:${color #606060} ${tcp_portmon 1 65535 count}
  12. $color Inbound Connection ${alignr} Local Service/Port
  13. ${color #606060} ${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767 lservice 0}
  14. ${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
  15. ${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
  16. ${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
  17. ${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
  18. ${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
  19. $color Outbound Connection ${alignr} Remote Service/Port$color
  20. ${color #606060} ${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
  21. ${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
  22. ${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
  23. ${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
  24. ${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}
  25. ${tcp_portmon 32768 61000 rhost 5} ${alignr} ${tcp_portmon 32768 61000 rservice 5}
  1. Create own window instead of using desktop (required in nautilus)

own_window yes own_window_type override own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

  1. Use double buffering (reduces flicker, may not work for everyone)

double_buffer yes

  1. fiddle with window

use_spacer right

  1. Use Xft?

use_xft yes xftfont DejaVu Sans:size=8 xftalpha 0.8 text_buffer_size 1536

  1. Update interval in seconds

update_interval 3.0

  1. Minimum size of text area
  2. minimum_size 200 5
  1. Maximum width

maximum_width 210

  1. Draw shades?

draw_shades no

  1. Text stuff

draw_outline no # amplifies text if yes draw_borders no uppercase no # set to yes if you want all text to be in uppercase

  1. Stippled borders?

stippled_borders 3

  1. border margins
  2. border_margin 9
  1. border width

border_width 10

  1. Default colors and also border colors, grey90 == #e5e5e5

default_color E8E8E8

  1. own_window_argb_visual yes
  2. own_window_argb_value 0

own_window_colour brown own_window_transparent yes

  1. Text alignment, other possible values are commented
  2. alignment top_left

alignment bottom_right

  1. alignment bottom_left
  2. alignment bottom_right
  1. Gap between borders of screen and text

gap_x 30 gap_y 30

  1. stuff after 'TEXT' will be formatted on screen

TEXT $color ${color orange}SYSTEM ${hr 2}$color $nodename $sysname $kernel on $machine uptime: ${uptime}

  1. causing overheating as of 27/07/2012
  2. external ip: ${execi 65535 wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'}

${color orange}CPU Processes: $processes Run: $running_processes ${hr 2}$color ${freq}MHz Load: ${loadavg} Temp: ${acpitemp}°C #${i8k_cpu_temp} - Dell temp probe

${cpugraph 000000 ffffff} NAME $alignr PID CPU% MEM% ${top name 1} $alignr ${top pid 1} ${top cpu 1} ${top mem 1} ${top name 2} $alignr ${top pid 2} ${top cpu 2} ${top mem 2} ${top name 3} $alignr ${top pid 3} ${top cpu 3} ${top mem 3} ${top name 4} $alignr ${top pid 4} ${top cpu 4} ${top mem 4}

${color orange}MEMORY used $mem of $memmax $color ${memgraph 000000 ffffff}

${color orange}HDD USAGE $color root: ${fs_used /} of ${fs_size /} ${fs_bar 6 /}$color

  1. sda1: ${if_existing /windows} ${fs_free /windows} of ${fs_size /windows} ${fs_bar 6 /windows}$color $endif
  2. sda5: ${if_existing /dane} ${fs_free /dane} of ${fs_size /dane} ${fs_bar 6 /dane}$color $endif

Swap: $swapperc% ${swapbar 6}$color

  1. eth0 - LAN card interface, replace if different

${color orange}NETWORK WIRED $alignr ip:${addr eth0} Down: $color${downspeed eth0} k/s ${alignr}Up: ${upspeed eth0} k/s ${downspeedgraph eth0 25,100 000000 ff0000} ${alignr}${upspeedgraph eth0 25,100 000000 00ff00}$color Total: ${totaldown eth0} ${alignr}Total: ${totalup eth0}

  1. wlan0 - wireless interface, replace everywhere if different

${color orange}WIRELESS $alignr ip:${addr wlan0} Down: $color${downspeed wlan0} k/s ${alignr}Up: ${upspeed wlan0} k/s ${downspeedgraph wlan0 25,100 000000 ff0000} ${alignr}${upspeedgraph wlan0 25,100 000000 00ff00}$color Total: ${totaldown wlan0} ${alignr}Total: ${totalup wlan0}

${color orange}NETSTAT ${hr 2}$color no connections / PID / application ${execi 30 netstat -ept | grep ESTAB | awk '{print $9}' | cut -d: -f1 | sort | uniq -c | sort -nr}

${color orange}LOGGING AUTH.LOG ${hr 2}$color ${execi 30 tail -n5 /var/log/auth.log | awk '{print " ",$5,$6,$7,$8,$9,$10}' | fold -w40}

Conky On and Off script

This is some times annoying to enable or disable conky on your dektop. The following scrip comes with help.

piotr@d600:~$ cat conky_on_off.sh 
#!/bin/sh

# click to start, click to stop

if pidof conky | grep [0-9] > /dev/null
then
 exec killall conky
else
 exec conky
fi