Featured image of post Linux状态监控软件Conky的使用

Linux状态监控软件Conky的使用

Linux状态监控软件Conky的使用

缘起

在使用Linux系统时,很多时候需要实时监测系统的状态,例如在打游戏时监测CPU和GPU的使用率、温度等信息,在训练机器学习模型时监测显存使用情况,在下载大文件时监测网络速度等。虽然已经有System Monitor等图形化工具,以及htopnvidia-smi等命令行工具可以用来监测系统状态,但这些工具大多需要手动打开,并不能实时显示在桌面上,有时不太方便。

Conky是一款轻量级的系统监控软件,可以将各种系统状态信息实时显示在桌面上,方便用户随时查看系统状态。我已经使用了很久了,感觉比较好用。但之前使用的是一个魔改的主题,能够满足我的需求,但可移植性比较糟糕。最近换了电脑,决定重新制作一个优雅、好用、可移植性强的Conky主题,并在这里分享一下Conky的安装和使用方法。

安装Conky

Conky版本

主要的Linux发行版的软件源中基本都提供Conky的软件包,但版本普遍较旧。很多Conky包不含Lua支持、不支持NVIDIA GPU监测,或者对Wayland支持不好。如果你使用apt(如Ubuntu、Debian等)、dnf(如Fedora等)、pacman(如Arch Linux等)等包管理器安装Conky,建议一定要检查安装的Conky包是否支持你需要的特性。

除了发行版的软件源外,Conky的GitHub仓库中提供了AppImage格式的Conky二进制包,版本较新,且包含了Lua支持和NVIDIA GPU监测支持,推荐使用这个版本。可以在Releases页面下载。

安装步骤

使用包管理器安装

可以参看GitHub仓库中的Installation Guide,下面是一些常见发行版的安装方法。

Debian/Ubuntu

在Debian和Ubuntu中,可以通过以下命令来搜索可用的Conky包:

1
apt search conky

通常会看到多个Conky相关的软件包,例如conky-allconky-lua等。可以查看conky-all的描述信息,确认其版本号、支持的特性等信息:

1
apt show conky-all

最后,可以通过以下命令来安装Conky:

1
sudo apt install conky-all
Fedora

在Fedora中可以使用以下命令搜索可用的Conky包:

1
dnf search conky

然后通过下面的命令查看conky包的描述信息:

1
dnf info conky

最后,可以通过以下命令来安装Conky:

1
sudo dnf install conky
Arch Linux

如果你使用Arch Linux,可以通过以下命令来搜索可用的Conky包:

1
pacman -Ss conky

然后通过下面的命令查看conky包的描述信息:

1
pacman -Si conky

最后,可以通过以下命令来安装Conky:

1
sudo pacman -S conky

使用AppImage安装

使用AppImage安装可以参看GitHub仓库中的安装说明,下面是简要的安装步骤:

  1. 从GitHub的Releases页面下载最新版本的Conky AppImage包,例如conky-*.AppImage

  2. 给下载的AppImage包添加可执行权限:

    1
    
    chmod +x conky-*.AppImage
    
  3. 运行Conky AppImage包:

    1
    
    ./conky-*.AppImage
    
  4. (可选)将Conky AppImage包移动到系统的某个目录下,例如/usr/local/bin/,以便在任何地方都能通过命令行运行Conky:

    1
    
    sudo mv conky-*.AppImage /usr/local/bin/conky
    
  5. (可选)将Conky AppImage包加入开始菜单,方便以后启动。可以创建一个.desktop文件,内容如下:

    1
    2
    3
    4
    5
    6
    
    [Desktop Entry]
    Name=Conky
    Exec=/path/to/conky-*.AppImage
    Icon=conky
    Type=Application
    Categories=Utility;System;
    

    将上述内容保存为~/.local/share/applications/conky.desktop,并将/path/to/conky-*.AppImage替换为实际的AppImage包路径。

运行Conky,可以看到类似下图所示的系统状态信息显示在桌面上:

Conky default

配置Conky

配置文件

Conky的配置文件通常位于~/.config/conky/conky.conf,如果没有这个文件,可以运行下述命令来生成一个默认的配置文件:

1
conky -C > ~/.config/conky/conky.conf

这里生成的默认配置文件比较简单,可以根据需要进行修改和扩展。Conky的配置文件使用类似于INI格式的语法,可以设置各种选项和显示内容。具体的配置选项可以参看Conky官方文档

我推荐使用Lua脚本来编写Conky的配置文件,这样可以更灵活地控制显示内容和样式。下面是一个简单的Lua配置文件示例:

 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
conky.config = {
    alignment = 'top_right',
    background = false,
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    double_buffer = true,
    draw_borders = false,
    draw_graph_borders = true,
    gap_x = 10,
    gap_y = 10,
    minimum_width = 200,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_stderr = false,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    update_interval = 1.0,
    use_xft = true,
    xftalpha = 0.8,
};
conky.text = [[
${font Arial:bold:size=12}System Monitor${font}
Uptime: ${uptime}
CPU: ${cpu cpu0}% ${cpubar cpu0}
RAM: ${mem} / ${memmax} ${membar}
Disk: ${fs_used /} / ${fs_size /} ${fs_bar /}
GPU: ${nvidia gpu0}°C ${nvidia gpu0 usage}%
Net: ${downspeed eth0} ↓↑ ${upspeed eth0}
]];

使用Conky主题

自己从零开始配置Conky可能比较麻烦,推荐使用现成的Conky主题。可以在网上找到很多Conky主题,例如:

这里推荐一个我自己开发的Conky主题,名为jinli-conky。效果如下图所示:

jinli-conky效果图

这个主题支持CPU、内存、磁盘、网络、NVIDIA GPU等多种系统状态的监测,并且样式简洁优雅,纯Lua编写,易于修改和扩展。

jinli-conky主题

安装jinli-conky主题

安装方法可参看jinli-conky的GitHub仓库主页的说明。主要步骤如下:

  1. 克隆jinli-conky仓库:

    1
    
    git clone https://github.com/jin-li/jinli-conky.git
    

    最好将其克隆到~/.config/conky/目录下。

  2. 安装字体(可选)

    jinli-conky主题使用了一些自定义字体来显示一些图标,如果你想要显示这些图标的话,需要先安装这些字体。不安装字体也行,这些图标会显示为文字。

    进入jinli-conky/fonts/目录,就可以看到名为subset-SymbolNF.ttf的字体文件,直接双击安装即可。也可以使用命令行安装:

    1
    2
    3
    
    cd jinli-conky/fonts/
    cp subset-SymbolsNF.ttf ~/.local/share/fonts/
    fc-cache -fv
    
  3. 进入jinli-conky目录,运行start.sh脚本来安装主题:

    1
    2
    
    cd jinli-conky
    ./start.sh
    

    运行脚本后,Conky主题就会自动启动并显示在桌面上。

  4. 开机自启动(可选)

    运行上一步的启动脚本会生成自动启动项的文件conky-start.desktop,如果你需要让Conky在每次登录时自动启动,可以将其复制到~/.config/autostart/目录下。先检查~/.config/autostart/目录是否存在,如果不存在可以创建:

    1
    
    mkdir -p ~/.config/autostart/
    

    然后复制自动启动项文件:

    1
    
    cp conky-start.desktop ~/.config/autostart/
    
配置jinli-conky主题

在运行start.sh脚本后,会在主题目录下生成一个名为jinli-config.lua的配置文件,这个配置文件是主题默认的jinli-config.example.lua文件的副本。你可以编辑这个配置文件来修改主题的各种选项,例如显示内容、样式等。

其中比较常用的配置选项包括:

  • 缩放比例:主题默认的屏幕分辨率是1920x1080,如果你的屏幕分辨率不同,可以修改scaling选项来调整主题的大小。例如,如果你的屏幕分辨率是3840x2160,可以将scaling选项修改为scaling = 2.0(3840/1920)。
  • 整体参数:可以修改整体显示的宽度、高度、位置等参数,也可以修改刷新间隔(默认为1秒)、修改透明度、更换字体、修改距离屏幕边缘的距离等参数。
  • 单个组件:主题包含了时钟系统信息CPU内存磁盘网络GPU这几个组件,可以单独启用或禁用某个组件,或者修改某个组件的显示样式和参数,例如将仪表盘显示在右侧、更改组件的显示顺序等。

修改完配置文件后,保存文件即可立即生效,无需重启Conky。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计