我正在尝试在 Mac OS 上使用以下命令打开GNU Screen:
host:~ user$ screen
Run Code Online (Sandbox Code Playgroud)
屏幕终端打开但很快就死了,并显示错误消息:
无法执行 /bin/false: 没有这样的文件或目录
我的终端被配置为bash在启动时打开shell。我试过将终端外壳设置为sh,它给出了同样的错误。
但是,当我执行screen命令 as 时sudo,命令成功。
普通用户如何解决?
查看您的 shell 初始化脚本bash或screen配置文件,看看是否有任何地方false使用了显式路径/bin/false。
在 macOS 上,该false实用程序位于 中/usr/bin,而不是/bin.
如果失败,请/bin/false通过检查/etc/passwd或查看系统偏好设置的“用户和组”部分中的“高级选项”来查看您的登录外壳是否出于某种奇怪的原因设置为在用户帐户列表中,您也可以在此处更改外壳)。有人可能会不假思索地遵循教程/HOWTO,该教程/HOWTO将用户设置/bin/false为默认shell。
当您运行screen与sudo您使用root的壳/屏幕初始化文件。这就是为什么它有效。