Post

Conky | Awesome system monitor for Linux

Conky is a free, light-weight system monitor for X, that displays any kind of information on your desktop. We'll now talk about something on conky, also the troubleshoot with the use of conky.

Conky | Awesome system monitor for Linux

About Conky…

Conky is a free software desktop system monitor for the X Window System. It is available for Linux, FreeBSD, and OpenBSD. Conky is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space (what is swap space?), disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes, Arch Linux updates, many popular music players, weather updates, breaking news, and much more. Unlike system monitors that use high-level widget toolkits to render their information, Conky is drawn directly in an X window. This allows it to be configured such that it consumes relatively few system resources.

​ Are you getting bored with your dull backgrounds? Let’s use conky to improve that.

Common uses

​ If you’re using Pinguy OS or CrunchBang Linux(…). Conky is pre-configured in the default installation, but I think most of users are using Debian, Ubuntu, Fedora and so on. Conky is not installed by default in these systems. We should install conky first.

Get conky

  • Open up a terminal window
  • Type following command and your sudo password
1
$ sudo apt-get install conky-all
  • When prompted, accepted the installation by typing y

Configure a theme

​ What conky does is read the /etc/conky/conky.config file (when no ~/.conkyrc file is present) and display as you set. So there are tow solutions to have a good looking conky: either you modify the configure file on your own or you download a conky theme from the Internet and use it directly. There are many websites which could provide with plenty of awesome conky themes:

​ Using these conky themes is similar to installing source code. A good conky theme will come with a README that tells you what to change in the conky theme files and other important things about using the conky theme. Most of the time you have to change the path to image files or Lua script.

Launch conky

​ It’s easy to launch conky:

1
$ conky

Usage example

​ A simple configuration for Conky which displays the time on a user’s desktop is as follows:

1
2
3
4
5
6
7
8
9
10
11
12
update_interval 30

own_window yes
own_window_type desktop

use_xft yes
xftfont DejaVu Sans:size=14

alignment bottom_right

TEXT
${time %H:%M}

​ Here’s my .conkyrc:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# set to yes if you want Conky to be forked in the background
background no
cpu_avg_samples 2
net_avg_samples 2
out_to_console no
# X font when Xft is disabled, you can pick one with program xfontsel
#font 7x12
#font 6x10
#font 7x13
#font 8x13
#font 7x12
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
#font -artwiz-snap-normal-r-normal-*-*-100-*-*-p-*-iso8859-1
# Use Xft?
use_xft yes
# Xft font when Xft is enabled
xftfont Sans:size=11  
own_window_argb_visual yes
#own_window_colour hotpink
# Text alpha when using Xft
xftalpha 0.8
# on_bottom yes
# mail spool
# mail_spool $MAIL
# Update interval in seconds
update_interval 1
# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#own_window_type override
own_window_type dock
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Minimum size of text area
minimum_size 260 5
maximum_width 400
# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Stippled borders?
stippled_borders no
# border margins
# border_margin 4
# border width
border_width 1
# Default colors and also border colors
default_color white
default_shade_color white
default_outline_color white
# Text alignment, other possible values are commented
#alignment top_left
#minimum_size 10 10
gap_x 10
gap_y 35
alignment top_right
#alignment bottom_left
#alignment bottom_right
# Gap between borders of screen and text
# Add spaces to keep things from moving about?  This only affects
# certain objects.
use_spacer none
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase no
# none, xmms, bmp, audacious, infopipe (default is none)
# xmms_player bmp


TEXT
${color #006400}SYSTEM ${hr 1}
#Time:$alignr${time %Y.%m.%d}$alignc   ${time %H:%M:%S}$alignr   Week:${time %w}
Hostname:                Parrot Security
Kernel: $alignr$kernel
Machine:$alignr$machine
Temp: ${alignr}${exec sensors | grep 'Core 0' | cut -c17-22}C
###############
${color #FF8C00}MEMORY ${hr 1}
Ram ${alignr}$mem / $memmax ($memperc%)
${membar 4}
Highest MEM $alignr MEM%
${top_mem name 1}$alignr ${top_mem mem 1}
${top_mem name 2}$alignr ${top_mem mem 2}
${top_mem name 3}$alignr ${top_mem mem 3}
##############
${color #BC8F8F}CPU ${hr 1}
Frequency: ${alignr}${freq dyn} MHz
Processes: ${alignr}$processes ($running_processes running)
Load: ${alignr}$loadavg
CPU1 ${alignr}${cpu cpu1}%
${cpubar 4 cpu1}
CPU2 ${alignr}${cpu cpu2}%
${cpubar 4 cpu2}
Highest CPU $alignr CPU%
${top name 1}$alignr${top cpu 1}
${top name 2}$alignr${top cpu 2}
${top name 3}$alignr${top cpu 3}
##############
${color #228B22}FILE SYSTEM ${hr 1}
Root: ${alignr}${fs_free /} / ${fs_size /}
${fs_bar 4 /}
#############
${color white}ETHERNET ${hr 1}${color}
Down ${downspeed eth0} /s ${alignr}Up ${upspeed eth0} /s
${downspeedgraph eth0 25,107} ${alignr}${upspeedgraph eth0 25,107}
Total ${totaldown eth0} ${alignr}Total ${totalup eth0}
#############
${color white}WLAN ${hr 1}${color}
Down ${downspeed wlx48022a54bc53} /s ${alignr}Up ${upspeed wlx48022a54bc53} /s
${downspeedgraph wlx48022a54bc53 25,107} ${alignr}${upspeedgraph wlx48022a54bc53 25,107}
Total ${totaldown wlx48022a54bc53} ${alignr}Total ${totalup wlx48022a54bc53}
#############

​ It looks like this:

conkyrc

​ You can download here: .conkyrc

Configure with GUI[Beginner]

Conky Manager is a friendly GUI tool developed to use conky easier.

​ Use the following commands in terminal to install Conky Manager:

1
2
3
$ sudo add-apt-repository ppa:teejee2008/ppa
$ sudo apt-get update
$ sudo apt-get install conky-manager

​ Launch the Conky Manager and have fun!

Advanced Usage & Issues

Start conky automatically

​ You can write a shell script to start conky automatically:

1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

echo ’ ’ | sudo -S pm-powersave

sleep 3

conky & disown

sleep 30

pkill run.sh

​ Then add it to startup applications list.

Conky disappears…

​ If conky disappears on clicking desktop in desktop environments like Mate, Gnome and so on, this may help you:

​ change own_window_type desktop to:

1
own_window_type dock

​ Or you will prefer to hidden desktop icons, the conky won’t disappear either(but of course you can’t see desktop icons).

This post is licensed under CC BY 4.0 by the author.