跳过正文
Background Image
  1. Posts/

自定义 Nushell 欢迎信息

··103 字·1 分钟· loading · loading ·
yuzjing
作者
yuzjing
目录

这是一个为 Nushell 设计的自定义欢迎信息脚本,旨在替换默认的启动横幅,并在每次启动 Shell 时,提供一个关于系统状态的、信息丰富的仪表盘。

功能概览
#

  • 系统信息: 显示主机名、内核版本和当前登录用户。
  • 上次登录: 展示最后一次登录系统的用户信息、来源IP和时间。
  • 资源状态:
    • CPU: 显示 CPU 型号和实时的1分钟、5分钟、15分钟系统平均负载。
    • 内存: 以 GB 为单位,显示已用和总内存大小,以及使用百分比。
    • 磁盘: 以 GB 为单位,显示磁盘的已用和总空间大小,以及使用百分比。
  • 容器状态:
    • Podman 容器: 汇总显示已发现的容器总数,以及其中正在运行和已退出的容器数量。
    • Podman Pods: 汇总显示已发现的 Pod 总数,以及其中正在运行的 Pod 数量。
  • 安全状态:
    • Fail2ban: 以表格形式,展示 Jails 的“当前失败”、“累计失败”、“当前封禁”和“累计封禁”四个关键指标。

依赖
#

  • 核心工具: uname, last, df (这些是所有现代 Linux 发行版的基础组件)。
  • 可选工具:
    • podman: 如果未安装或服务未运行,相关部分将显示一条友好的警告信息。
    • fail2ban-client: 如果未安装,相关部分将显示警告。
    • sudo: 为了让非 root 用户能够查询 Fail2ban 状态,需要预先配置 sudo 规则。

安装
#

  1. 备份旧配置: 在进行任何修改前,请先备份您现有的 config.nu 文件。
    1cp ~/.config/nushell/config.nu ~/.config/nushell/config.nu.bak
    
  2. 替换配置: 将下面的完整代码,复制并完全替换掉您 ~/.config/nushell/config.nu 文件中的内容。
  3. (可选, 不推荐) 配置 Sudo for Fail2ban: 为了让非 root 用户能够看到 Fail2ban 状态,请使用 sudo visudo 命令,在文件末尾添加以下规则 (请将 your_username 替换真实用户名):
    1your_username ALL=(ALL) NOPASSWD: /usr/bin/fail2ban-client status
    
  4. 重启 Nushell: 关闭并重新打开终端,即可看到全新的自定义欢迎界面。

代码地址
#

https://github.com/yuzjing/devScripts/blob/main/nu_banner