Fastfetch 使用与定制完全指南基于 C 语言的高性能系统信息获取工具【免费下载链接】fastfetchA maintained, feature-rich and performance oriented, neofetch like system information tool.项目地址: https://gitcode.com/GitHub_Trending/fa/fastfetchFastfetch 是一款类 neofetch 的系统信息获取与展示工具以 C 语言编写主打性能与可定制性支持 Linux、macOS、Windows 8.1、Android、FreeBSD、OpenBSD、NetBSD、DragonFly、Haiku 与 SunOSillumos、Solaris等多平台。本文以仓库根目录的 README.md 为主线结合 doc/help.json、presets 目录下的预置配置与src/源码系统讲解安装、命令行使用、JSONC 配置、模块与格式化、Logo 定制等实战内容读完即可上手配置一套属于你自己的 fetch 输出。注意项目仅在 x86-64 与 aarch64 平台上被主动测试其他平台可能可以运行但不保证稳定性。同时部分发行版仓库打包的 fastfetch 版本较旧且不再受支持建议优先使用最新版本。为什么选择 fastfetchREADME 的 FAQ 中直接回答了Neofetch 已经够用为什么还需要 fastfetch这一问题可归纳为六点活跃维护项目持续迭代而 neofetch 已停止维护更快如项目名所示性能是核心卖点功能更丰富默认只启用少数模块通过fastfetch -c all可以发掘全部能力更可配置模块、格式、颜色、单位等几乎一切均可自定义更精致例如 neofetch 内存显示555 MiB、磁盘显示23 G而 fastfetch 默认输出555.00 MiB与22.97 GiB两位小数、统一单位更准确例如 neofetch 从未真正支持 Wayland 协议而 fastfetch 在 显示服务器检测 中提供了 Wayland、X11、DRM 等多种途径。安装方式Linux部分发行版打包了旧版本 fastfetch旧版本不受支持请尽量使用最新版本。Ubuntuppa:zhangsongcui3371/fastfetch要求 Ubuntu 22.04 或更新提供最新版本Debian / Ubuntuapt install fastfetchDebian 13、Ubuntu 25.04Debian / Ubuntu从 GitHub Releases 下载fastfetch-linux-架构.deb后双击安装适用于 Ubuntu 20.04、Debian 11Arch Linuxpacman -S fastfetchFedoradnf install fastfetchGentooemerge --ask app-misc/fastfetchAlpineapk add --upgrade fastfetchNixOSnix-shell -p fastfetchopenSUSEzypper install fastfetchALT Linuxapt-get install fastfetchExherbocave resolve --execute app-misc/fastfetchSoluseopkg install fastfetchSlackwaresbopkg -i fastfetchVoid Linuxxbps-install fastfetchVenom Linuxscratch install fastfetch以上命令视系统权限可能需要sudo、doas或sup。若你的发行版未打包或版本过旧Linuxbrew 是很好的替代方案brew install fastfetch。macOSHomebrewbrew install fastfetchMacPortssudo port install fastfetchWindowsscoopscoop install fastfetchChocolateychoco install fastfetchwingetwinget install fastfetchMSYS2 MinGWpacman -S mingw-w64-subsystem-arch-fastfetch也可直接从 GitHub Releases 页面下载压缩包形式的程序。BSD 系统FreeBSDpkg install fastfetchNetBSDpkgin in fastfetchOpenBSDpkg_add fastfetch仅快照版DragonFly BSDpkg install fastfetch仅快照版AndroidTermuxpkg install fastfetchNightly 版本可通过项目 CI 工作流的 nightly 链接获取每日构建版本。从源码构建仓库根目录提供了 run.sh 一键构建脚本其核心流程为mkdir -p build/ cd build/ cmake .. cmake --build . --target fastfetch -j$(nproc) ./fastfetch $脚本会根据内核类型自动选择并行参数Linux/MINGW 用nprocDarwin/BSD 用sysctl -n hw.ncpu构建完成后直接运行二进制。构建配置定义在 CMakeLists.txt 中可用fastfetch --list-features查看当前二进制编译时启用的功能特性。快速上手README 给出的四条入门命令是# 1. 以默认配置运行 fastfetch # 2. 启用全部支持的模块发掘你感兴趣的模块 fastfetch -c all.jsonc # 3. 查看 fastfetch 检测到的所有数据JSON 输出 fastfetch -s module1[:module2][:module3] --format json # 4. 查看帮助 fastfetch --help其中-c all.jsonc加载的是 presets/all.jsonc——这份预置配置列出了项目支持的绝大部分模块从title、os、host、kernel、packages、shell到cpu、gpu、memory、disk、localip、wifi、weather、tpm、version等是了解全部模块能力的最佳入口。默认配置则只启用少量常用模块如title、os、host、kernel、uptime、packages、shell、cpu、gpu、memory等详见 presets/ci.jsonc 中logo: null的禁用写法。另外fastfetch --gen-config可以交互式生成最小配置生成路径默认为~/.config/fastfetch/config.jsonc若想生成包含全部可选选项的完整配置README 建议使用在线配置生成器。命令行选项速览所有命令行选项的定义与默认值都集中在 doc/help.json共约 100 个选项并在运行时由 src/common/commandoption.c 解析。以下是按分组整理的常用选项信息类Informative选项作用-h, --help显示帮助或指定命令查看专项帮助如-h gpu-format-v, --version显示完整版本--version-raw显示major.minor.patch--list-config-paths列出配置文件搜索路径--list-data-paths列出预置配置与 Logo 的搜索路径--list-logos/--print-logos列出/打印可用 Logo--list-modules列出可用模块--list-presets列出可用预置配置可用--config preset-name加载--list-features列出编译时启用的特性主要用于开发--print-structure打印默认模块结构--format json/-jJSON 输出--dynamic-interval ms每 N 毫秒刷新一次输出-w/--watch是秒为单位的别名不传值默认 1 秒配置类Config选项作用-c, --config file指定配置文件或预置名-从 stdin 读取none禁用后续配置加载--gen-config [path]交互式生成配置文件默认~/.config/fastfetch/config.jsonc路径为-时打印到 stdoutLogo 类Logo选项作用-l, --logo src设置 Logo 来源none禁用 Logo--logo-type type指定 Logo 类型见下文Logo 类型--logo-width / --logo-height图片 Logo 的宽/高字符数iTerm 协议必填--logo-color-[1-9] color覆盖 Logo 中的第 N 个颜色占位符--logo-padding[-left/right/top]设置 Logo 四周留白--logo-position left/top/right设置 Logo 与模块列表的相对位置显示类Display选项作用-s, --structure mod1:mod2:...设置模块结构冒号分隔--structure-disabled批量禁用--stat显示每个模块的执行耗时毫秒用于性能分析--pipe禁用颜色默认根据 stdout 是否为 TTY 自动判断--color-keys / --color-title / --color-output / --color-separator分别设置键、标题、输出值、分隔符颜色--separator str设置键值分隔符默认:--key-width n将键对齐到 N 个字符宽--key-type type键的显示形式string默认、icon需 Nerd Font、both及both-0..4间距变体--key-language lang键的语言en/zh_CN/ja/ru 等约 20 种留空则按系统 locale 自动检测--percent-type n百分比样式1 数字、2 多色条、3 两者、6 仅条、9 彩色数字默认、10 单色条--bar-char-elapsed / --bar-char-total进度条已用/剩余字符默认■与---bar-width n进度条宽度默认 10 字符--size-binary-prefix IEC/SI/JEDEC容量单位制IEC1024 进制默认/ SI1000 进制/ JEDEC--size-max-prefix B..YB最大单位默认YB--size-ndigits n容量数值小数位数--freq-ndigits nCPU/GPU 频率GHz小数位数默认 2--temp-unit D/C/F/K温度单位默认跟随系统D配置系统JSONCFastfetch 使用JSONC带注释的 JSON作为配置格式这与 README 中配置复杂文档在哪里的 FAQ 直接相关推荐使用支持 JSON Schema 的 IDE如 VSCode编辑schema 文件位于 doc/json_schema.json官方文档即由此生成。配置文件的核心结构如下节选自 presets/neofetch.jsonc{ $schema: https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json, display: { size: { maxPrefix: MB, ndigits: 0, spaceBeforeUnit: never }, freq: { ndigits: 3, spaceBeforeUnit: never } }, modules: [ title, separator, os, host, kernel, uptime, packages, shell, cpu, gpu, memory, break, colors ] }这份neofetch.jsonc正是 README 提到的把容量单位从 MiB/GiB 改成 MB/GB的示例display.size.maxPrefix限制最大单位、ndigits设为 0 位小数、spaceBeforeUnit设为从不空格从而模拟 neofetch 的显示风格对应的命令行写法是--size-max-prefix MB --size-ndigits 0。默认情况下 fastfetch 使用 IEC 前缀1024 进制且保留两位小数这就是 FAQ 中555.00 MiB与22.97 GiB的来源相关默认值可在 doc/help.json 的size-binary-prefix、size-ndigits等选项中查到。presets 目录还提供了其他可直接用-c 文件名加载的预置presets/neofetch.jsonc模拟 neofetch 风格输出presets/all.jsonc启用全部模块README 推荐用fastfetch -c all发掘功能presets/paleofetch.jsonc、presets/screenfetch.jsonc、presets/archey.jsonc复古风格presets/examples30 余个带完整display/logo/modules配置的示例文件README 中多张截图对应配置就在此目录例如 presets/examples/10.jsonc 演示了custom模块与{#90}形式的十六进制颜色内联用法。模块结构的两种定义方式README 给出的 JSONC 模块写法与命令行等价{ modules: [ { type: gpu, format: {name} } ] }等价于命令行fastfetch -s gpu --gpu-format {name}。此外每个模块都支持以对象形式携带私有参数例如 presets/all.jsonc 中的{type: cpu, showPeCoreCount: true, temp: true}会额外显示 P 核/E 核数量与温度{type: gpu, driverSpecific: true, temp: true}会尝试向驱动询问 GPU 名称并显示温度{type: localip, showIpv6: true, showMac: true, showSpeed: true}则让本地 IP 模块显示 IPv6、MAC、速率等信息。每个模块的检测逻辑分布在 src/detection/ 下按模块名分目录组织如src/detection/gpu/、src/detection/memory/各平台分别实现*_linux.c、*_windows.c、*_apple.c等输出渲染则由 src/modules/ 下同名目录实现。模块的注册表位于 src/modules/modules.c它同时定义了每个模块支持的format变量供-h module-format查询。模块输出格式化formatFastfetch 用format字符串控制模块输出。README 以 GPU 模块为例只显示 GPU 名称、隐藏其他信息配置为{ modules: [ { type: gpu, format: {name} // 详见 fastfetch -h gpu-format } ] }{name}中的大括号语法即格式化变量。相关机制在 src/fastfetch.c 的printCommandFormatHelp函数中实现程序会遍历模块注册表ffModuleInfos为每个声明了formatArgs的模块生成专项帮助。因此fastfetch -h format查看 format 字符串的基础用法fastfetch -h module-format查看某个模块支持的变量列表例如fastfetch -h gpu-format会列出 GPU 模块可用的{name}、{vendor}、{coreCount}等变量及其含义配置中的format与命令行--module-format完全等价presets/neofetch.jsonc 中{type: kernel, format: {release}}、{type: memory, format: {used} / {total}}都是典型应用。format 字符串还支持条件语法例如 presets/neofetch.jsonc 中的终端字体模块{/name}{-}{/}{name}{?size} {size}{?}——{/name}表示当 name 为空时输出空、{-}表示条件连字符、{?size}...{?}表示当 size 存在时输出。{icon}则是 presets/examples/10.jsonc 中演示的模块图标变量配合 Nerd Font 使用。Logo 定制README 专门指出Logo 也可以重度定制。仓库内置了大量 ASCII Logo见 src/logo/ascii/含 500 个发行版/系统 Logo 文本与 26 个.inc头文件运行时用fastfetch -l 名称或路径加载自定义 Logo。Logo 类型--logo-type从 doc/help.json 可以看到完整枚举文本类builtin内置 ASCII 图、small内置小尺寸版、file文本文件做颜色码替换、file-raw文本文件原样输出、data/data-raw直接内联文本数据图片类sixel、kittyKitty 图形协议、kitty-direct、kitty-icat调用kitten icat、itermiTerm 图形协议、chafalibchafa 转 ASCII、raw原始二进制输出特殊auto默认自动检测、none禁用 Logo。命令行还提供便捷别名--file path等价于--logo-type file --logo path--sixel、--kitty、--iterm、--chafa、--raw等同理。--logo-width、--logo-height控制图片显示尺寸iTerm 协议必填--logo-preserve-aspect-ratio在不变形前提下尽量填满指定宽高--logo-padding*控制留白。ASCII Logo 换色README 示例fastfetch --logo-color-1 red --logo-color-2 green等价于 JSONC 写法{ logo: { color: { 1: red, 2: green } } }--logo-color-[1-9]中的数字是 Logo 文本里的颜色占位符索引在 doc/help.json 中被标记为pseudo选项一个选项展开为 9 个。颜色值语法可用fastfetch -h color查看。使用自己的 ASCII 图 / 图片fastfetch -l /path/to/logo若只想在顶部显示 FIGlet 风格的系统名README 给出了一段脚本# 先安装 pyfiglet 和 jq pyfiglet -s -f small_slant $(fastfetch -s os --format json | jq -r .[0].result.name) fastfetch -l none先用 JSON 输出取出系统名交给 pyfiglet 生成大字再让 fastfetch 不显示 Logo。Windows 上的图片 LogoREADME 针对 Windows 各终端给出了明确方案以下信息以 README 撰写时间为准minttyWindows 上 Bash / MSYS2 使用与 Wezterm仅 nightly支持 iTerm 图片协议配置为{ logo: { type: iterm, source: C:/path/to/image.png, width: num-in-chars } }Windows Terminal仅支持 sixel 协议。经 MSYS2 安装时先pacman -S mingw-w64-subsystem-x86_64-imagemagick然后{ logo: { type: sixel, // 不要用 auto source: C:/path/to/image.png, // 不要用 ~fastfetch 是原生 Windows 程序不做 cygwin 路径转换 width: image-width-in-chars, // 可选 height: image-height-in-chars // 可选 } }通过 scoop 或 Releases 安装时需先把图片手工转成 sixel 格式再使用type: raw且width/height必填{ logo: { type: raw, // 不要用 auto source: C:/path/to/image.sixel, width: image-width-in-chars, // 必填 height: image-height-in-chars // 必填 } }Command 模块与安全警告README 明确给出了一个重要安全警告fastfetch 的Command模块可以执行任意 shell 命令从不可信来源复制粘贴的配置文件可能包含恶意命令危害系统或泄露隐私使用前务必审查配置内容。Command 模块同时也被推荐为实现个人定制功能的通用手段README 中想要功能 A/B/C的 FAQ 建议优先用它包装自定义脚本例如显示默认编辑器// 此模块显示默认编辑器 { modules: [ { type: command, text: $EDITOR --version | head -1, key: Editor } ] }该模块的检测实现位于 src/detection/command/command.c与命令行模块相关的选项可查看src/modules/command/。FAQ 实战要点README 后半部分是高频问题解答以下为可直接落地的要点1. 本地 IP 会不会泄露隐私本地 IP10.x.x.x、172.x.x.x、192.168.x.x只有在同一网络如同一 Wi-Fi内才有意义与隐私无关。作者本人还提到Local IP模块对他 SSH 进虚拟机测试最有帮助。如果不喜欢在config.jsonc中禁用localip模块即可。2. 配置文件在哪找不到怎么办fastfetch不会自动生成配置文件。用fastfetch --gen-config生成默认保存到~/.config/fastfetch/config.jsonc也可以fastfetch --list-config-paths查看完整搜索路径。3. 想隐藏某个 key键名把key设为一个空格即可{ key: }4. 启动时输出黑白常见于 p10k 用户p10k 的 instant prompt 机制要求初始化后不得再向 stdout 输出内容需要把fastfetch放到p10k-instant-prompt初始化之前也可用fastfetch --pipe false强制彩色输出。5. 为什么 fastfetch 与 neofetch 显示的内存/包数量不同内存统计口径不同详见项目 issue #1096dpkg 数量差异neofetch 会错误统计 apt 中已删除但残留配置的rc包rpm 方面 neofetch 会把gpg-pubkey误算为软件包可用dnf list --installed | wc -l与rpm -qa | wc -l对比验证。6. Debian/Ubuntu 上 GPU 显示为 XXXX Device XXXX (VGA compatible)这是pci.ids数据库过旧所致下载新版pci.ids覆盖/usr/share/hwdata/pci.idsAMD 显卡还需更新amdgpu.ids覆盖/usr/share/libdrm/amdgpu.ids。或者直接fastfetch --gpu-driver-specific让 fastfetch 在支持时向驱动询问 GPU 名称。7. root 运行时提示Authorization required, but no authorization protocol specified执行export XAUTHORITY$HOME/.Xauthority。8. macOS 上第三方窗口管理器检测不到试试fastfetch --wm-detect-plugin。9. 想让 macOS 下第三方 WM 被识别macOS 检测不到自研第三方窗口管理器时尝试fastfetch --wm-detect-pluginREADME FAQ 明确给出此选项。获取帮助使用类问题在项目的 GitHub Discussions 中发起讨论Bug 类问题在 GitHub Issues 中提交填写 Bug 报告模板有助于开发者排查配置类问题优先参考 presets 目录中的预置配置与 doc/json_schema.json想要新功能项目只接受硬件或系统级软件的功能请求个人化需求优先用Command模块自实现见上文示例。综上所述fastfetch 的完整使用路径是安装 →fastfetch快速体验 →fastfetch -c all.jsonc发掘模块 →--gen-config生成配置 → 按 doc/help.json 与 presets 示例逐步定制模块、format 与 Logo。其全部选项、默认值与格式语法均可在本地fastfetch --help、fastfetch -h module-format与仓库文档中查阅无需依赖外部资料即可完成深度配置。【免费下载链接】fastfetchA maintained, feature-rich and performance oriented, neofetch like system information tool.项目地址: https://gitcode.com/GitHub_Trending/fa/fastfetch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考