主要观点: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.openssh
的AcceptEnv
并在.ssh/config
中设置SHELLS
变量实现。 - 项目灵感来自 noshell,但因 noshell 需磁盘文件而创建此项目,且作者的回退 shell 功能请求被拒绝。
- 项目许可证为 MIT 许可证,保留相关版权声明。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。