Ubuntu中使用的Conky配置
系统:Ubuntu 20,04(LTS)
Conky
conky是可以在Linux中实现桌面级系统资源监控的软件。同时由于具有较高的可配置性而成为桌面定制不可或缺的插件式软件之一。
Conky安装(apt)
sudo apt install conky
Conky配置
参考了网上很多Conky的配置文件,感觉没有使用得很得心应手,也可能是纯粹不太符合自己的个人感觉,所以参考了很多的Conky配置文件之后,得到了以下的配置文件,将这配置文件内容放在新建的~/.config/conky/.conkyrc
文件内,通过命令行形式进行后续操作,就可以完成Conky的所有配置。
先上效果图:
sudo mkdir ~/.config/conky
sudo gedit ~/.config/conky/.conkyrc
Conky:~/.config/conky/.conkyrc
粘贴配置文件如下:
-- vim: ts=4 sw=4 noet ai cindent syntax=luaconky.config = {alignment = 'top_right',background = false,border_width = 0.1,cpu_avg_samples = 4,default_color = 'white',default_outline_color = 'gray',default_shade_color = 'black',draw_borders = true,draw_graph_borders = false,draw_outline = false,draw_shades = false,use_xft = true,font = 'DejaVu Sans Mono:size=11',gap_x = 10,gap_y = 45,minimum_height = 5,minimum_width = 5,net_avg_samples = 2,double_buffer = true,out_to_console = false,out_to_stderr = false,extra_newline = false,own_window = true,own_window_colour = '000000',own_window_class = 'Conky',own_window_argb_visual = true,own_window_type = 'dock',own_window_transparent = true,own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',stippled_borders = 0,update_interval = 1,uppercase = false,use_spacer = 'none',show_graph_scale = false,show_graph_range = false
}conky.text = [[
#${image ~/.face -p 180,5 -s 70x70 -f 86400}${image ~/.pacman -p 20,9 -s 60x60 -f 86400}
${font Latin Modern Mono Caps:bold:size=14}${alignc}${color 00ffae}$nodename
${font Noto Sans:bold:size=8}${alignc}${desktop_name} ${desktop}/$desktop_number
${font Noto Sans:bold:size=8}${alignc} ${exec hostnamectl | grep System | cut -c21-40}
${alignc} ${exec hostnamectl | grep Architecture | cut -c7-30}
${alignc} ${exec hostnamectl | grep Kernel | cut -c13-34}
${alignc} Conky PID: ${color red}${execi 15 pgrep -l conky | cut -d ' ' -f 1}${font Entopia:bold:size=12}${color 33E9FF}PERFORMANCE ${hr 2}${font}
${offset 15}${color FFFDE2}System Uptime ${alignr}$color $uptime
${offset 15}${color FFFDE2}Frequency: ${alignr}${freq dyn} MHz
${offset 15}${color FFFDE2}RAM Usage:$color $mem${color0}/${color4}$memmax - $memperc%
${offset 15}${color yellow}${membar 5}
${offset 15}${color FFFDE2}CPU:$color ${cpu}% ${color yellow}${cpubar 5}${color FFFDE2}${offset 15}Core 1 ${color ff9300}${cpubar cpu1 6}${color FFFDE2}
${offset 15}Core 2 ${color ff7300}${cpubar cpu2 6}${color FFFDE2}
${offset 15}Core 3 ${color ff4300}${cpubar cpu3 6}${color FFFDE2}
${offset 15}Core 4 ${color ff1300}${cpubar cpu4 6}${color FFFDE2}
${offset 15}${font}${color FFFDE2}Procs:$color $processes ${color FFFDE2}Run:$color $running_processes Temp: ${acpitemp}°C${font Entopia:bold:size=12}${color green}NETWORK ${hr 2}${font}
${offset 15}${color FFFDE2}Ext IP Addr ${color 33E9FF}${alignr}${exec cat /home/edward/myip.txt}
${offset 15}${color FFFDE2}GateWay:${color 33E9FF}${alignr}${gw_ip}
${offset 5}${font Entopia:bold:size=12}${color orange}LAN ${stippled_hr 1}
${offset 15}${font}${color FFFDE2}IPv4 Addr ${color 33E9FF}${alignr}${addr eno1}
${offset 15}${color green}${font}▼ $color${downspeed eno1} ${alignr}${color green}▲ $color${upspeed eno1}
${offset 15}${font}${color}DOWN ${downspeedgraph eno1 32,0 324D23 77B753}
${offset 15}${font}${color}UP ${upspeedgraph eno1 32,0 104E8B ffff00}
${offset 5}${font Entopia:bold:size=12}${color orange}${wireless_essid wlo1} ${stippled_hr 1}
${offset 15}${color FFFDE2}${font}WiFi ${alignr}${wireless_link_qual_perc
wlo1}%(${wireless_link_qual wlo1}/${wireless_link_qual_max wlo1}) ${color 33E9FF}${addr wlo1}
${offset 15}${font}${color green}▼ $color${downspeed wlo1} ${alignr}${color green}▲ $color${upspeed wlo1}
${offset 15}${font}${color}DOWN ${downspeedgraph wlo1 32,0 324D23 77B753}
${offset 15}${font}${color}UP ${upspeedgraph wlo1 32,0 104E8B ffff00}
${font Entopia:bold:size=12}${color 33E9FF}PROCESSES ${hr 2}
${offset 15}${font Noto sans:size=9}${color EDE0FF}Name ${alignr}PID CPU% MEM%
${offset 15}${color FF7878}${top name 1} ${alignr}${top pid 1} ${top cpu 1} ${top mem 1}
${offset 15}${color FF7878}${top name 2} ${alignr}${top pid 2} ${top cpu 2} ${top mem 2}
${offset 15}${color FF7878}${top name 3} ${alignr}${top pid 3} ${top cpu 3} ${top mem 3}
${offset 15}${color FF7878}${top name 4} ${alignr}${top pid 4} ${top cpu 4} ${top mem 4}
${offset 15}${color FF7878}${top name 5} ${alignr}${top pid 5} ${top cpu 5} ${top mem 5}
${offset 15}${color FF7878}${top name 6} ${alignr}${top pid 6} ${top cpu 6} ${top mem 6}
${offset 15}${color FF7878}${top name 7} ${alignr}${top pid 7} ${top cpu 7} ${top mem 7}
${offset 15}${color FF7878}${top name 8} ${alignr}${top pid 8} ${top cpu 8} ${top mem 8}
${offset 15}${color FF7878}${top name 9} ${alignr}${top pid 9} ${top cpu 9} ${top mem 9}${font Entopia:bold:size=12}${color 7cfc00} DISKINFO ${hr 2}
${offset 15}${color 7cfc00}disk : ${diskio}
${offset 15}${color 7cfc00}Disk I/O:
${offset 15}${diskiograph 32,0 ff7300 ff7300}
${font Entopia:bold:size=12}${color 33E9FF}END ${hr 2}${font}
]]
该文件完成编写后,可以通过终端输入:
conky -c ~/.config/conky/.conkyrc
从而得到执行。
配置文件中wlo1
和eno1
分别为Ubuntu可识别的WiFi网卡及有线网卡,请参照个人情况进行修改。
可通过ifconfig
或ip addr
查看(考虑到部分系统已经放弃ifconfig命令)
配置文件里有一个细节,就是
${alignc} Conky PID: ${color red}${execi 15 pgrep -l conky | cut -d ' ' -f 1}
这段配置在Conky界面上显示了Conky的PID,由于设置的Conky使用形式是后台服务程序,在一开始的使用里我曾陷入了不知道怎么关闭后台Conky的情况,后来也是通过不断地ps
查看Conky活跃的PID,再进行强行关闭的操作。所以在新的配置中加入了当前Conky程序的PID,在迫不得已的时候可以直接在终端通过kill
命令关闭当前Conky。
另一个细节是:
${offset 15}${color FFFDE2}Ext IP Addr ${color 33E9FF}${alignr}${exec cat /home/edward/myip.txt}
这个配置是每15秒将~/myip.txt
中的IP地址返回到Conky中,显示为Ext IP Addr
。
而这个myip.txt
文件是我通过shell命令生成的,在后续的shell配置中会说到。
在此之前,曾经尝试过每五秒从网站上获取一次IP,但是鉴于网站大多有防DDOS的设置,因此有可能会使得无法获取到外部IP,所以改为了从本地shell中获取一次IP。
这种方法的缺点是明显的,但是鉴于水平有限,还希望有读者可以一起探讨。
该配置文件存在的另一个问题是:
${offset 15}${color FF7878}${top name 1} ${alignr}${top pid 1} ${top cpu 1} ${top mem 1}
该命令很好的显示了CPU占用最强的应用,但是注意到top
命令在显示PID的时候只能支持5位及其以下的PID,当我的进程PID长度超过5位的时候也只能显示5位的PID,因此在现在大多数进程数随时可以超过5位的计算机中,请不要将其直接作为对进程PID查看的方法。
Conky的配置就到此结束了。下面是后续配置的内容,包括了桌面启动图标以及开机启动的设置。
系统环境:Ubuntu 20.04 LTS
桌面启动
为了让Conky可以从应用列表中启动(其实很多时候没有必要),我们先为Conky的启动命令简单地做一个shell脚本:
sudo gedit ~/.config/conky/startconky.sh
粘贴以下内容:
sleep 15
curl http://members.3322.org/dyndns/getip > ~/myip.txt
conky -c ~/.config/conky/.conkyrc
为了避免开机启动的时候会造成资源拥塞,因此设置了15秒的延时。
在/usr/share/applications
下新建conky.desktop
并在~/Pictures/icon/
文件夹里(没有就新建一个),放进了一个conky.jpg的图标,这个可以随便在网上下载。
sudo gedit /usr/share/applications/conky.desktop
粘贴以下内容:
[Desktop Entry]Type=ApplicationName=conkyIcon=~/Pictures/icon/conky.jpgExec=~/.config/conky/startconky.shTerminal=falseCategories=program;
从而得到应用列表中有Conky的图标,可以通过这个图标去启动Conky:
开机启动
开机启动可以通过使用startup application
应用加入startconky
条目实现:
在应用列表中找到startup application
,然后加入以下条目:
就完成配置啦!
尽情享受Conky的体验吧!
附:Conky配置说明书