Ответы:
Возможно, у вас есть ошибка в вашем файле .bashrc ... Вы можете попробовать вставить в ваш .bashrc операторы echo, или удалить его, или попробовать tcsh вместо bash, чтобы убедиться, что это проблема ...
У меня была аналогичная проблема.
В моем случае Терминал остановился бы, говоря «Terminal - login - 80x24» в заголовке .
Я не хотел переустанавливать Терминал с диска OS X, поэтому я выполнил несколько разных процедур, и в итоге одна из них, похоже, сработала. Я не уверен, что является наиболее важным, но я решил поделиться своими точными шагами на случай, если кто-то посчитает их полезными:
1. Отойди com.apple.Terminal.plist
от ~/Library/Preferences/
.
Некоторые сообщают, что файл конфигурации терминала может быть испорчен и препятствовать запуску приложения.
Переместите этот файл куда-нибудь для резервного копирования, выйдите из Терминала и запустите его снова.
В моем случае сброс настроек изменил настройки шрифта и цвета по умолчанию, но проблема осталась. Если это так, перейдите к шагу два:
2. Попробуйте запустить оболочку, отличную от bash
Несколько советов, чтобы изменить оболочку по умолчанию в Терминале /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
каталог.
Я не знаю, было ли это совпадением или комбинацией конкретных шагов, которые решили проблему, но я рад, что Терминал снова работает, и я надеюсь, что и вы тоже это сделаете.
Если текущим процессом является «вход в систему», это обычно означает, что вход в систему ожидает создания сеанса входа в систему и еще даже не пытался запустить оболочку. Чтобы убедиться в этом, посмотрите в Activity Monitor и посмотрите, работает ли оболочка или вы видите только процесс входа в систему. Обратите внимание, что если у вас открыты другие терминалы, вы можете увидеть другие процессы входа в систему и оболочки для них, поэтому будьте внимательны, какие процессы вы проверяете. Неисправный процесс обычно самый последний с наибольшим номером идентификатора процесса (PID).
Я понимаю, что Марк Шимански сказал, что перезагрузка в его случае не помогла, но я подумал, что должен все же упомянуть об этом: если он действительно застрял в «логине», наиболее распространенная причина - вы запустили «sudo», а затем закрыли терминал пока он ждал, пока вы введете свой пароль. Если вы сделаете это, sudo будет ждать пароль вечно, и это блокирует все входы в систему, пока вы не завершите процесс sudo. Самый простой способ решить проблему - это перезагрузить компьютер. Кроме того, вы можете убить sudo из Activity Monitor (или из другого терминала, если он у вас уже открыт). Начиная с Mac OS X Lion 10.7, sudo будет замечать, когда терминал отключается и перестает ждать пароль, поэтому эта проблема больше не должна возникать.
Другая причина задержки входа в систему - это если вы подключены к сети Open Directory, а сервер каталогов работает медленно или не отвечает. Сообщите об этом администратору сети. Обычно это вызывает задержки в несколько секунд, но в некоторых случаях они могут длиться до нескольких минут.
Проблема не в оболочке или сети. Удалите файлы * .asl:
sudo rm -rf /private/var/log/asl/*.asl
Это требует времени, потому что он запускает новую оболочку. Но после этого все снова работает нормально.