Mac OS X 终端无法登录

Mac OS X 终端无法登录

我正在运行 Mac OS X 版本 10.6.3,当我打开终端(使用 terminal.app 或 iterm)时,它只是挂在登录过程中。我尝试过重新启动、将启动命令更改为 /bin/bash 以及删除终端首选项文件。但都无济于事。

答案1

您的 .bashrc 文件中可能存在错误...您可以尝试在 .bashrc 中粘贴 echo 语句,或将其删除,或者尝试使用 tcsh 而不是 bash 来查看是否是问题所在...

答案2

我也遇到过类似的问题。
就我而言,终端会停止并显示“终端 — 登录 — 80x24”

我不想从 OS X 磁盘重新安装终端,因此我遵循了几种不同的步骤,最后其中一种方法似乎奏效了。我不确定哪个是最重要的,但我决定分享我的具体步骤,以防有人觉得它们有用:

1.com.apple.Terminal.plist远离~/Library/Preferences/

com.apple.Terminal.plist

有报告称终端配置文件可能会混乱并阻止应用程序启动。
将此文件移至某处进行备份,退出终端并重新启动。

就我的情况而言,重置配置将字体和颜色设置更改为默认设置,但问题仍然存在。如果你的情况也是如此,请继续执行第二步:

2. 尝试运行 bash 以外的 shell

更改终端使用的 shell

一些建议将终端中的默认 shell 更改为/bin/zsh并重新启动终端看看问题是否只存在于 bash 中。就我的情况而言,这样做并没有改变什么,终端仍然会挂起在login

3. 尝试将.bash*文件移出主目录

我记得在上一个会话期间,我.bash_profile在目录中创建了一个文件。也许它确实有问题。如果您自己没有创建一个,则某些安装程序可能已经创建(或编辑)了它,尤其是当该软件不是特定于 Mac OS 时。

不幸的是,Finder 默认不显示隐藏文件,也没有提供简单的方法来显示隐藏文件。不过,就我而言,我发现Automator 实际上可以成功运行 bash 命令

使用 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目录。

我不知道这是一个巧合还是特定步骤的组合解决了这个问题,但我很高兴终端可以再次运行,并且我希望你的终端也能如此。

终端再次运行

答案3

如果当前进程确实是“login”,通常意味着 login 正在等待创建登录会话,甚至还没有尝试启动 shell。要验证这一点,请查看活动监视器,看看您是否看到 shell 正在运行,或者是否只看到“login”进程。请注意,如果您打开了其他终端,您可能会看到其他“login”和它们的 shell 进程,因此请谨慎检查您正在检查的进程。有问题的进程通常是具有最高进程 ID 号 (PID) 的最新进程。

我知道 Mark Szymanski 说重启对他的情况没有帮助,但我认为无论如何我都应该提一下:如果它真的卡在“登录”中,最常见的原因是您运行了“sudo”,然后在终端等待您输入密码时关闭了终端。如果您这样做,sudo 会永远等待密码,这会阻止所有登录,直到您终止 sudo 进程。解决此问题最简单的方法是重启。或者,您可以从活动监视器(或如果您碰巧已经打开另一个终端,可以从另一个终端)终止 sudo。从 Mac OS X Lion 10.7 开始,sudo 会注意到终端何时消失并停止等待密码,因此这个问题应该不再发生。

导致登录延迟的另一个原因是您连接到 Open Directory 网络,而目录服务器运行缓慢或无响应。请向您的网络管理员报告此情况。这通常只会导致几秒钟的延迟,但在某些情况下,延迟可能会持续几分钟。

答案4

问题不是出在 shell 或网络上。删除 *.asl 文件:

sudo rm -rf /private/var/log/asl/*.asl

这需要一些时间,因为它会启动一个新的 shell。但之后,它又可以正常工作了。

相关内容