GitHub - RGBCube/crash: 由 SHELLS 环境变量配置的用户可配置登录 shell。

主要观点:Crash 是一个用户可配置的登录 shell 包装器,可按顺序执行 SHELLS 环境变量中以 : 分隔的 shell,成功退出则停止执行,若 SHELLS 为空或其中的 shell 启动失败,会使用编译时配置的回退 shell。
关键信息

  • 可让用户无需超级用户权限配置自己的 shell,通过设置 SHELLS 变量实现。
  • 用于 SSH 时在不同 shell 间热切换,尤其适用于同一用户账户下多人使用不同 shell 的情况。
  • 提供回退 shell 以防登录 shell 损坏导致被锁定。
    重要细节
  • 安装时在 NixOS 中可将该仓库添加到输入,在模块中设置默认用户 shell 及 SHELLS 环境变量。
  • 无 Nix 环境下需编译程序(需 Zig 0.14.0),编译后将二进制文件复制到 /bin,并编辑 PAM 设置在启动过程中设置 SHELLS 环境变量。
  • 可通过 Crash 控制 SSH 登录时默认启动的 shell,在 NixOS 中通过设置 services.opensshAcceptEnv 并在 .ssh/config 中设置 SHELLS 变量实现。
  • 项目灵感来自 noshell,但因 noshell 需磁盘文件而创建此项目,且作者的回退 shell 功能请求被拒绝。
  • 项目许可证为 MIT 许可证,保留相关版权声明。
阅读 11
0 条评论