Ubuntu 22.04 使用 Conky 小部件进行系统监控
Conky 是一个运行在 GUI 上的 Linux 和 BSD 系统监控程序。它监视各种系统资源,并在屏幕上的时尚小部件中报告 CPU、内存、磁盘存储、温度、登录用户、当前播放歌曲等的当前使用情况。这样,您就可以快速了解计算机组件的使用情况。
Conky 是轻量级且高度可配置的,因此您可以运行它,而不会对您的系统产生负面影响,也不会看到它像不属于它一样突出。我们将向您展示如何在 Ubuntu 22.04 Jammy Jellyfish 上安装它以及一些配置选项以使其看起来不错。
在本教程中您将学习:
如何在 Ubuntu 22.04 Jammy Jellyfish 上安装 Conky
如何让Conky开机自启动
如何定制Conky报告的信息
如何自定义 Conky 的外观
Ubuntu 22.04 上的 Conky 安装分步说明
首先打开命令行终端并输入以下两个 apt 命令来安装 Conky:
$ sudo apt update
$ sudo apt install conky-all
启用 Conky 开机自启动
Conky 是人们通常一直运行的程序类型。它只是将自己与您的桌面集成在一起。因此,您可能希望它在每次系统启动时自动打开。为此,请按照下列步骤操作:
打开 Ubuntu 的应用程序启动器并在搜索栏中输入“startup”以打开
启动应用程序
。在启动应用程序中,单击“添加”以添加新程序。
在此窗口中,我们将输入程序名称(Conky System Monitoring)和打开 Conky 的完整命令,即
/usr/bin/conky
。请参考下面的屏幕截图,看看您的屏幕截图应该是什么样子:点击“添加”按钮完成,然后您可以关闭“启动应用程序首选项”窗口。完成后,重新启动或重新登录您的 Ubuntu 22.04 系统。
$ reboot
当您重新加载到桌面时,您会看到 Conky 小部件。它现在看起来有点简单,默认情况下处于一个糟糕的位置,但它应该可以让您简洁地了解系统资源的情况。在下一节中,我们将介绍如何让它看起来更好。
如何定制Conky
现在 Conky 已经启动并运行了,我们可以在它的美学上做一些工作。 Conky的通用配置文件位于/etc/conky/conky.conf
。编辑此文件将更改 Ubuntu 22.04 系统上每个用户的设置。因此,如果您希望应用通用更改,请直接使用此文件。否则,要编辑特定用户的设置,请首先创建一个用户定义的 Conky 配置文件,如下所示:
$ cp /etc/conky/conky.conf ~/.conkyrc
要应用这些更改,您必须通过重新启动或注销并重新登录来重新加载桌面。之后,使用您喜欢的文本编辑器打开配置文件。使用 gedit 打开它的方法如下:
$ gedit ~/.conkyrc
需要发生的最明显的变化之一是将 Conky 从屏幕左侧移出,它与 GNOME 的停靠栏重叠。将第 29 行从 alignment='top_left'
更改为 alignment='top_right'
以使 Conky 显示在桌面的右侧。
接下来,让我们的网络监控正常工作。默认情况下,Conky 监控 eth0 网络接口,但您的网络接口很可能使用不同的名称。获取您的网络接口名称,然后将第 76 行的 eth0 值替换为您的网络接口名称。
您可以尝试 ping 某个网站以生成一些网络流量,并确保 Conky 正在接收该网站。请注意,在测试之前,您需要保存对配置文件的更改。
$ ping google.com
接下来,让 Conky 看起来更流畅一点,而不是一团碍眼的黑色斑点。将以下行添加到主配置部分顶部的 Conky 配置文件中,然后单击“保存”以查看更改的外观:
own_window_argb_visual = true,
own_window_argb_value = 50,
double_buffer = true,
正如我们之前提到的,Conky 是高度可配置的。我们可以做很多事情。例如,要配置 Conky 来监控我们系统的外部 IP 地址,您可以将以下行添加到配置文件的 conky.text
指令下:
更多选择
Conky 现在看起来非常漂亮,正如您在下面的屏幕截图中看到的那样。
不过,我们只涉及了一些基本配置。只要您有一点知识和想象力,您就可以用 Conky 做无限的事情。例如,看看下面的配置看起来有多广泛:
对这个配置感兴趣吗?只需将以下代码粘贴到我们之前编辑的 Conky 配置文件中即可:
conky.config = {
update_interval = 1,
cpu_avg_samples = 2,
net_avg_samples = 2,
out_to_console = false,
override_utf8_locale = true,
double_buffer = true,
no_buffers = true,
text_buffer_size = 32768,
imlib_cache_size = 0,
own_window = true,
own_window_type = 'normal',
own_window_argb_visual = true,
own_window_argb_value = 50,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
border_inner_margin = 5,
border_outer_margin = 0,
xinerama_head = 1,
alignment = 'bottom_right',
gap_x = 0,
gap_y = 33,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
use_xft = true,
font = 'Ubuntu Mono:size=12',
xftalpha = 0.8,
uppercase = false,
default_color = 'white',
own_window_colour = '#000000',
minimum_width = 300, minimum_height = 0,
alignment = 'top_right',
};
conky.text = [[
${time %H:%M:%S}${alignr}${time %d-%m-%y}
${voffset -16}${font sans-serif:bold:size=18}${alignc}${time %H:%M}${font}
${voffset 4}${alignc}${time %A %B %d, %Y}
${font}${voffset -4}
${font sans-serif:bold:size=10}SYSTEM ${hr 2}
${font sans-serif:normal:size=8}$sysname $kernel $alignr $machine
Host:$alignr$nodename
Uptime:$alignr$uptime
File System: $alignr${fs_type}
Processes: $alignr ${execi 1000 ps aux | wc -l}
${font sans-serif:bold:size=10}CPU ${hr 2}
${font sans-serif:normal:size=8}${execi 1000 grep model /proc/cpuinfo | cut -d : -f2 | tail -1 | sed 's/\s//'}
${font sans-serif:normal:size=8}${cpugraph cpu1}
CPU: ${cpu cpu1}% ${cpubar cpu1}
${font sans-serif:bold:size=10}MEMORY ${hr 2}
${font sans-serif:normal:size=8}RAM $alignc $mem / $memmax $alignr $memperc%
$membar
SWAP $alignc ${swap} / ${swapmax} $alignr ${swapperc}%
${swapbar}
${font sans-serif:bold:size=10}DISK USAGE ${hr 2}
${font sans-serif:normal:size=8}/ $alignc ${fs_used /} / ${fs_size /} $alignr ${fs_used_perc /}%
${fs_bar /}
${font Ubuntu:bold:size=10}NETWORK ${hr 2}
${font sans-serif:normal:size=8}Local IPs:${alignr}External IP:
${execi 1000 ip a | grep inet | grep -vw lo | grep -v inet6 | cut -d \/ -f1 | sed 's/[^0-9\.]*//g'} ${alignr}${execi 1000 wget -q -O- http://ipecho.net/plain; echo}
${font sans-serif:normal:size=8}Down: ${downspeed enp0s3} ${alignr}Up: ${upspeed enp0s3}
${color lightgray}${downspeedgraph enp0s3 80,130 } ${alignr}${upspeedgraph enp0s3 80,130 }$color
${font sans-serif:bold:size=10}TOP PROCESSES ${hr 2}
${font sans-serif:normal:size=8}Name $alignr PID CPU% MEM%${font sans-serif:normal:size=8}
${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}%
${top name 5} $alignr ${top pid 5} ${top cpu 5}% ${top mem 5}%
${top name 6} $alignr ${top pid 6} ${top cpu 6}% ${top mem 6}%
${top name 7} $alignr ${top pid 7} ${top cpu 7}% ${top mem 7}%
${top name 8} $alignr ${top pid 8} ${top cpu 8}% ${top mem 8}%
${top name 9} $alignr ${top pid 9} ${top cpu 9}% ${top mem 9}%
${top name 10} $alignr ${top pid 10} ${top cpu 10}% ${top mem 10}%
]];
如需进一步阅读,请访问官方 Conky git 页面或查看手册页文档:
$ man conky
结束语
Conky 是 Linux 上最古老、最有用的系统监控实用程序之一。其轻量级和高度可配置的特性使其成为 Ubuntu 用户的最爱。一旦你让它看起来不错,你很容易忘记它实际上并不是默认 Ubuntu 桌面环境的一部分。
在本教程中,我们展示了如何在 Ubuntu 22.04 Jammy Jellyfish Linux 上安装 Conky 进行系统监控。我们还展示了如何应用自己的配置更改来控制 Conky 报告的信息,以及如何进行各种美观更改以使其在桌面上看起来流畅。