Answers:
.bashrc文件中可能有一个错误...您可以尝试将echo语句粘贴到.bashrc中,或将其删除,也可以尝试使用tcsh而不是bash来查看问题所在...
我有一个类似的问题。
在我的情况下,Terminal会在标题中停下来说“ Terminal-login-80x24”。
我不想从OS X磁盘重新安装Terminal,所以我遵循了几个不同的步骤,最后其中一个似乎行得通。我不确定哪个最重要,但是我决定分享我的确切步骤,以防有人觉得它们有用。
1. com.apple.Terminal.plist
从移开~/Library/Preferences/
。
有人报告说终端配置文件可能搞砸了,并阻止了应用程序的启动。
将此文件移到某处进行备份,退出终端,然后重新启动。
就我而言,重置配置会将字体和颜色设置更改为默认设置,但问题仍然存在。如果是,请继续执行第二步:
2.尝试运行除bash以外的shell
一些建议将终端中的默认Shell更改为/bin/zsh
并重新启动终端,以查看问题是否特定于bash。就我而言,这样做并没有改变,并且终端仍会挂在login
。
3.尝试将.bash*
文件移离主目录
我记得在上一届会议上我.bash_profile
在目录中创建了文件。也许这确实有问题。如果您自己尚未创建,则某些安装程序可能已经创建(或编辑)了它,特别是如果该软件不是特定于Mac OS的。
不幸的是,Finder默认情况下不会显示隐藏文件,也没有提供简便的方法来执行此操作。但是,就我而言,我发现Automator实际上可以成功运行bash命令:
这是我使用的脚本:
cd ~
mkdir backup
for F in .bash*
do
mv $F backup
done
它将所有从.bash
我的主目录开始的文件移动到backup
子目录。
4.重新启动
此时,重新启动应用程序对我不起作用,但我决定也尝试重新启动。
重新启动后,终端正常工作。瞧!
我将保存的文件com.apple.Terminal.plist
移回~/Library/Preferences/
,替换了当前的文件,并决定不恢复旧的(虽然不太有用).bash*
文件和已删除的backup
目录。
我不知道是巧合还是通过一些特定步骤的组合解决了问题,但我很高兴终端能再次正常工作,我希望您也能这样做。
如果当前进程确实是“登录”,则通常意味着登录正在等待创建登录会话,甚至还没有尝试启动Shell。要验证这一点,请在“活动监视器”中查看并查看是否正在运行外壳程序,或者仅看到“登录”过程。请注意,如果您打开了其他终端,则可能会看到其他“登录”和shell进程,因此请注意要检查的进程。故障处理通常是最新的,具有最高的处理ID号(PID)。
我意识到Mark Szymanski说过重启对他的情况无济于事,但我还是想提一提:如果它确实卡在“登录”中,则最常见的原因是您先运行了“ sudo”然后关闭了终端等待您输入密码时。如果这样做,sudo将永远等待密码,这将阻止所有登录,直到您终止sudo进程。解决此问题的最简单方法是重新启动。或者,您可以从“活动监视器”(或如果已打开一个终端,则从另一个终端)杀死sudo。从Mac OS X Lion 10.7开始,sudo会在终端消失并停止等待密码时发出通知,因此该问题不再发生。
登录延迟的另一个原因是,如果您连接到Open Directory网络,并且目录服务器缓慢或无响应。向您的网络管理员报告。这通常只会导致几秒钟的延迟,但是在某些情况下,它们可能会持续长达几分钟。