我的终端不知怎么就变成了某种文本编辑器;我打开它,窗口标题显示“终端 - 登录 - 130x33”,没有任何提示,只有一个带有光标的黑色窗口,就像任何文本编辑器一样。我对这个问题的理解是 Terminal.app 在启动时没有运行 bash。
我尝试删除终端的首选项文件并更改终端首选项中的“shell 打开方式”设置,但没有任何效果。
有什么办法可以解决这个问题吗?
答案1
听起来你的默认 shell 设置不正确。你需要另一个能够执行命令的程序,我建议获取一份 MacVim。如果你没有第二个执行命令的程序并且不想安装,那么你唯一的选择就是单用户模式。
MacVim
- 加载一个文档,它可以是空的。
- 按 Esc 键进入标准模式。
- 类型
! chsh -s /bin/bash <USERNAME>
替换使用您的用户名。 - 按回车键。
- 输入您的密码。输入字符时不会显示“*”,因此只需输入并在完成后按回车键即可。
- 打开终端。假设您的问题是 shell 设置不正确,那么它应该可以正常运行。
单用户模式
- 启动你的 Mac(如果是笔记本电脑,请确保显示器已打开)。
- 屏幕亮起后立即按下年代钥匙。
- 当给出提示时运行命令
mount -uw /
- 下次运行
launchctl load /System/Library/LaunchDaemons/com.apple.DirectoryServices.plist
- 最后运行
chsh -s /bin/bash <USERNAME>
替换使用您的用户名。 - 重启。
答案2
这意味着登录程序正在等待登录完成。在此期间,您在终端中输入的任何内容都会被回显并显示出来。
造成这种情况的一个常见原因是“sudo”进程挂起。如果您调用 sudo 并且它提示您输入密码,但您关闭了终端,sudo 将永远等待,并且它会阻止任何进一步的登录,直到您终止 sudo 进程。
要解决此问题,您可以使用活动监视器强制退出“sudo”。否则,您必须注销(或重新启动)才能解决问题。
我相信 sudo 在 Mac OS X Lion 10.7 中已得到修复,以便在等待密码时注意到终端何时消失。
答案3
我遇到了类似的问题。我重启了笔记本电脑,现在我可以通过 Apple 的终端应用程序运行 bash/zsh/csh shell。我也尝试了 iTerm,它运行完美。