17 个稳定版本
2.11.0 | 2024年8月2日 |
---|---|
2.10.0 | 2024年6月29日 |
2.9.1 | 2024年3月11日 |
2.8.1 | 2023年10月13日 |
0.1.1 | 2023年2月17日 |
#179 在 命令行工具
每月551次下载
1.5MB
896 行
pfetch-rs
由 dylanaraps 在 Rust 中重新编写的 pfetch 系统信息工具
关于
如果你熟悉 dylanaraps 的 pfetch 系统信息工具,这个工具做的是完全一样的事情,但是运行速度大约快了 10x。 pfetch 设计简单,有一些(但不是很多)配置选项和极简的外观。
支持的平台: Linux、Android、macOS、Windows、FreeBSD、NetBSD
包含的标志: Alma Linux (新)、Alpine Linux、Android、AmogOS (新)、Arch Linux、ArcoLinux、Artix Linux、Bazzite (新)、Bedrock Linux、Buildroot、CachyOS (新)、CelOS、CentOS、Crystal Linux、dahliaOS、Debian、Devuan、DietPi (新)、DragonflyBSD、Elementary OS、EndeavourOS、Fedora、Fiwix (新)、FreeBSD、Garuda Linux、Gentoo Linux、Gnu Hurd (更新)、Guix、Haiku、HydroOS、Hyperbola、instantOS、IRIX、KDE neon、Linux Lite、Linux、Mint、macOS、Mageia、Manjaro、Minix、MorphOS (新)、MX Linux、NetBSD、NixOS、Nobara Project (新)、OpenBSD、openSUSE Tumbleweed、openSUSE Leap、OpenWrt、Oracle Linux (新)、Parabola、Pop!_OS (更新)、PureOS、Raspbian、Rocky Linux (新)、SerenityOS、Slackware、Solus、SteamOS (新)、Solaris、Ubuntu、Vanilla OS (新)、Void Linux、Windows (新)、Xeonix Linux
你可以在这里查看它们的样式 这里。
对于所有其他发行版,将显示一只企鹅。
感谢 原始的 pfetch 和 其贡献者。
如果你想要添加一个标志,请随时创建一个问题或 PR。
安装
注意:在 openSUSE 上,安装 rpm-devel
软件包以加快软件包计数。
二进制文件
从 最新版本 下载二进制文件。
Cargo
cargo install pfetch
Homebrew
brew install pfetch-rs
Nixpkgs
安装 pfetch-rs Nix 软件包。
AUR
安装 AUR 包 pfetch-rs 或 pfetch-rs-bin。
性能
在 AMD Ryzen 5 3600 上进行的基准测试。使用 hyperfine 命令,带有 -w 4 -m 500 -N
标志来测量执行时间。
实现 | 平均值 [ms] | 最小值 [ms] | 最大值 [ms] |
---|---|---|---|
POSIX sh (bash) |
23.7 ± 0.9 | 22.3 | 29.3 |
POSIX sh (dash) |
15.9 ± 0.3 | 15.1 | 18.2 |
Rust (v2.3.0) | 2.2 ± 0.2 | 1.8 | 3.9 |
注意:这是在只有 pacman
和 flatpak
被安装为包管理器的情况下。更多信息,请见 提高性能。
提高性能
通过安装 rpm-devel
包可以显著加快对 zypper
包进行计数的速度。如果 zypper
包计数花费时间过长,可以通过将 PF_FAST_PKG_COUNT
环境变量设置为任何值来禁用它。
配置
与原始的 pfetch
一样,pfetch-rs
通过环境变量进行配置。您现有的配置可能仍然有效,主要区别在于如何配置填充。
如果您想显示自定义徽标,请使用 PF_CUSTOM_LOGOS
选项,下面提供了一个自定义徽标文件的示例。
# Which information to display.
# Default: first example below
# Valid: space separated string
#
# OFF by default: shell editor wm de palette cpu
PF_INFO="ascii title os host kernel uptime pkgs memory"
# Example: Only ASCII.
PF_INFO="ascii"
# Example: Only Information.
PF_INFO="title os host kernel uptime pkgs memory"
# A file containing environment variables to source before running pfetch
# Default: unset
# Valid: A shell script
PF_SOURCE=""
# A file containing pfetch logos to overwrite default logos or add new logos
# Default: unset
# Valid: Path to a file containing pfetch logos (example below)
PF_CUSTOM_LOGOS="~/.config/pfetch_logos"
# Separator between info name and info data.
# Default: unset
# Valid: string
PF_SEP=":"
# Enable/Disable colors in output:
# Default: 1
# Valid: 1 (enabled), 0 (disabled)
PF_COLOR=1
# Color of info names:
# Default: unset (auto)
# Valid: 0-9
PF_COL1=4
# Color of info data:
# Default: unset (auto)
# Valid: 0-9
PF_COL2=9
# Color of title data:
# Default: unset (auto)
# Valid: 0-9, COL1 (copies COL1 value)
PF_COL3=1
# Alignment paddings (this is different to the original version).
# Default: unset (auto)
# Valid: int
PF_PAD1=""
PF_PAD2=""
PF_PAD3=""
# Which ascii art to use.
# Default: unset (auto)
# Valid: string
PF_ASCII="openbsd"
# The below environment variables control more
# than just 'pfetch' and can be passed using
# 'HOSTNAME=cool_pc pfetch' to restrict their
# usage solely to 'pfetch'.
# Which user to display.
USER=""
# Which hostname to display.
HOSTNAME=""
# Skip zypper package count if only slow method is available
PF_FAST_PKG_COUNT=1
包含自定义 pfetch 徽标的文件可能看起来像这样(也可以在 custom_logos_example
下找到)。这将把 Arch Linux 徽标变成红色,Debian 徽标变成蓝色,Fedora 徽标变成黄色。
[Aa]rch*)
read_ascii 1 <<- EOF
${c1} /\\
${c1} / \\
${c1} /\\ \\
${c1} / \\
${c1} / ,, \\
${c1} / | | -\\
${c1} /_-'' ''-_\\
EOF
;;
[Dd]ebian*)
read_ascii 4 <<- EOF
${c4} _____
${c4} / __ \\
${c4}| / |
${c4}| \\___-
${c4}-_
${c4} --_
EOF
;;
[Ff]edora*)
read_ascii 3 <<- EOF
${c3},'''''.
${c3}| ,. |
${c3}| | '_'
${c3} ,....| |..
${c3}.' ,_;| ..'
${c3}| | | |
${c3}| ',_,' |
${c3} '. ,'
${c3}'''''
EOF
注意:请确保使用制表符进行缩进,并用 ;;
分隔徽标,如上所示。您只需添加您想要覆盖或添加的徽标,默认徽标将保持可用。包含的徽标可以在 ./pfetch-extractor/logos.sh
下找到。
依赖项
~7–41MB
~601K SLoC