Difference between revisions of "Conky"
| Line 175: | Line 175: | ||
   exec conky  |    exec conky  | ||
  fi  |   fi  | ||
= Start Conky on boot in Debian =  | |||
Debian uses conbination of /etc/init.d scripts and symbolic links in <tt>/etc/rc?.d</tt>. Each symbolic link starting with '''S''' will run and starting with '''K''' does not at the given runlevel.  | |||
 On Debian and Ubuntu, runlevels 2, 3, 4 and 5 are multi-users runlevels.  | |||
 Runlevel 0 is Halt.  | |||
 Runlevel 1 is single user mode  | |||
 Runlevel 6 is reboot  | |||
Having the <tt>conky_on_off.sh</tt> script copied into /etc/init.d and using <tt>update-rc.d</tt> to create default symbolic links will boot conky at the start.  | |||
 sudo cp ~/conky_on_off.sh /etc/init.d/  | |||
 sudo update-rc.d conky_on_off.sh defaults  | |||
= Remove from auto-boot =  | |||
 sudo update-rc.d -f conky_on_off.sh remove  | |||
= References =  | = References =  | ||
Revision as of 23:47, 20 March 2015
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.
# UBUNTU-CONKY
# A comprehensive conky script, configured for use on
# Ubuntu / Debian Gnome, without the need for any external scripts.
#
# Based on conky-jc and the default .conkyrc.
# INCLUDES:
# - tail of /var/log/messages
# - 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 
#
# ${if_existing /proc/net/route  - it checks if default GW exists, it is helpful with external IP determination
#
# 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}
# 
# $color Inbound Connection ${alignr} Local Service/Port
# ${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 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 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
#  ${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
# 
# $color Outbound Connection ${alignr} Remote Service/Port$color
# ${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 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 4} ${alignr} ${tcp_portmon 32768 61000 rservice    4}
#  ${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
 
# 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
#own_window_argb_value 0
 
own_window_colour brown
own_window_transparent yes
 
# 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
#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 
#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
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
Start Conky on boot in Debian
Debian uses conbination of /etc/init.d scripts and symbolic links in /etc/rc?.d. Each symbolic link starting with S will run and starting with K does not at the given runlevel.
On Debian and Ubuntu, runlevels 2, 3, 4 and 5 are multi-users runlevels. Runlevel 0 is Halt. Runlevel 1 is single user mode Runlevel 6 is reboot
Having the conky_on_off.sh script copied into /etc/init.d and using update-rc.d to create default symbolic links will boot conky at the start.
sudo cp ~/conky_on_off.sh /etc/init.d/ sudo update-rc.d conky_on_off.sh defaults
Remove from auto-boot
sudo update-rc.d -f conky_on_off.sh remove
