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


16

Я не можу запустити Terminal.app після відкочування моєї системи з машини часу.

Mac OS X версія 10.6.2

Він відображає таку помилку. "Ви не маєте права запускати цю програму" "Адміністратор встановив вашу оболонку незаконним значенням"

Після цього я видалив файл ~ / Бібліотека / Налаштування / com.apple.Terminal.plist

Але відображається те саме повідомлення.

Я відремонтував усі системні права за допомогою DiskUtility, але це не допомогло.

Відповіді:


10

Перезавантаження - це відповідь в OS X Lion. Якщо ви втратите можливість запису на USB або мережеві накопичувачі, рішення те саме.

Я сподіваюсь на швидкі оновлення, щоб позбутися деяких з цих прикрих проблем.


10

Це значення встановлено на /bin/bash. Тут нічого не можна змінити. Я контролював ці вподобання. Я отримую цю помилку для кожної оболонки.

Нарешті я знайшов рішення. У Finder я відкриваю папку /etc. Там я знайшов файл /private/etc/shells, який був порожнім. Я замінив файл на файл /private/etc/shellsрезервного копіювання /private/etc/shells~orig.

Тепер / приватні / etc / оболонки містять таке:

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

(У Finder потрібно більше кроків, видаліть файл порожніх оболонок, змініть дозволи в діалоговому вікні інформації.)

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


Я виявив, що мій обліковий запис чомусь навіть не зміг побачити папки / etc / bin, хоча я бачу їх із локального облікового запису адміністратора також на машині (мій основний обліковий запис - обліковий запис корпоративного домену). Думали про використання CHMOD з облікового запису адміністратора для зміни доступу до каталогів / etc / bin.
ScottCher

Подумайте, чи приймете свою (чи іншу) відповідь на це питання.
Даніель Бек

5

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

Мені вдалося вирішити проблему просто за допомогою Finder (введіть свій пароль щоразу, коли потрібно):

  • Використовуйте Перейти> Перейти до папки, щоб перейти до "/ приватного"
  • Виберіть "тощо"
  • Command-I, щоб відкрити спливаюче вікно інформації (не закривайте його знову до кінця цієї процедури)
  • Клацніть символ блокування в правому нижньому куті, щоб розблокувати дозволи
  • Запишіть налаштування дозволу для "Усі"
  • Клацніть налаштування дозволу для "Усі" та виберіть "Читати та записувати"
  • Використовуйте "Перейти"> "Перейти до папки", щоб перейти до "/ приватний / тощо"
  • Я виявив, що "снарядів" порожній, але в ньому був "снаряд ~ ориг" з хорошим списком снарядів
  • Видалити "оболонки"
  • Виберіть "оболонки ~ orig"
  • Command-C, Command-V для копіювання та вставки; це створює "оболонки ~ оригінал копії"
  • Виберіть "оболонки ~ оригінал копії
  • Клацніть ще раз, щоб увійти в режим перейменування та змінити назву "оболонок ~ оригінал копії" на "оболонки"
  • Поверніться до спливаючого вікна Інформація та змініть налаштування дозволу для "Усі" до початкового значення
  • Закрийте спливаюче вікно Інформація

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


4

Клацніть правою кнопкою миші ім’я свого облікового запису на панелі Облікові записи системних налаштувань та виберіть Додаткові параметри. Змініть значення для "Оболонки для входу" - я використовую / bin / bash, але ви можете безкоштовно використовувати будь-яку встановлену оболонку.


4

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


Те саме зі мною (на Лева). Інші програми діють (як BBEdit), тому я зрозумів, що спершу спробую перезапустити, і це спрацювало.
король Неван

3

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

Просто запустіть дозвіл на відновлення диска за допомогою утиліти диска :-).


3

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


2

Поєднання відповідей Тіма та Хемма було корисним у моєму випадку.

Я використовував підхід Тіма, щоб підняти термінал, використовуючи іншу оболонку. Потім я відредагував / etc / shell, щоб включити бажану оболонку, а потім знову застосував підхід Тіма, щоб відновити вихідний шлях оболонки в "Додаткові параметри".


2

У мене була така ж проблема. Машина часу чомусь перетворилася /private/etc/shellsна файл нульової довжини під час мого відновлення. Відповідь chemm досить гарна, але пропускає деякі кроки для Mac noobies, як я.

  • Щоб навіть дістатися до /private/etcвас, потрібно скористатися пунктом меню Go -> Go to Folderі ввести пункт Finder/private/etc
  • Потім знайдіть файл оболонок.
  • Це не дозволило б мені редагувати файл взагалі, тому я його видалив.
  • Тоді я використав машину часу, щоб відновити цей файл.
  • Якщо ви введете машину часу, перебуваючи в Finder, він запустить вас у цю /private/etcпапку.
  • Коли я відновив її, я не міг зрозуміти, як направити Time Machine до цієї папки (не бачив варіант переходу до папки), тому я відновив "оболонки" на робочому столі, а потім скористався Finder, щоб скопіювати / вставити файл у /private/etc

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


0

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

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

Я НЕ використовував команду оболонки emacs, але якимось чином ці додатки все ще взаємодіяли невдало.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.