fastfetch配置图片显示
分享笔者配置fastfetch图片的方法以及问题解决方案
环境
- 操作系统:macOS Tahoe 26.5 (25F71) arm64
- shell:zsh 5.9
- 终端:kitty 0.46.2
该文章只是笔者自己的方法分享。如果存在有错误欢迎进行指正(目前未开放评论系统,可以通过邮箱dabinggu@outlook.com进行反馈)。
1.检查协议支持
Logo-options文档里面详细的罗列了支持的协议以及如何获得相关的协议支持。
要想让图片显示在终端中,必须保证fastfetch输出的是你的终端所支持的显示协议。笔者在配置图片显示时常用的格式有两种,分别是.png与.sixel。
其中,.png格式可以通过kitty协议以及kitty-direct协议进行显示。一般情况下,kitty-direct支持特性已经内置在了fastfetch的常规发行包中。注意,kitty协议需要fastfetch支持imagemagick6 / imagemagick7协议。
| 特性 | kitty |
kitty-direct |
|---|---|---|
| 支持的图片格式 | 多种 (PNG, JPG, GIF, BMP, TIFF, WebP等) | 仅 PNG |
| 工作原理 | 通过 imagemagick 库对图片进行处理和传输 |
将PNG文件路径直接发送给终端,由终端自己加载 |
| 关键依赖 | 必须编译时启用 imagemagick 特性 (Multi: imagemagick6 / imagemagick7) |
不依赖 imagemagick,但要求终端支持 kitty-direct 协议 |
| 速度 | 较慢,因为需要编码和传输 | 最快,因为图片由终端直接加载,无需编码过程 |
| Fastfetch配置 | 可以自动处理尺寸,支持格式广泛 | 需要指定图片尺寸 (logo-height 和 logo-width),且图片格式必须是 PNG |
.sixel格式的图片显示同样需要fastfetch支持imagemagick6 / imagemagick7协议。
使用命令fastfetch --list-features查看安装的fastfetch所支持的额外特性。
$ fastfetch --list-features
threads
imagemagick7
chafa
zlib
sqlite3
libzfs
此外,记得检查自己使用的终端模拟器是否支持对应显示协议。
获取需要的显示协议
如果安装的fastfetch没有我需要的特性怎么办?
这种情况是存在的。比如笔者一开始通过编译/brew安装的fastfetch都没有imagemagick7的显示特性。
你可以尝试一下步骤来获得显示特性。下面步骤会编译一个支持相关特性的fastfetch。
执行下列任何命令前请先确认自己的运行环境并根据不同情况作出修改,而不是一味照抄
# 首先移除旧的fastfetch防止冲突(这里以brew安装为例。请根据自己的环境进行处理)
$ brew uninstall fastfetch
# 找一个目录clone官方仓库
$ git clone git@github.com:fastfetch-cli/fastfetch.git && cd fastfetch
# 为安装imagemagick以及pkg-config
$ brew install imagemagick pkg-config
# 正常编译
$ mkdir -p build && cd build
$ cmake ..
$ cmake --build . -j$(sysctl -n hw.ncpu)
# 检查构建结果中的特性支持
$ ./fastfetch --list-features
# 安装与配置环境变量(这里以mac下的zsh为例。请根据自己的环境进行处理)
$ cmake --install build --prefix ~/.local
$ sed -i '' '1i\
export PATH="$HOME/.local/bin:$PATH"' ~/.zshrc
pkg-config 是一个查找已安装库的工具。当编译软件时,它告诉编译器头文件在哪里、库文件在哪里、需要链接什么。比如你可以用 >pkg-config --cflags --libs MagickCore-7 直接拿到 imagemagick 的编译参数,CMake 就用它来自动发现 imagemagick。
类比:你的系统上装了 imagemagick 库,但 CMake 不知道怎么找到它。pkg-config 就是这个"怎么找"的答案——它读 /opt/homebrew/lib/pkgconfig/ 下的 .pc 文件,把路径信息告诉 CMake。
重启终端模拟器或是重新加载配置文件即可使用。
配置图片
接下来按照fastfetch文档进行配置。
配置文件路径~/.config/fastfetch/config.jsonc
如果找不到文件,可以生成配置文件。
$ fastfetch --gen-config-full
logo配置说明
"logo": {
"type": "auto", // Logo type: auto, builtin, small, file, etc.
"source": "arch", // Built-in logo name or file path
"width": 65, // Width in characters
"height": 35, // Height in characters
"padding": {
"top": 0, // Top padding
"left": 0, // Left padding
"right": 2 // Right padding
},
"color": { // Override logo colors
"1": "blue",
"2": "green"
}
}
这里需要注意一点,如果你使用的是kitty-direct协议,请记得设置height和width两项指定大小。
保存后执行fastfetch,就可以看到图片了





