#跨平台 #系统信息 #终端 #操作系统 #neofetch #显示 #获取

app oxidefetch

为您的终端提供的一款快速、跨平台的获取程序

2个稳定版本

1.4.7 2023年11月28日
1.4.4 2023年10月11日

#263 in 操作系统

MIT 许可证

175KB
357

oxidefetch 1.4.7

完全跨平台的Neofetch克隆,用Rust编写。比Neofetch快25倍!

alt text

为什么选择Oxidefetch?

我认为Neofetch,作为一个BASH脚本,有几个缺点。
1: 它很慢。
2: 它只在具有BASH外壳的平台上工作。
3: 它有点大,我喜欢更紧凑的信息。
因此,我写了OxideFetch。这很酷,不是吗?它以紧凑、跨平台和闪电般快速的方式显示您的信息。我已经测量了在WSL2上正常Neofetch的25倍速度。

特别感谢

最衷心的感谢送给NamedNeon,他贡献了执行终端检测的代码。

功能

OxideFetch可以显示以下所有信息

  • 日期、时间和星期几
  • 用户名和主机名
  • 操作系统名称、符号和匹配颜色
  • 内核版本
  • 运行时间
  • 外壳
  • 终端
  • CPU
  • GPU
  • 内存
  • 终端模拟器

安装

下载您平台的二进制文件,并将其放置在您的PATH中。
目前,只有Windows (x86) 和 Linux (x86) 有可用的二进制文件。如果您想为其他平台获取二进制文件,您必须按照说明从源代码构建。

依赖关系

构建/安装

要构建Oxidefetch,你需要Cargo。你可以使用Cargo自动构建和安装它,如下所示:cargo install --git https://github.com/shibedrill/oxidefetch。(或者,你也可以从Crates仓库获取,使用cargo install oxidefetch。但它可能有点过时。)从那里,它应该在你的$PATH中。如果不是,请将source ~/.cargo/env添加到你的配置文件中,或者将~/.cargo/bin添加到你的$PATH中。如果你系统上还没有安装Cargo,你可以通过安装Rustup来实现,要么通过[他们的网站上的说明](https://doc.rust-lang.net.cn/cargo/getting-started/installation.html)要么通过你的系统包管理器。你可能还需要一个C编译器和构建系统——最可能的是CMake或GNU Make。如果在编译过程中找不到这些,系统将提示你安装它们。

运行时

该项目只有几个运行时依赖。
1: 在*nix系统上安装了sh shell,用于GPU检测。
2: 在*nix系统上安装了lspci,用于GPU检测。
(如果上述任何一个依赖项不存在,GPU字段可能根本不会显示。它不会崩溃或任何东西。)
GPU检测在Windows上运行,没有任何依赖。)
3: 输出中使用了Nerd字体符号。在你的系统上安装一个修补过的字体,或者修补一个已经安装的字体。

如何帮助项目

我需要验证我正在拉取的操作系统信息检测库的输出。为此,我需要不同类型系统的人的帮助。我已经测试了一些,但还有一些我无法测试。为了帮助,你可以友好地克隆这个仓库,并在文件夹内部运行cargo test --nocapture,然后将生成的test_output.txt文件发送到我的noreply电子邮件地址,或者直接发送到我的Discord上@shibedrill。这个程序不会收集有关你的真实姓名、IP、位置、硬件序列号等信息。你可以查看它生成的文件来确保——它全是纯文本,亲爱的。

已测试的发行版/平台

  • Alma Linux
  • Alpine Linux
  • Arch Linux
  • CentOS
  • Debian GNU/Linux
  • Fedora
  • Gentoo
  • Kali GNU/Linux
  • Linux Mint
  • openSUSE Leap
  • openSUSE Tumbleweed
  • Ubuntu
  • Windows

错误、怪癖、意外行为和其他恶作剧

目前没有怪癖要报告。

待办事项 & 路线图

半紧急的修复

  • 到目前为止没有。

近期未来

  • 添加对条目用户可配置性的支持(是否显示条目,其颜色,内存和时间单位)
  • 添加进程计数检测
  • 重构逻辑以编写更清晰的代码
  • 编辑*nix GPU检测以包括名称中不包含VGA Compatible Controller的GPU

未来

  • 添加主机系统名称检测,例如“Windows Subsystem for Linux”、“IdeaPad 3”、“Dell Optiplex”等。
  • 添加软件包计数/包管理器检测
  • 在更多发行版上进行交叉测试,以验证 sys.name() 输出
  • 将 GPU 检测逻辑重构为独立的 crate,移除对 shlspci 的依赖,并将任何特定平台的代码放在单独的文件中(此功能计划在 2.0.0 版本中实现。如果您想加快这一进程,请考虑向 libpci-rs 贡献。)

遥远未来

  • 提供更多可扩展的用户配置以进行条目格式化
  • 将所有信息获取逻辑分离到一个新的 Fetch crate 中,允许人们使用统一的跨平台 API 制作自己的获取程序

变更日志

1.0.0: 正式完整稳定发布
1.0.1: 修复了 Debian GNU/Linux 的发行版名称。现在标志和颜色工作正常。
1.1.0: 重构了一些编写不佳的类型,并添加了对内存的支持。
1.1.1: 确保如果 Linux 中的 L 是大写,则 Linux 系统检测不会失败。
1.1.2: 将对 *nix 的 bash 依赖替换为对 sh 的依赖。
1.2.0: 允许用户通过编译时功能启用字段标题。初步修复了 Linux 上 GPU 显示问题。
1.2.1: 稳定修复了 GPU 显示怪异。
1.2.2: 所有 GPU 应该打印在自己的行中。
1.3.0: 初步修复了 Linux 上可能打印空 GPU 信息行的问题。
1.3.2: 将时间输出的颜色改为在灰色终端上更易见。
1.4.0: 添加了对终端检测的支持,并修复了 Darwin 系统上的系统检测。
1.4.1: 将终端颜色改为与 shell 颜色匹配。
1.4.2: 更新了几个发行版的颜色和标志。现在它们将正确显示。
1.4.3: 在信息前移除换行打印。这应由用户使用他们的 shell 配置文件来打印。
1.4.4: 修复了所有 GPU 都会打印在同一行的问题。
1.4.5: 系统颜色检测的一些小变化。移除所有警告。
1.4.6: 对所有文件应用了 Cargo 格式化。打印语句中的轻微字符串重格式化。
1.4.7: 移除了一些 unwrap() 调用。将调试输出序列化为 RON。

许可证

本软件受 MIT 许可证的覆盖。有关详细信息,请参阅 license.txt。

依赖关系

~3–13MB
~122K SLoC