Mac OS X Terminal не входит в систему

9

Я использую Mac OS X версии 10.6.3, и когда я открываю терминал (с помощью Terminal.app или iterm), он просто зависает в процессе входа в систему. Я попытался перезагрузить компьютер, изменив команду запуска на / bin / bash и удалив файл настроек терминала. Все безрезультатно.

Wuffers
источник

Ответы:

5

Возможно, у вас есть ошибка в вашем файле .bashrc ... Вы можете попробовать вставить в ваш .bashrc операторы echo, или удалить его, или попробовать tcsh вместо bash, чтобы убедиться, что это проблема ...

Брайан Постов
источник
Хорошо, я понятия не имею, что случилось, но теперь это работает. Вы думаете, я должен отметить это как решенное или нет?
Вуфферс
Если текущим процессом является «вход в систему», это обычно означает, что вход в систему ожидает создания сеанса входа в систему и еще даже не пытался запустить оболочку. Чтобы убедиться в этом, посмотрите в Activity Monitor и посмотрите, работает ли оболочка или вы видите только процесс входа в систему.
Крис Пейдж
6

У меня была аналогичная проблема.
В моем случае Терминал остановился бы, говоря «Terminal - login - 80x24» в заголовке .

Я не хотел переустанавливать Терминал с диска OS X, поэтому я выполнил несколько разных процедур, и в итоге одна из них, похоже, сработала. Я не уверен, что является наиболее важным, но я решил поделиться своими точными шагами на случай, если кто-то посчитает их полезными:

1. Отойди com.apple.Terminal.plistот ~/Library/Preferences/.

com.apple.Terminal.plist

Некоторые сообщают, что файл конфигурации терминала может быть испорчен и препятствовать запуску приложения.
Переместите этот файл куда-нибудь для резервного копирования, выйдите из Терминала и запустите его снова.

В моем случае сброс настроек изменил настройки шрифта и цвета по умолчанию, но проблема осталась. Если это так, перейдите к шагу два:

2. Попробуйте запустить оболочку, отличную от bash

изменение оболочки, используемой терминалом

Несколько советов, чтобы изменить оболочку по умолчанию в Терминале /bin/zshи перезапустить Терминал, чтобы увидеть, является ли проблема специфической для bash. В моем случае это ничего не изменило, и терминал все еще зависал login.

3. Попробуйте переместить .bash*файлы из домашнего каталога

Я вспомнил, что во время предыдущего сеанса я создал .bash_profileфайл в своем каталоге. Возможно, что-то действительно не так с этим. Если вы не создали его самостоятельно, какой-то установщик мог бы создать (или отредактировать) его, особенно если программное обеспечение не относится к Mac OS.

К сожалению, Finder не показывает скрытые файлы по умолчанию и не предоставляет простой способ сделать это. Однако в моем случае я обнаружил, что Automator действительно может успешно выполнять команды bash :

перемещение файлов Bash с помощью Automator

Это скрипт, который я использовал:

cd ~

mkdir backup
for F in .bash*
do
    mv $F backup
done

Он переместил все файлы, начиная с .bashмоего домашнего каталога, в backupподкаталог.

4. Перезагрузка

Перезапуск приложения у меня не сработал, но я решил попробовать перезагрузить компьютер .
После перезагрузки Терминал работал. Вуаля!

Я переместил сохраненный файл com.apple.Terminal.plistобратно ~/Library/Preferences/, заменив текущий, и решил не восстанавливать старые (и не слишком полезные) .bash*файлы и удаленный backupкаталог.

Я не знаю, было ли это совпадением или комбинацией конкретных шагов, которые решили проблему, но я рад, что Терминал снова работает, и я надеюсь, что и вы тоже это сделаете.

Терминал снова работает

Дэн
источник
1
TFW вы пытаетесь решить глупую проблему с терминалом, и SO ответ, который вы найдете, дан Дэном Абрамовым, прежде чем он был Дэном Абрамовым ...
BarthesSimpson
1

Если текущим процессом является «вход в систему», это обычно означает, что вход в систему ожидает создания сеанса входа в систему и еще даже не пытался запустить оболочку. Чтобы убедиться в этом, посмотрите в Activity Monitor и посмотрите, работает ли оболочка или вы видите только процесс входа в систему. Обратите внимание, что если у вас открыты другие терминалы, вы можете увидеть другие процессы входа в систему и оболочки для них, поэтому будьте внимательны, какие процессы вы проверяете. Неисправный процесс обычно самый последний с наибольшим номером идентификатора процесса (PID).

Я понимаю, что Марк Шимански сказал, что перезагрузка в его случае не помогла, но я подумал, что должен все же упомянуть об этом: если он действительно застрял в «логине», наиболее распространенная причина - вы запустили «sudo», а затем закрыли терминал пока он ждал, пока вы введете свой пароль. Если вы сделаете это, sudo будет ждать пароль вечно, и это блокирует все входы в систему, пока вы не завершите процесс sudo. Самый простой способ решить проблему - это перезагрузить компьютер. Кроме того, вы можете убить sudo из Activity Monitor (или из другого терминала, если он у вас уже открыт). Начиная с Mac OS X Lion 10.7, sudo будет замечать, когда терминал отключается и перестает ждать пароль, поэтому эта проблема больше не должна возникать.

Другая причина задержки входа в систему - это если вы подключены к сети Open Directory, а сервер каталогов работает медленно или не отвечает. Сообщите об этом администратору сети. Обычно это вызывает задержки в несколько секунд, но в некоторых случаях они могут длиться до нескольких минут.

Крис Пейдж
источник
0

Проблема не в оболочке или сети. Удалите файлы * .asl:

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

Это требует времени, потому что он запускает новую оболочку. Но после этого все снова работает нормально.

Мирко Эберт
источник