home_server:home_server_setup:other_services:conky

This is an old revision of the document!


Prev  
 Next

Conky

Conky is a Linux system monitor tool using X Windows. Conky is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail in-boxes Linux updates, runs many popular music players, and much more. Unlike system monitors that use high-level widget tool-kits to render their information, Conky is drawn directly in an X window, allowing it to consume relatively fewer system resources.

To install the standard Conky package, use the following: sudo apt-get install conky-std

Two sites you will want to read, beyond the Conky manual page are the lists of Config Settings and Variables. You use the Config Settings to describe general features of how you want your Conky to appear, and the variables to define what actually gets displayed.

The color names that are used within Conky are the X11 colors located in /usr/share/X11/rgb.txt. There isn't a standard set of colors to be found on any X Window system, so you'll need to inspect this file to get some idea of what color names you can use. This X color name list, that could help you visualized the colors.

Conky uses a configuration file location in ~/.conkyrc. Conky can be configured in an many ways. I'm using the following configuration on my main server (Debian 11) :

Debian Server conky setup; ~/.conkyrc

I used the following on my Manjaro desk top:

Old Desk top; ~/.config/conky/conky.conf

Old Desk top; ~/.config/conky/conky.conf|

# --------------------------------------------------------------------- 
#
# conkyrc - derived from various examples across the 'net
#   Designed to support a 16 core processer running Manjaro
#
# You can restart conky by running
#       killall -SIGUSR1 conky
#
# ---------------------------------------------------------------------


# -------------------- Conky's Run Time Parameters --------------------

update_interval 2.0         # Conky update interval in seconds
total_run_times 0           # Number of updates before quitting.  Set to zero to run forever.
no_buffers yes              # Subtract file system buffers from used memory?
cpu_avg_samples 2           # Number of cpu samples to average. Set to 1 to disable averaging
net_avg_samples 2           # Number of net samples to average. Set to 1 to disable averaging


# -------------------- Conky's General Look & Feel -------------------- 

# --- defualt values --- #
default_color grey          # Default color and border color
default_bar_size 0 6        # Specify a default width and height for bars.
default_gauge_size 25 25    # Specify a default width and height for gauges.
default_graph_size 0 25     # Specify a default width and height for graphs.
default_outline_color green # Default border and text outline color
default_shade_color yellow  # Default border and text shading color

# --- predefined colors - http://www.kgym.jp/freesoft/xrgb.html --- 
color0 FFFFFF               # white
color1 FFA500               # orange
color2 B22222               # firebrick
color3 696969               # dim gray
color4 D3D3D3               # light gray
color5 2F4F4F               # dark slate gray
color6 FFEC8B               # light golden rod
color7 54FF9F               # sea green
color8 FF8C69               # salmon
color9 FFE7BA               # wheat

# --- window layout & options --- 
own_window yes              # Conky creates its own window instead of using desktop
own_window_type normal      # If own_window is yes, use type normal, desktop, or override
own_window_transparent yes  # Use pseudo transparency with own_window?
own_window_argb_visual no
own_window_argb_value 40
own_window_class Conkey
own_window_colour blue      # If own_window_transparent is no, set the background colour
double_buffer yes           # Use double buffering (reduces flicker)
use_spacer right            # Adds spaces to stop object from moving
maximum_width 500           # Maximum width of window in pixels
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# --- window placment --- #
alignment top_right         # window placement can be top_right, top_left, bottom_left, bottom_right

# --- borders, margins, and outlines --- #
draw_graph_borders yes      # Do you want to draw borders around graphs
border_inner_margin 9       # Window's inner border margin (in pixels)
border_outer_margin 5       # Window's outer border margin (in pixels)
gap_x 10                    # Gap between borders of screen and text (on x-axis)
gap_y 40                    # Gap between borders of screen and text (on y-axis)
border_width 10             # Window's border width (in pixels)

# --- Text --- #
draw_outline no             # Do you want ot draw outlines
draw_shades no              # Do you want to draw shades
draw_borders no             # Do you want to draw borders around text
uppercase no                # set to yes if you want all text to be in uppercase
use_xft yes                 # use the X FreeType interface library (anti-aliased font)
xftfont Monospace:size=11:weight=bold    # Xft font to be used


# -------------------- Conky's Displayed System Monitoring Parameters -------------------- #
#TEXT
# General system information
${color1}SYSTEM INFORMATION ${hr 2}$color
${color0}System: $color$nodename ${alignr}${color0}Uptime: $color$uptime
${color0}Kernel: $color$kernel${alignr}${color0}Arch: $color$machine
${color0}Distribution: $color${execi 99999 lsb_release --description | awk '{ print $2" "$3 }'}
${color0}CPU Type: $color${execi 99999 grep 'model name' /proc/cpuinfo | awk '{ print $6 }' | sed '2,$d'} / ${execi 99999 grep 'model name' /proc/cpuinfo | wc -l} Cores
${color0}CPU Speed: $color${freq 0} MHz Current / ${execi 99999 grep 'model name' /proc/cpuinfo | awk '{ print $9 }' | sed '2,$d'} Max
${color0}Processor Temperature: $color${acpitemp}°C
${color0}Nvidia Temperature: $color${nvidia temp} °C  (${nvidia threshold} °C limit)
${color0}MAC Address (eno2): $color${execi 99999 cat /sys/class/net/eno2/address }
${color0}MAC Address (wlo1): $color${execi 99999 cat /sys/class/net/wlo1/address }
# CPU information
${color1}CPU ${hr 2}$color
${color0}CPU Usage:$color ${cpu cpu0}% ${color7}${cpubar cpu0}
${cpugraph cpu0 0000ff 00ff00}$color
${color0}Core  1:$color ${freq 1} MHz ${cpu cpu1}% ${color5}${cpubar cpu1}$color
${color0}Core  2:$color ${freq 2} MHz ${cpu cpu2}% ${color5}${cpubar cpu2}$color
${color0}Core  3:$color ${freq 3} MHz ${cpu cpu3}% ${color5}${cpubar cpu3}$color
${color0}Core  4:$color ${freq 4} MHz ${cpu cpu4}% ${color5}${cpubar cpu4}$color
${color0}Core  5:$color ${freq 5} MHz ${cpu cpu5}% ${color5}${cpubar cpu5}$color
${color0}Core  6:$color ${freq 6} MHz ${cpu cpu6}% ${color5}${cpubar cpu6}$color
${color0}Core  7:$color ${freq 7} MHz ${cpu cpu7}% ${color5}${cpubar cpu7}$color
${color0}Core  8:$color ${freq 8} MHz ${cpu cpu8}% ${color5}${cpubar cpu8}$color
${color0}Core  9:$color ${freq 9} MHz ${cpu cpu9}% ${color5}${cpubar cpu9}$color
${color0}Core 10:$color ${freq 10} MHz ${cpu cpu10}% ${color5}${cpubar cpu10}$color
${color0}Core 11:$color ${freq 11} MHz ${cpu cpu11}% ${color5}${cpubar cpu11}$color
${color0}Core 12:$color ${freq 12} MHz ${cpu cpu12}% ${color5}${cpubar cpu12}$color
${color0}Core 13:$color ${freq 13} MHz ${cpu cpu13}% ${color5}${cpubar cpu13}$color
${color0}Core 14:$color ${freq 14} MHz ${cpu cpu14}% ${color5}${cpubar cpu14}$color
${color0}Core 15:$color ${freq 15} MHz ${cpu cpu15}% ${color5}${cpubar cpu15}$color
${color0}Core 16:$color ${freq 16} MHz ${cpu cpu16}% ${color5}${cpubar cpu16}$color

# Top running processes
${color1}TOP 5 PROCESSES ${hr 2}$color
${color0}Processes:$color $processes  ${color0}Running:$color $running_processes
${color0}Threads:$color $threads  ${color0}Running:$color $running_threads
${stippled_hr 2}
${color0}CPU Usage$color
${color3} NAME              PID    CPU %   MEM$color
${color2} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}$color
 ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
 ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
 ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
 ${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
${stippled_hr 2}
${color0}Mem Usage$color
${color3} NAME              PID    CPU %   MEM$color
${color2} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}$color
 ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
 ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
 ${top_mem name 4} ${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4}
 ${top_mem name 5} ${top_mem pid 5} ${top_mem cpu 5} ${top_mem mem 5}

# Memory and swap space untilization
${color1}MEMORY & SWAP ${hr 2}$color
${color0}RAM Usage: ${color}$mem / $memmax
$memperc% ${color6}${membar}$color
${color0}Swap Usage: ${color}$swap / $swapmax
$swapperc% ${color6}${swapbar}$color

# File System utilization
${color1}FILE SYSTEM ${hr 2}$color
${color0}root:$color ${fs_used /} / ${fs_size /}
${fs_used_perc /}% ${color8}${fs_bar /}$color
#${color0}boot:$color ${fs_used /boot} / ${fs_size /boot}
#${fs_used_perc /boot}% ${color8}${fs_bar /boot}$color
#${color0}home:$color ${fs_used /home} / ${fs_size /home}
#${fs_used_perc /home}% ${color8}${fs_bar /home}$color
${color0}diska:$color ${fs_used /run/media/diska} / ${fs_size /run/media/diska}
${fs_used_perc /run/media/diska}% ${color8}${fs_bar /run/media/diska}$color
#${color0}disk2:$color ${fs_used /media/disk2} / ${fs_size /media/disk2}
#${fs_used_perc /media/disk2}% ${color8}${fs_bar /media/disk2}$color
#${color0}disk3:$color ${fs_used /media/disk3} / ${fs_size /media/disk3}
#${fs_used_perc /media/disk3}% ${color8}${fs_bar /media/disk3}$color

# Hard Drive Utilization
${color1}HARD DRIVE I/O ${hr 2}$color
${color0}Device:$color /dev/nvme0n1p5
${color0}Reads: $color${diskio_read /dev/nvme0n1p5}/s${alignr}${color0}Writes: $color${diskio_write /dev/nvme0n1p5}/s
${color8}${diskiograph_read /dev/nvme0n1p5 25,150 33FF00 FF3333 scale -t}$color${alignr}${color8}${diskiograph_write /dev/nvme0n1p5 25,150 33FF00 FF3333 scale -t}$color
${color0}Device:$color /dev/sda1
${color0}Reads: $color${diskio_read /dev/sda1}/s${alignr}${color0}Writes: $color${diskio_write /dev/sda1}/s
${color8}${diskiograph_read /dev/sda1 25,150 33FF00 FF3333 scale -t}$color${alignr}${color8}${diskiograph_write /dev/sda1 25,150 33FF00 FF3333 scale -t}$color

# Ethernet utilization
${color1}NETWORKING ${hr 2}$color
${color0}Wired (${addr eno2})
${color0}Down:$color ${downspeed eno2}/s ${alignr}${color0}Up:$color ${upspeed eno2}/s
${color0}Total:$color ${totaldown eno2} ${alignr}${color0}Total: $color${totalup eno2}
${color0}${downspeedgraph eno2 30,150 000000 00ff00} ${alignr}${upspeedgraph eno2 30,150 000000 ff0000}$color
${stippled_hr 2}
${color0}Wireless (${addr wlo1}) ${alignr}SSID: ${wireless_essid wlo1} 
${color0}Down:$color ${downspeed wlo1}/s ${alignr}${color0}Up:$color ${upspeed wlo1}/s
${color0}Total:$color ${totaldown wlo1} ${alignr}${color0}Total: $color${totalup wlo1}
${color0}${downspeedgraph wlo1 30,150 000000 00ff00} ${alignr}${upspeedgraph wlo1 30,150 000000 ff0000}$color
${color0}Wireless Link Quality: $color ${wireless_link_qual wlo1}%
#Manjaro does not use Syslog.... Journalctl
${color1}Journalctl${hr 2}$color
#${color0}Journalctl Messages$color
#${color4}${font Arial:size=7}${execi 30 tail -n8 /var/log/syslog | fold -w100}$color$font 
${color4}${font Arial:size=11}${execi 30 journalctl -n 6 | fold -w70}$color$font

++++


  • /app/www/public/data/attic/home_server/home_server_setup/other_services/conky.1644657249.txt.gz
  • Last modified: 2023-04-30 Sun wk17 17:44
  • (external edit)