16

Я не могу запустить Terminal.app после отката моей системы с машины времени.

Mac OS X версия 10.6.2

Отображается следующая ошибка. "Вы не авторизованы для запуска этого приложения" "Администратор установил для вашей оболочки недопустимое значение"

После этого я удалил файл ~/Library/Preferences/com.apple.Terminal.plist

Но то же сообщение отображается.

Я восстановил все системные права с помощью DiskUtility, но это не помогло.

10 ответов10

10

Это значение установлено в /bin/bash . Здесь нечего менять. Я контролировал эти предпочтения. Я получаю эту ошибку для каждой оболочки.

Наконец я нашел решение. В Finder я захожу, чтобы открыть папку /etc Там я нашел файл /private/etc/shells , который был пустым. Я заменил файл /private/etc/shells файлом резервной копии /private/etc/shells~orig .

Теперь /private /etc /shells содержит следующее:

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

(В Finder нужно выполнить больше шагов, удалить пустой файл оболочки, изменить разрешения в информационном диалоговом окне.)

Теперь я могу снова запустить Terminal.app с /bin/bash .

10

Перезагрузка - ответ в OS X Lion. Если вы теряете возможность записи на USB или сетевые диски, решение остается тем же.

Я надеюсь на быстрые обновления, чтобы избавиться от некоторых из этих раздражающих проблем.

5

У меня была такая же проблема после восстановления Time Machine, в этом случае, используя резервную копию с MacBook Pro для восстановления на MacBook.

Я смог решить проблему, используя Finder (вводите пароль каждый раз при запросе):

  • Используйте Go> Перейти к папке, чтобы перейти к "/ личное"
  • Выберите «и т.д.»
  • Команда-I, чтобы вызвать всплывающее окно информации (не закрывайте его снова до конца этой процедуры)
  • Нажмите на символ замка в правом нижнем углу, чтобы разблокировать разрешения
  • Запишите настройки разрешений для "Все"
  • Нажмите параметр разрешения "Все" и выберите "Чтение и запись".
  • Используйте Go> Перейти к папке, чтобы перейти к "/ private/ etc"
  • Я обнаружил, что "снаряды" были пустыми, но там было «снаряды ~ ориг» с хорошим списком снарядов в нем
  • Удалить "снаряды"
  • Выберите «снаряды ~ ориг»
  • Command-C, Command-V, чтобы скопировать и вставить его; это создает "оболочку ~ оригинальную копию"
  • Выберите "оболочки"
  • Нажмите еще раз, чтобы войти в режим переименования и изменить имя «shells ~ orig copy» на "shells"
  • Вернитесь к всплывающему окну "Информация" и измените настройку разрешения "Все" на исходное значение.
  • Закройте всплывающее окно с информацией

Теперь, когда у меня был файл "оболочек" с действительным списком оболочек, я смог снова открыть Терминал.

4

У меня такая же проблема; перезагрузка сделала свое дело для меня. Не привык делать это на Mac :-P

4

Щелкните правой кнопкой мыши имя своей учетной записи на панели "Системные настройки" и выберите "Дополнительные параметры". Измените значение для "Вход в оболочку" - я использую /bin /bash, но вы можете использовать любую установленную оболочку.

3

Изменение пароля учетной записи пользователя через Системные настройки исправило это для меня (я изменил его на то же значение, которое, вероятно, просто заставило ОС записывать некоторую информацию об учетной записи пользователя в файлы). Я использую Mac OS X 10.7.3, и кажется, что файлы в /etc не были изменены.

3

У меня была точно такая же проблема. Простое решение:

Просто запустите Восстановление прав доступа к диску с помощью Дисковой утилиты :-).

2

Объединение ответов от Тима и Чемма было полезно в моем случае.

Я использовал подход Тима, чтобы вызвать терминал, используя другую оболочку. Затем я отредактировал /etc/shells, чтобы включить предпочитаемую оболочку, а затем снова использовал подход Тима, чтобы восстановить исходный путь оболочки в "Расширенных настройках".

2

У меня такая же проблема. Time Machine по какой-то причине во время моего восстановления превратила /private/etc/shells в файл нулевой длины. Ответ Chemm довольно хороший, но он пропускает некоторые шаги для таких новичков Mac, как я.

  • Чтобы даже попасть в /private/etc вам нужно использовать пункт меню Finder Go -> Go to Folder и набрать /private/etc
  • Затем найдите файл оболочки.
  • Это не позволило бы мне редактировать файл вообще, поэтому я удалил его.
  • Затем я использовал машину времени, чтобы восстановить этот файл.
  • Если вы введете машину времени в Finder, она запустит вас в эту папку /private/etc
  • Когда я восстановил его, я не мог понять, как перенаправить Time Machine в эту папку (не видел опции перехода в папку), поэтому я восстановил "оболочки" на своем рабочем столе, а затем использовал Finder для копирования / вставки файла в /private/etc и т.д.

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

0

Для меня ни один из стандартных ответов не был проблемой - все было как есть.

Выход из сеанса Aquamacs (emacs) устранил проблему! Когда я перезапустил Aquamacs, Терминал продолжал работать нормально.

Я НЕ использовал команду оболочки emacs, но каким-то образом эти приложения по-прежнему взаимодействовали неудачным образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .