Решение проблем

Terminal не запускается или падает на Mac - что делать

Terminal не запускается или падает на Mac - что делать

Terminal.app на macOS - стандартное приложение для работы с командной строкой. Обычно он просто открывается и работает, но иногда начинаются проблемы: окно не появляется после клика, программа мгновенно вылетает, при запуске показывает белый экран или зависает на пустой строке. Причины почти всегда связаны не с самим Terminal, а с настройками оболочки (zsh/bash) или профиля пользователя.

Разбираем, как диагностировать и починить.

Причины

Terminal - это просто оболочка окна, которая запускает командный интерпретатор (по умолчанию zsh с macOS Catalina, до этого - bash). Если Terminal падает, проблема обычно в одном из трёх мест:

  • Битый файл конфигурации ~/.zshrc, ~/.bash_profile, ~/.profile, ~/.zprofile.
  • Повреждённые настройки Terminal.app в ~/Library/Preferences/com.apple.Terminal.plist.
  • Проблема с самой оболочкой (например, Homebrew установил новый zsh и он конфликтует).
  • Ошибочные права на /tmp, домашнюю папку или ~/Library.
  • Повреждение кэшей после обновления macOS.
  • Конфликт с плагинами Oh My Zsh / Powerlevel10k.
  • Отсутствие исполняемого бита на /bin/zsh или /bin/bash (редко).

Способ 1: запуск в безопасном режиме

Чтобы исключить плохой конфиг, запустим Terminal без загрузки пользовательских настроек.

  1. Откройте Terminal (если он всё же запускается).
  2. Введите:

zsh -f

Флаг -f запускает zsh без .zshrc. Если оболочка работает нормально - значит, проблема в конфиге.

  1. Проверьте файл ~/.zshrc:

cat ~/.zshrc

Последние добавленные строки - главные подозреваемые. Обычно это exports, пути к Homebrew, инициализация Node/Python-менеджеров.

  1. Временно переименуйте конфиг:

mv ~/.zshrc ~/.zshrc.backup

Перезапустите Terminal. Если всё запустилось - значит, дело в .zshrc. Откройте backup и удалите/закомментируйте подозрительные строки по очереди.

Способ 2: восстановление через TextEdit

Если Terminal не открывается вообще:

  1. Откройте Finder -> Переход -> Переход к папке (Cmd+Shift+G).
  2. Введите ~/ и нажмите Enter.
  3. Включите отображение скрытых файлов - Cmd+Shift+. (точка).
  4. Найдите файлы .zshrc, .bash_profile, .zprofile.
  5. Откройте их двойным кликом - они откроются в TextEdit.
  6. Сохраните копии где-нибудь на рабочем столе (как .txt).
  7. Удалите оригиналы или переименуйте в .zshrc.backup.

Перезапустите Terminal. Если запустился - значит, проблема в конфиге.

Способ 3: сброс настроек Terminal.app

Сам Terminal.app хранит цвета, шрифты, профили окон в ~/Library/Preferences/com.apple.Terminal.plist. Если этот файл повреждён - приложение падает на старте.

  1. Закройте Terminal, если открыт.
  2. В Finder -> Cmd+Shift+G -> введите ~/Library/Preferences/.
  3. Найдите com.apple.Terminal.plist.
  4. Переместите его на рабочий стол.
  5. Запустите Terminal заново.

Система создаст plist заново с дефолтными настройками. Вы потеряете кастомные темы и горячие клавиши, но приложение должно заработать. Если заработало - файл из backup больше не нужен.

Способ 4: проверка прав доступа

Иногда после переноса с другого Mac или восстановления из Time Machine права на домашнюю папку сбиваются.

  1. Если Terminal ну никак не открывается, используйте альтернативу - iTerm2 можно скачать на другом Mac и перенести. Или войдите под гостевой учёткой и откройте там Terminal.
  2. Проверьте владельца домашней папки:

ls -la ~

В начале строки должно быть ваше имя пользователя и staff. Если видите root - это проблема.

  1. Исправить:

sudo chown -R $(whoami):staff ~

  1. Проверьте права на /tmp:

ls -la /tmp

Должно быть drwxrwxrwt (липкий бит). Если не так, исправьте:

sudo chmod 1777 /tmp

Способ 5: откат на bash или переключение оболочки

Если zsh сломался и не хочется разбираться - временно переключитесь на bash.

  1. Откройте Системные настройки -> Пользователи и группы.
  2. Щёлкните по имени пользователя, удерживая Control (правой кнопкой) -> Расширенные параметры.
  3. В поле «Оболочка входа» замените /bin/zsh на /bin/bash.
  4. Сохраните, выйдите из системы и войдите снова.
  5. Откройте Terminal - теперь работает bash.

Это временное решение, чтобы разобраться с конфигом zsh не спеша. Bash на новых macOS устаревший (3.2), но для базовой работы хватит.

Способ 6: очистка Homebrew-zsh

Если вы ставили zsh через Homebrew, возможен конфликт версий.

  1. Проверьте, какой zsh запускается:

which zsh

Если путь /opt/homebrew/bin/zsh или /usr/local/bin/zsh - у вас Homebrew-версия. Системная - в /bin/zsh.

  1. Временно переключитесь на системную:

chsh -s /bin/zsh

  1. Перезапустите Terminal.
  1. Если работает - проблема в Homebrew-zsh. Переустановите:

brew reinstall zsh

Способ 7: удаление плагинов Oh My Zsh

Oh My Zsh и Powerlevel10k - частые виновники падений после обновления macOS. Плагин может вызывать функцию, которой больше нет.

  1. Временно отключите Oh My Zsh - в .zshrc закомментируйте строку source $ZSH/oh-my-zsh.sh.
  2. Проверьте Terminal. Если работает - проблема в плагинах.
  3. Обновите Oh My Zsh:

cd ~/.oh-my-zsh && git pull

  1. Или переустановите полностью:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Обязательно сохраните .zshrc перед переустановкой - инсталлятор делает бэкап, но лишний не помешает.

Когда ничего не помогло

Если после всех попыток Terminal всё равно падает:

  • Проверьте диск. Disk Utility -> First Aid на системном диске. Битые сектора могут вызывать crash любых приложений.
  • Обновите macOS до актуальной версии. Системные настройки -> Общие -> Обновление ПО.
  • Альтернативный терминал. Скачайте iTerm2 - бесплатный, стабильный, популярный. Он не зависит от Terminal.app и чаще всего запустится даже если родной сломан.
  • Переустановка macOS поверх. Режим восстановления (удержание кнопки питания на Apple Silicon / Cmd+R на Intel) -> «Переустановить macOS». Данные и программы сохраняются.
  • Обращение в Apple Support - если Mac на гарантии и проблема появилась без видимой причины.

Профилактика

  • Всегда делайте бэкап .zshrc перед крупной правкой. Просто cp ~/.zshrc ~/.zshrc.backup - одна секунда, экономит часы.
  • Не копируйте dotfiles с чужих Mac вслепую. Особенно опасно, если у них Intel, а у вас Apple Silicon - пути к Homebrew разные (/opt/homebrew vs /usr/local).
  • После крупного обновления macOS проверяйте плагины Oh My Zsh. Разработчики обычно быстро выпускают патчи.
  • Не запускайте неизвестные скрипты в Terminal. Команды вроде curl ... | sh могут испортить конфиг или установить вредонос.
  • Периодически чистите кэши - OnyX в разделе Maintenance умеет это автоматически.
  • Для сложных .zshrc используйте git - храните конфиг в приватном репозитории, легко откатываться к рабочей версии.

Terminal почти всегда чинится без переустановки системы. Главный принцип - изолировать проблему: отдельно пробовать оболочку, отдельно приложение, отдельно профиль пользователя.

Комментарии (0)

Пока нет комментариев.