conky
2018年06月19日

概述

Conky 是一个用于X窗口系统的系统监视软件。它可以运行在 GNU/Linux 和 FreeBSD 上,是一个基于GPL协议的免费软件。Conky 可以监控许多系统变量,包括 CPU,内存,交换分区,磁盘空间,温度,top,上传,下载,系统消息,以及更多。它具有很高的可配置性,但配置有一些难于理解。Conky是torsmo的一个分支。

配置

conky的配置文件保存在$HOME/.config/conky/conky.conf,文件内包含设置部分和配置变量两部分.
conky 在1.10以后,更改了配置文件结构
具体设置和变量,请参考相关链接

这里有一个现在使用的例子:

conky.config = {
    color1='ffffff',
    color3='00ff00',
    color4='ff0000',
    alignment = 'top_left',
    background = true,
    border_width = 0,
    border_inner_margin = 15,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'black',
    default_shade_color = 'black',
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    use_xft = true,
    font = 'Monospace:size=10',
    xftalpha = 0.8,
    gap_x = 1165,
    gap_y = 0,
    minimum_height = 5,
    minimum_width = 250,
    maximum_width = 250,
    net_avg_samples = 2,
    no_buffers = true,
    text_buffer_size = 1024,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
    own_window = true,
    own_window_argb_value = 128,
    own_window_argb_visual = true,
    own_window_transparent = false,
    own_window_type = normal,
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager,below',
    stippled_borders = 3,
    update_interval = 1.5,
    double_buffer = true,
    uppercase = false,
    use_spacer = 'left',
    pad_percents = 3,
    temperature_unit = 'celsius',
    show_graph_scale = false,
    show_graph_range = false,
    override_utf8_locale = yes,
    mpd_host = 'localhost',
    mpd_password = 'password'
}

conky.text = [[
主机名: ${alignr}${nodename}
内核: $alignr$kernel
在线时长: $alignr$uptime

CPU: ${alignr}${freq dyn} MHz
进程数: ${alignr}$processes
系统负载: ${alignr}$loadavg

CPU ${alignr}${cpu cpu0}%
${cpubar 3 cpu0}  
内存 ${alignc}${mem}/${memmax}${alignr}$memperc%
${membar 3}
交换区 ${alignc}${swap}/${swapmax}${alignr}$swapperc%
${swapbar 3}
#负载列表:
Name              CPU%${alignr}MEM%
${top name 1}${top cpu 1}${alignr}${top mem 1}
${top name 2}${top cpu 2}${alignr}${top mem 2}
${top name 3}${top cpu 3}${alignr}${top mem 3}
${hr}
${font FontAwesome}${font} download ${alignr}${downspeedf enp4s0}k/s
${font FontAwesome}${font} upload ${alignr}${upspeedf enp4s0}k/s
${hr}
文件系统:
root${alignr}${fs_used /}/${fs_size /}
${fs_bar 3 /}
portage${alignr}${fs_used /usr/portage}/${fs_size /usr/portage}
${fs_bar 3 /usr/portage}
docker${alignr}${fs_used /var/lib/docker}/${fs_size /var/lib/docker}
${fs_bar 3 /var/lib/docker}
vbox${alignr}${fs_used /mnt/vbox}/${fs_size /mnt/vbox}
${fs_bar 3 /mnt/vbox}

RAID状态:${execpi 60 ~/.config/conky/raidcheck.sh}${color}

mpd播放器 ${color 738292}${mpd_status}${color}
${alignc}${mpd_smart}
${alignc}${mpd_album}
${mpd_bar 3}
${mpd_elapsed}/${mpd_length}${alignc}$mpd_percent%${alignr}音量:${mpd_vol}
随机:${mpd_random}${alignr}循环:${mpd_repeat}
]]

其他配置

conky 延时启动

gnome-session-properties添加开机启动 conky -dq -p 20
由于conky不能早于桌面显示,所以必须加延时

相关链接

项目地址
设置项
配置变量

总结

总的来说conky在统计系统信息监视上,能根据用户需求高度自定义.不过灵活性带来的就是定制的复杂.

bug

最好将 minimum_widthmaximum_width 设置成同样的大小,不太确定什么变量值改变,导致了conky宽度的变量,间接导致gap_x设置后的,整个conky位置偏移.所以完全固定好conky宽度,就可以解决这个问题了.