MerlinKitsune
MerlinKitsune
我尝试在tmoe里切换shell,在容器内使用chsh命令,使用全局env方式,均无法切换到zsh,依旧是bash。 顺带一提,在按照kali-linux-core或者更高的包之后,默认bash终端会变成kali的zsh,但是依旧无法切换到自己安装的zsh也不能使用自己的配置文件(在konsole终端上依旧显示为bash) 另外这里提wsl2仅仅是测试在其他系统和平台上是否存在相同的问题,我自己测试不论宿主是linux还是wsl2,只要是chroot都必定出这个问题,至于termux,我没有root设备没法测试chroot,proot环境下是正常的
> 在 konsole 里输入 > > ```shell > echo $SHELL > ``` > > 输出的结果是什么? /bin/bash 安装kali-linux-core包之后变成/bin/zsh(但是实际上只能用kali的zsh,无法使用自行安装的zsh。kali应该是替换了/bin/bash可执行文件的软链接)
我自己的测试是kali的zsh包并不会覆盖.zshrc,安装kali-linux-core或者更高的合集包都会自动修改shell为/usr/bin/zsh 匪夷所思的是kali在chroot下的zsh并不会读取用户的.zshrc而是变成了内置的,无论怎么修改都无济于事 但是proot环境下就没有这种问题
我自己按照你前面的建议试了一下,发现用entrypoint加exec /usr/bin/zsh 是可以的,但是不能带 -l 参数(会导致容器卡死) 总之这个问题可能还是和入口点有关,并没有正确的使用用户shell(没有kali-linux-core就只能启动bash,有就启动kali自己的zsh,手动启动/usr/bin/zsh才能读取用户的.zshrc)