Mac OS X - не удалось запустить Terminal.app - оболочка имеет недопустимое значение

16

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

Mac OS X версия 10.6.2

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

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

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

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

chemm
источник

Ответы:

10

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

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

Руна Смистад
источник
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снова.

chemm
источник
Я обнаружил, что моя учетная запись по какой-то причине даже не могла видеть папки / etc / bin, хотя я могу видеть их и из учетной записи локального администратора на компьютере (моя основная учетная запись - учетная запись корпоративного домена). Мысль об использовании CHMOD из учетной записи администратора для изменения доступа к каталогам / etc / bin.
ScottCher
Рассмотрите возможность принятия своего (или другого) ответа на этот вопрос.
Даниэль Бек
5

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

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

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

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

Линдсей
источник
4

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

Тим
источник
4

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

atraudes
источник
То же самое со мной (на льве). Другие приложения работали (например, BBEdit), поэтому я решил, что сначала попробую перезапустить, и это сработало.
Неван Кинг
3

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

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

hobbes3
источник
3

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

Адам Нохейл
источник
2

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

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

Фрэнк
источник
2

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

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

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

user33466
источник
0

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

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

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

Говард Небек
источник