#neofetch #fetch #config-file #rust

应用 rsftch

使用 Rust 编写,具有 pkl 配置的美观且速度极快的硬件获取工具

56 个版本 (6 个破坏性版本)

新版本 0.7.4 2024年8月24日
0.6.6 2024年6月19日
0.3.4 2024年3月31日

#39命令行工具

Download history 781/week @ 2024-05-04 205/week @ 2024-05-11 664/week @ 2024-05-18 343/week @ 2024-05-25 237/week @ 2024-06-01 155/week @ 2024-06-08 220/week @ 2024-06-15 32/week @ 2024-06-22 8/week @ 2024-06-29 122/week @ 2024-07-06 128/week @ 2024-07-27 3/week @ 2024-08-03 480/week @ 2024-08-17

每月下载量 611

MIT 许可证

43KB
921

Rsftch

快速 • 易于配置 • 美观

屏幕截图

image image

支持 ASCII 分发

  • Arch Linux
  • Debian
  • Fedora
  • Endeavour OS
  • Void Linux
  • Ubuntu
  • *Suse
  • Raspbian
  • Linux Mint
  • MX Linux
  • Gentoo
  • Funtoo
  • Slackware
  • NixOS
  • Kali Linux
  • CachyOS
  • FreeBSD
  • NetBSD
不支持的分发将没有自定义标题,而是 "Rsftch"

支持的包管理器

  • xbps
  • dnf
  • rpm
  • apt
  • pacman
  • emerge
  • yum
  • zypper
  • apk
  • pkg

依赖项

  • libxrandr
  • glibc
  • 任何 Nerd 字体

针对 NVIDIA 显卡

  • nvidia-smi (有时与 nvidia-utils 一起打包)

仅在 Linux 上

  • lm-sensors (有时作为 lm_sensors 打包)
  • pciutils

安装

cargoinstall rsftch

源码

git clone https://github.com/charklie/rsftch.git
cd rsftch
cargo install --path .

NetBSD

如果你在 NetBSD 或任何支持的 pkgsrc 平台上,可以从官方仓库获取预编译的二进制文件。要安装它,只需运行: pkgin install rsftch

或者,如果你更喜欢从源代码构建

cd /usr/pkgsrc/sysutils/rsftch
make install

DEB 文件

发布 部分中有一个 .deb 文件,适用于 Arch 和 Debian / Ubuntu 用户。

二进制文件

如果你没有安装 cargo,可以下载 二进制文件 并将其直接移动到你的 /usr/bin,但这非常不安全,应该很少这样做。

更新

Cargo

cargo install rsftch --force

NetBSD

使用 pkgin upgrade

其他

转到发布页面,用最新的版本替换旧的版本。

配置

配置位于 ~/.config/rsftch/info.json,它可能看起来像这样;

{
  "color": ["red", "green", "blue", "purple"],
  "info": [
    ["os", "host", "shell", "packs", "user"],
    ["term", "de", "cpu", "gpu", "mem"],
    ["uptime", "res", "time", "disk"]
  ]
}

"info" 中的每个列表都是一个部分,"color" 中的第一个字符串是 ascii 颜色,其余的是每个部分的颜色。请确保颜色数量比列表数量多一个,否则配置将被视为无效。所有信息选项如下:

  • os / distro
  • host / hostname
  • shell
  • kernel
  • packs / packages
  • user / username
  • term / terminal
  • de / dewm / wm
  • cpu / processor
  • gpu / graphics
  • mem / memory
  • uptime
  • res / display / resolution
  • time / timezone
  • disk / diskusage

不支持的部分将解析为空,即空白。

可用的颜色

  • 绿色
  • 红色
  • 紫色/洋红色
  • 黄色
  • 蓝色
  • 青色
  • 黑色
  • 白色

不支持的颜色将解析为白色。

大小写不影响。

已知问题

  • 有时温度读数错误
  • 某些终端中图标对齐错误,一些例子包括 ansi 和文本模式
  • 技术上 JSON 配置文件中有语法错误,但如果 serde 没问题,我就没问题

如果您找到了这些问题的解决方案,请提交 PR。

常见问题

在终端中运行 rsftch 不工作(未找到命令)

解决方案:(如果您使用 cargo 安装)将 ~/.cargo/bin/ 添加到 PATH,具体取决于 shell,以下是一些流行的 shell

Bash / Zsh: echo "PATH=\$PATH:~/.cargo/bin/" >> (.bashrc / .zshrc path)

Fish: set -U fish_user_paths ~/.cargo/bin/ $fish_user_paths

Nushell: let-env PATH = ($env.PATH | prepend $"($env.HOME)/.cargo/bin")

Elvish: set paths = [~/.cargo/bin/ $@paths]

如果这些都不起作用,或者您不确定如何在您的 shell 中这样做,请考虑将二进制文件移动到 /usr/bin,例如命令:sudo mv ~/.cargo/bin/rsftch /usr/bin

JSON 配置错误

解决方案:如果您在重构之前是用户,那么您的配置可能无效,要么尝试一个示例,要么阅读“配置”下的指南。否则,如果示例不起作用,并且您已使用最新更新重新安装了 rsftch,请提交带有“紧急”标签的问题。

其他问题

提交问题。

用法

Usage: rsftch [-h / --help / --usage] [-v / --version] [-o / --override <distro name> / empty] [-m / --margin <margin>] [--ignore-config] [--config <absolute path to config>]
        
      -h, --help, --usage         Bring up this menu.
      -v, --version               Print version number.
      -o, --override              Overrides distribution, affects ASCII and "distro" info. Running without an argument prints all possible options.
      -m, --margin                Add margin to the info sections, default 1. E.g. `rsftch --info distro` would output: "EndeavourOS".
          --config                Specify another info config file to be used.
          --ignore-config         Ignores configuration and uses the example one.

Configuration file is located at: ~/.config/rsftch/info.json

时间比较

  • Rsftch:47.31 毫秒(所有信息启用)
  • Neofetch:137.43 毫秒
  • Screenfetch:767.8 毫秒
注意:时间根据例如您的发行版使用的包管理器或配置中启用的信息数量而有很大差异。这些时间来自我的系统。(endeavour + pacman + 所有信息启用)

兼容性

目前,Rsftch仅支持大多数GNU/Linux和BSD发行版,目前只有NetBSD被确认可以完全工作。

贡献

所有PR都受到欢迎,只需确保它在NetBSD和Linux上都可工作,额外的Windows和MacOS支持将非常感谢,因为这将很快到来!

感谢

感谢

待办事项

  • 添加对更多信息部分的支撑
  • 自动ASCII生成(这将推迟到有好的figlet实现时)
  • 侧边显示ASCII的选项(?)
  • 重写并清理packs功能
  • MacOS支持
  • Windows支持
  • FreeBSD支持

依赖项

~4–16MB
~161K SLoC