2个稳定版本
1.4.7 | 2023年11月28日 |
---|---|
1.4.4 | 2023年10月11日 |
#263 in 操作系统
175KB
357 行
oxidefetch 1.4.7
完全跨平台的Neofetch克隆,用Rust编写。比Neofetch快25倍!
为什么选择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,移除对
sh
和lspci
的依赖,并将任何特定平台的代码放在单独的文件中(此功能计划在 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