Conky

出自 ArchWiki

本文或本章节需要语言、wiki 语法或风格方面的改进。请参考Help:Style

原因: 大量无用的配置转储和不必要的复杂性,还需要改进语言。(在Talk:Conky中讨论)

Conky 是一款用于 X Window System 的系统监视器软件(Wayland 支持正在进行中)。它适用于 GNU/Linux 和 FreeBSD。它是根据 GPL 许可证条款发布的自由软件。Conky 能够监视许多系统变量,包括 CPU、内存、交换空间、磁盘空间、温度、top 进程、上传、下载、系统消息等等。它具有极高的可配置性,但是,配置可能有点难以理解。Conky 是 torsmo 的一个分支。

安装

安装 conky 软件包。 还有一些可选软件包,您可以通过启用额外的编译选项来安装

conky 中的一些内置变量需要安装额外的软件包才能使用,例如 mpd 用于音乐。 至于硬盘温度,请参阅 lm_sensors#S.M.A.R.T. 硬盘温度。 从 Conky 的角度来看,通过使用其 hwmon 变量,drivetemp 可以用作 hddtemp 软件包和变量的替代品。

附加实用工具

  • Conky Manager — Conky 小部件的主题管理器。 它提供了启动/停止、浏览和编辑系统上安装的 Conky 主题的选项。
https://launchpad.net/conky-manager || conky-managerAUR

配置

配置文件可以位于以下路径之一(将使用找到的第一个)

  • ~/.config/conky/conky.conf
  • ~/.conkyrc
  • /etc/conky/conky.conf

如果这些文件都不存在,conky 将使用默认的内置配置,您可以使用以下命令打印出来

$ conky --print-config

此外,您可以使用以下命令创建默认配置文件

$ mkdir -p ~/.config/conky && conky --print-config > ~/.config/conky/conky.conf

如果您希望在主目录中拥有配置文件 点文件,则可以在其他位置创建一个文件,并告诉 conky 使用参数来使用它。

例如,告诉 conky 使用位于用户主目录中的点文件

$ conky --config=~/.conky.conf

更多示例配置文件可以在上游 wiki 文章中找到。

当 conky 运行时编辑配置文件时,每次写入文件时,conky 都会使用新的更改进行更新。

有关所有 Conky 对象/变量的完整参考,请参阅 SourceForge 页面; 这些也在 conky(1) 中列出。

双显示器

当使用双显示器配置时,您需要调整一些选项,以将 conky 窗口放置在桌面上您想要的位置。

通过调整 gap_x,假设您运行的是 1680x1050 像素分辨率,并且您希望窗口位于左侧显示器的中间顶部,您将使用

alignment = 'top_left',
gap_x = 840,

alignment 选项是不言自明的,gap_X 是距屏幕左边框的距离,以像素为单位。

xinerama_head 是另一个有用的选项,以下代码会将 conky 窗口放置在第二个屏幕的右上角

alignment = 'top_right',
xinerama_head = 2,

字体

为了使用 conky 显示 Unicode 图片和表情符号,您需要一个支持此功能的字体,然后配置 conky 以使用您想要显示的 Unicode 字体。 例如

 ${font Symbola:size=48}☺${font}

符号字体

符号字体在更多装饰性的 conky 配置中也很常用,其中一些更流行的包括:

自动启动

有几种不同的方法可以自动启动 Conky,如 自动启动 中所述。

Conky 有一个配置设置,可以告诉它 fork 到后台。 对于某些自动启动设置,这可能是理想的。

conky.conf

conky.config = {
    background = true,
}

如果您使用图形桌面环境并希望使用 conky.desktop 文件进行自动启动,请使用以下内容

~/.config/autostart/conky.desktop
[Desktop Entry]
Type=Application
Name=conky
Exec=conky --daemonize --pause=5
StartupNotify=false
Terminal=false

pause=5 参数将 conky 的绘制延迟 5 秒启动,以确保桌面有时间加载并启动。

故障排除

这些是人们在使用 conky 时遇到的已知问题及其解决方案。

Conky 启动了,但屏幕上没有任何显示

首先检查配置文件文本变量中是否存在语法错误。 然后仔细检查您的用户是否具有运行配置文件中每个命令的权限,以及是否安装了所有需要的软件包。

在“显示桌面”时不最小化

使用 Compiz: 如果“显示桌面”按钮或快捷键将 Conky 以及所有其他窗口最小化,请启动 Compiz 配置设置管理器,转到“常规选项”并取消选中“隐藏跳过任务栏窗口”选项。

使用 XFCE: 如果单击桌面隐藏了 Conky,请在 conky.conf 中添加 own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

对于其他桌面环境/窗口管理器 尝试编辑 conky.conf 并添加/更改以下行

own_window_type = 'override',

own_window_type = 'desktop',

有关确切的差异,请参阅 conky(1) 手册页。 但是后一个选项使您可以使用例如 Openbox 中的调整大小快捷键将窗口捕捉到 conky 的边框,而第一个选项则不能。

与 GNOME Shell 集成

有些人遇到过 conkyGNOME 下显示的问题。

将这些行添加到 conky.conf

own_window = true,
own_window_type = 'desktop',

防止闪烁

本文或本章节需要扩充。

原因: 解释如果没有 dbe 模块该如何操作的步骤,可能应该在 xorg 中而不是此处链接 (在 Talk:Conky 中讨论)

Conky 需要 X 服务器的双缓冲扩展 (DBE) 支持,以防止闪烁,因为它在没有它的情况下无法足够快地更新窗口。 可以在 Xorg/etc/X11/xorg.conf 中通过在 "Module" 部分添加 Load "dbe" 行来启用它。 xorg.conf 文件已被 /etc/X11/xorg.conf.d 替换(1.8.x 补丁以上),其中包含特定的配置文件。 只要 DBE 存在于 /usr/lib/xorg/modules 中,它就会自动加载。 可以使用 grep LoadModule /var/log/Xorg.0.log 检查已加载模块的列表。

要启用双缓冲,请将 double_buffer 选项添加到 conky.conf

 conky.config = {
     double_buffer = true,
 }

参见