Fastfetch
Fastfetch是一个类似于neofetch的工具,用于获取系统信息并美观地显示。它主要用C语言编写,注重性能和可定制性。目前支持Linux、Android、FreeBSD、macOS、SunOS和Windows 7+系统。
这里有不同平台上的截图。
安装
Linux
一些发行版打包了过时的fastfetch版本。旧版本不提供支持,所以请尽量使用最新版本。
- Ubuntu:
ppa:zhangsongcui3371/fastfetch
(适用于Ubuntu 22.04或更新版本) - Debian:
apt install fastfetch
(适用于Debian 13或更新版本) - Debian / Ubuntu:从GitHub发布页面下载
fastfetch-linux-<适当架构>.deb
并双击安装(适用于Ubuntu 20.04或更新版本和Debian 11或更新版本)。 - Arch Linux:
pacman -S fastfetch
- Fedora:
dnf install fastfetch
- Gentoo:
emerge --ask app-misc/fastfetch
- Alpine:
apk add --upgrade fastfetch
- NixOS:
nix-shell -p fastfetch
- openSUSE:
zypper install fastfetch
- ALT Linux:
apt-get install fastfetch
- Exherbo:
cave resolve --execute app-misc/fastfetch
- GNU Guix:
guix install fastfetch
- Solus:
eopkg install fastfetch
- Slackware:
sbopkg -i fastfetch
- Void Linux:
xbps-install fastfetch
- Venom Linux:
scratch install fastfetch
你可能需要使用sudo
、doas
或sup
来运行这些命令。
查看fastfetch是否已为你喜欢的Linux发行版打包。
如果你的发行版没有打包fastfetch或打包的版本过时,linuxbrew是一个不错的替代选择:brew install fastfetch
macOS
Windows
- scoop:
scoop install fastfetch
- Chocolatey:
choco install fastfetch
- winget:
winget install fastfetch
- MSYS2 MinGW:
pacman -S mingw-w64-<子系统>-<架构>-fastfetch
你也可以直接从GitHub发布页面下载程序的压缩包。
FreeBSD
pkg install fastfetch
Android(Termux)
pkg install fastfetch
从源码构建
请参阅Wiki:https://github.com/fastfetch-cli/fastfetch/wiki/Building
使用方法
- 使用默认配置运行:
fastfetch
- 运行所有支持的模块并找出你感兴趣的:
fastfetch -c all.jsonc
- 查找fastfetch检测到的所有数据:
fastfetch -s <模块> --format json
- 显示帮助信息:
fastfetch --help
- 基于命令行参数生成配置文件:
fastfetch --arg1 --arg2 --gen-config
自定义
Fastfetch使用JSONC(或带注释的JSON)进行配置。详情请参阅Wiki。在presets
目录中有一些预制的配置文件,包括上面截图中使用的配置。你可以使用-c <文件名>
加载它们。这些文件可以作为配置语法的示例。
logo也可以进行大量自定义;更多信息请参阅logo文档。
打包
仓库
手动
- DEB / RPM包:
cmake --build . --target package
- 直接安装:
cmake --install . --prefix /usr/local
常见问题
问:Neofetch已经足够好了。为什么我需要fastfetch?
- Fastfetch正在积极维护。
- Fastfetch更快。正如其名字所示。
- Fastfetch拥有更多功能,尽管默认情况下fastfetch只启用了几个模块;使用
fastfetch -c all
来查找你想要的功能。 - Fastfetch更易于配置。你可以在Wiki中找到更多信息:https://github.com/fastfetch-cli/fastfetch/wiki/Configuration。
- Fastfetch更加精细。例如,neofetch在
Memory
模块中打印555MiB
,在Disk
模块中打印23G
,而fastfetch分别打印555.00 MiB
和22.97 GiB
。 - Fastfetch更加准确。例如,neofetch从未真正支持Wayland协议。
问:Fastfetch显示了我的本地IP地址。这泄露了我的隐私!
本地IP(10.x.x.x、172.x.x.x、192.168.x.x)与隐私无关。它只在你处于同一网络时才有意义,例如,当你连接到同一Wi-Fi网络时。 实际上,对我个人而言,"本地IP"模块是最有用的模块。我(@CarterLi)安装了几个虚拟机来测试fastfetch,经常需要SSH连接它们。我在shell启动时运行fastfetch,因此从不需要手动输入"ip addr"命令。
如果你真的不喜欢它,可以在"config.jsonc"中禁用"本地IP"模块。
问:配置文件在哪里?我找不到。
"Fastfetch"不会自动生成配置文件。你可以使用"fastfetch --gen-config"来生成一个。默认情况下,配置文件会保存在"~/.config/fastfetch/config.jsonc"。详情请参阅Wiki。
问:配置太复杂了。文档在哪里?
Fastfetch使用JSON(带注释)进行配置。我建议你使用支持JSON schema的IDE(如VSCode)来编辑它。
或者,你可以参考"presets"目录中的预设。
编辑配置的正确方法:
这是一个将大小前缀从MiB / GiB更改为MB / GB的示例。使用的编辑器:helix
问:我要文档!
这里是文档。它是从JSON schema生成的,但你可能不会喜欢它。
问:如何自定义模块输出?
Fastfetch使用"format"来生成输出。例如,要使"GPU"模块只显示GPU名称(不显示其他信息),你可以使用:
{
"modules": [
{
"type": "gpu",
"format": "{2}" // 详见"fastfetch -h gpu-format"
}
]
}
这等同于"fastfetch -s gpu --gpu-format '{2}'"
有关基本用法的信息,请参见"fastfetch -h format"。对于特定模块的格式,请参见"fastfetch -h
问:我有自己的ASCII艺术/图像文件。如何用fastfetch显示它?
尝试"fastfetch -l /path/to/logo"。详情请参见logo文档。
如果你只想以FIGlet文本显示发行版名称:
# 先安装pyfiglet和jq
pyfiglet -s -f small_slant $(fastfetch -s os --format json | jq -r '.[0].result.name') && fastfetch -l none
问:Fastfetch在shell启动时以黑白色运行。为什么?
这个问题通常发生在使用fastfetch和"p10k"时。fastfetch和p10k即时提示之间存在已知的不兼容性。 p10k文档明确指出,在初始化"p10k-instant-prompt"后,你不应该向stdout打印任何内容。你应该将"fastfetch"放在"p10k-instant-prompt"初始化之前(推荐)
你始终可以使用"fastfetch --pipe false"强制fastfetch以彩色模式运行。
问:为什么fastfetch和neofetch显示的内存使用结果不同?
参见#1096。
问:我想要功能A / B / C。fastfetch会支持吗?
Fastfetch是一个系统信息工具。我们只接受硬件或系统级软件功能请求。对于大多数个人用途,我建议使用"Command"模块自行检测,它可以用来获取自定义shell脚本的输出:
// 此模块显示默认编辑器
{
"modules": [
{
"type": "command",
"text": "$EDITOR --version | head -1",
"key": "Editor"
}
]
}
否则,请在GitHub Issues中提出功能请求。
问:我有问题。在哪里可以获得帮助?
- 对于使用问题,请在GitHub讨论中开始讨论。
- 对于可能的bug,请在GitHub Issues中提出问题。请务必仔细填写bug报告模板,以便开发人员调查。
星标历史
给我们一个星标来支持我们!