Mac OS X - nie można uruchomić Terminal.app - powłoka ma niedozwoloną wartość

16

Nie mogę uruchomić Terminal.app po wycofaniu systemu z wehikułu czasu.

Mac OS X wersja 10.6.2

Wyświetla następujący błąd. „Nie masz uprawnień do uruchamiania tej aplikacji” „Administrator ustawił powłokę na niedozwoloną wartość”

Następnie usunąłem plik ~ / Library / Preferences / com.apple.Terminal.plist

Ale wyświetlany jest ten sam komunikat.

Naprawiłem wszystkie prawa systemowe za pomocą DiskUtility, ale to nie pomogło.

Chemm
źródło

Odpowiedzi:

10

Ponowne uruchomienie jest odpowiedzią w systemie OS X Lion. Jeśli stracisz możliwość zapisywania na dyskach USB lub sieciowych, rozwiązanie jest takie samo.

Mam nadzieję na kilka szybkich aktualizacji, aby pozbyć się niektórych z tych irytujących problemów.

Rune Smistad
źródło
10

Ta wartość jest ustawiona na /bin/bash. Nic tu nie można zmienić. Kontrolowałem te preferencje. Otrzymuję ten błąd dla każdej powłoki.

Wreszcie znalazłem rozwiązanie. W Finderze idę do otwartego folderu /etc. Tam znalazłem plik /private/etc/shells, który był pusty. Plik zastąpiłem plikiem /private/etc/shellskopii zapasowej /private/etc/shells~orig.

Teraz / private / etc / shells zawiera następujące elementy:

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

(W Finderze potrzeba więcej kroków, usunąć pusty plik muszli, zmienić uprawnienia w oknie dialogowym informacji).

Teraz mogę ponownie uruchomić Terminal.app za pomocą /bin/bash.

Chemm
źródło
Odkryłem, że moje konto nawet z jakiegoś powodu nie widziało folderów / etc / bin, ale widzę je również z lokalnego konta administratora również na komputerze (moje główne konto to konto domeny firmowej). Pomyśl o użyciu CHMOD z konta administratora w celu zmiany dostępu do katalogów / etc / bin.
ScottCher
Rozważ zaakceptowanie swojej (lub innej) odpowiedzi na to pytanie.
Daniel Beck
5

Miałem ten sam problem po przywróceniu Time Machine, w tym przypadku przy użyciu kopii zapasowej z MacBooka Pro do przywrócenia na MacBooku.

Udało mi się rozwiązać problem za pomocą Findera (wprowadź hasło za każdym razem, gdy zostaniesz o to poproszony):

  • Użyj Idź> Idź do folderu, aby przejść do „/ private”
  • Wybierz „etc”
  • Command-I, aby wywołać wyskakujące okienko Informacje (nie zamykaj go ponownie do końca tej procedury)
  • Kliknij symbol kłódki w prawym dolnym rogu, aby odblokować uprawnienia
  • Zanotuj ustawienie uprawnień dla „Wszyscy”
  • Kliknij ustawienie uprawnień dla „Wszyscy” i wybierz „Odczyt i zapis”
  • Użyj Idź> Idź do folderu, aby przejść do „/ private / etc”
  • Odkryłem, że „muszle” były puste, ale była tam „muszla ~ orig” z dobrą listą muszli
  • Usuń „muszle”
  • Wybierz „shells ~ orig”
  • Command-C, Command-V, aby go skopiować i wkleić; tworzy to „shells ~ orig copy”
  • Wybierz opcję „shells ~ orig copy”
  • Kliknij ponownie, aby przejść do trybu zmiany nazwy i zmień nazwę „shells ~ orig copy” na „shells”
  • Wróć do wyskakującego okienka Informacje i zmień ustawienie uprawnień dla „Wszyscy” na pierwotną wartość
  • Zamknij wyskakujące okienko Informacje

Teraz, gdy miałem plik „muszli” z prawidłową listą muszli, mogłem ponownie otworzyć Terminal.

Lindsay
źródło
4

Kliknij prawym przyciskiem myszy nazwę swojego konta w panelu Konta Preferencji systemowych i wybierz Opcje zaawansowane. Zmień wartość dla „Powłoki logowania” - używam / bin / bash, ale możesz swobodnie używać dowolnej zainstalowanej powłoki.

Tim
źródło
4

Miałem ten sam problem; ponowne uruchomienie zrobiło dla mnie lewę. Nie przywykłem do robienia tego na komputerze Mac :-P

atraudes
źródło
To samo ze mną (na Lwie). Inne aplikacje działały poprawnie (jak BBEdit), więc pomyślałem, że najpierw spróbuję uruchomić ponownie i zadziałało.
Nevan King,
3

Miałem dokładnie ten sam problem. Proste rozwiązanie:

Wystarczy uruchomić Napraw uprawnienia dysku za pomocą Narzędzia dyskowego :-).

hobbes3
źródło
3

Zmiana hasła do mojego konta w Preferencjach systemowych naprawiła to dla mnie (zmieniłem je na tę samą wartość, co prawdopodobnie zmusiło system operacyjny do zapisania niektórych informacji o koncie użytkownika do plików). Używam Mac OS X 10.7.3 i wydaje się, że żadne pliki w / etc nie zostały zmienione.

Adam Nohejl
źródło
2

Łączenie odpowiedzi od Tima i Chemma było przydatne w moim przypadku.

Użyłem podejścia Tima, aby uruchomić terminal przy użyciu innej powłoki. Następnie edytowałem / etc / shells, aby uwzględnić preferowaną powłokę, a następnie ponownie zastosowałem podejście Tima, aby przywrócić pierwotną ścieżkę powłoki w „Opcjach zaawansowanych”.

Szczery
źródło
2

Miałem ten sam problem. Time Machine z jakiegoś powodu zmieniło /private/etc/shellssię w plik o zerowej długości podczas mojego przywracania. Odpowiedź Chemma jest całkiem dobra, ale pomija pewne kroki dla Maców takich jak ja.

  • Aby się nawet dostać /private/etc, musisz użyć opcji menu Finder Go -> Go to Folderi wpisać/private/etc
  • Następnie zlokalizuj plik muszli.
  • W ogóle nie pozwoli mi to edytować pliku, więc go usunąłem.
  • Następnie użyłem wehikułu czasu, aby przywrócić ten plik.
  • Jeśli wpiszesz wehikuł czasu w Finderze, rozpocznie się on w tym /private/etcfolderze.
  • Kiedy go przywróciłem, nie mogłem wymyślić, jak skierować Time Machine do tego folderu (nie widziałem opcji przejścia do folderu), więc przywróciłem „powłoki” na mój pulpit, a następnie skorzystałem z Findera, aby skopiować / wkleić plik do /private/etc

Musisz podać hasło kilka razy, aby osiągnąć powyższe, i przypuszczam, że musisz mieć konto administratora.

użytkownik33466
źródło
0

Dla mnie żadna ze standardowych odpowiedzi nie była problemem - wszystko było tak, jak powinno.

Wyjście z sesji Aquamacs (emacs) naprawiło problem! Kiedy ponownie uruchomiłem Aquamacs, Terminal nadal działał dobrze.

NIE użyłem polecenia emacs shell, ale jakoś te aplikacje nadal działały w niefortunny sposób.

Howard Nebeck
źródło