Mac OS X - Impossibile avviare Terminal.app - la shell ha un valore illegale


16

Non riesco a eseguire Terminal.app dopo aver eseguito il rollback del mio sistema dalla macchina del tempo.

Mac OS X versione 10.6.2

Visualizza il seguente errore. "Non sei autorizzato a eseguire questa applicazione" "L'amministratore ha impostato la tua shell su un valore illegale"

Dopo di che ho eliminato il file ~ / Library / Preferences / com.apple.Terminal.plist

Ma viene visualizzato lo stesso messaggio.

Ho riparato tutti i diritti di sistema con DiskUtility ma non è stato d'aiuto.

Risposte:


10

Il riavvio è la risposta in OS X Lion. Se si perde la possibilità di scrivere su unità USB o di rete, la soluzione è la stessa.

Spero che alcuni rapidi aggiornamenti eliminino alcuni di questi fastidiosi problemi.


10

Questo valore è impostato su /bin/bash. Niente da cambiare qui. Ho controllato queste preferenze. Ottengo questo errore per ogni shell.

Finalmente ho trovato la soluzione. Nel Finder vado ad aprire la cartella /etc. Lì ho trovato il file /private/etc/shells, che era vuoto. Ho sostituito il file /private/etc/shellscon il file di backup /private/etc/shells~orig.

Ora / private / etc / shells contiene quanto segue:

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

(Ci sono più passaggi necessari nel Finder, eliminare il file shell vuoto, modificare le autorizzazioni nella finestra di dialogo delle informazioni.)

Ora posso avviare Terminal.app con il /bin/bashnuovo.


Ho scoperto che il mio account non è stato nemmeno in grado di vedere le cartelle / etc / bin per qualche motivo, anche se posso vederle da un account di amministratore locale anche sulla macchina (il mio account principale è un account di dominio aziendale). Ho pensato di usare CHMOD dall'account admin per cambiare l'accesso alle directory / etc / bin.
ScottCher,

Prendi in considerazione l'idea di accettare la tua (o un'altra) risposta a questa domanda.
Daniel Beck

5

Ho avuto lo stesso problema dopo un ripristino di Time Machine, in questo caso, usando il backup da un MacBook Pro per ripristinare su un MacBook.

Sono stato in grado di risolvere il problema semplicemente usando Finder (inserisci la tua password ogni volta che richiesto):

  • Usa Vai> Vai a Cartella per andare su "/ privato"
  • Seleziona "ecc"
  • Comando-I per visualizzare il pop-up Informazioni (non chiuderlo di nuovo fino alla fine di questa procedura)
  • Fai clic sul simbolo del lucchetto nell'angolo in basso a destra per sbloccare le autorizzazioni
  • Prendi nota delle impostazioni di autorizzazione per "Tutti"
  • Fai clic sull'impostazione dell'autorizzazione per "Tutti" e seleziona "Leggi e scrivi"
  • Usa Vai> Vai a Cartella per andare su "/ privato / ecc"
  • Ho scoperto che "shells" era vuoto, ma c'era un "shells ~ orig" con una buona lista di shell
  • Elimina "shell"
  • Seleziona "shells ~ orig"
  • Comando-C, Comando-V per copiarlo e incollarlo; questo crea "shell ~ orig copy"
  • Seleziona "shells ~ orig copy
  • Fare di nuovo clic per accedere alla modalità di ridenominazione e modificare il nome di "shell ~ copia orig" in "shell"
  • Ritornare al pop-up Informazioni e modificare l'impostazione di autorizzazione per "Tutti" al suo valore originale
  • Chiudi il pop-up Informazioni

Ora che avevo un file "shells" con un elenco valido di shell, sono stato in grado di aprire nuovamente Terminal.


4

Fai clic con il pulsante destro del mouse sul nome del tuo account nel riquadro Account delle Preferenze di Sistema e scegli Opzioni avanzate. Modifica il valore di "Login shell" - Uso / bin / bash, ma sei libero di utilizzare qualsiasi shell installata.


4

Ho avuto lo stesso problema; un riavvio ha fatto il trucco per me. Non abituato a farlo su un Mac :-P


Lo stesso con me (su Lion). Altre app stavano funzionando (come BBEdit), quindi ho pensato di provare prima a riavviare e ha funzionato.
re nevan,

3

Ho avuto lo stesso identico problema. Soluzione semplice:

Basta eseguire Repair Disk Permission con Utility Disco :-).


3

La modifica della password del mio account utente tramite Preferenze di Sistema mi ha risolto questo problema (l'ho cambiata allo stesso valore, presumibilmente costringendo il sistema operativo a scrivere alcune informazioni dell'account utente su file). Uso Mac OS X 10.7.3 e nessun file in / etc sembra essere stato modificato.


2

Risposte che conciliano da Tim e chemm era utile nel mio caso.

Ho usato l'approccio di Tim per far apparire un terminale usando una shell diversa. Ho quindi modificato / etc / shells per includere la shell preferita e poi ho usato nuovamente l'approccio di Tim per ripristinare il percorso della shell originale nelle "Opzioni avanzate".


2

Ho avuto lo stesso problema. Time Machine per qualche motivo è stato trasformato /private/etc/shellsin un file di lunghezza zero durante il mio ripristino. la risposta di chemm è abbastanza buona, ma manca alcuni passaggi per i noobies Mac come me.

  • Per arrivare anche a /private/etcte devi usare l' Go -> Go to Folderopzione e il tipo di voce di menu del Finder/private/etc
  • Quindi individuare il file shell.
  • Non mi permetterebbe di modificare il file, quindi l'ho eliminato.
  • Quindi ho usato Time Machine per ripristinare quel file.
  • Se inserisci la macchina del tempo mentre sei nel Finder, ti avvierà in quella /private/etccartella.
  • Quando l'ho ripristinato, non sono riuscito a capire come indirizzare Time Machine a quella cartella (non ho visto l'opzione di andare alla cartella), quindi ho ripristinato "shell" sul mio desktop e quindi ho usato Finder per copiare / incollare il file in /private/etc

Dovrai fornire la tua password alcune volte per ottenere quanto sopra e suppongo che dovrai avere un account amministratore.


0

Per me, nessuna delle risposte standard era il problema: tutto era come dovrebbe essere.

La chiusura della sessione di Aquamacs (emacs) ha risolto il problema! Quando ho riavviato Aquamacs, Terminal ha continuato a funzionare correttamente.

NON avevo usato il comando emacs shell, ma in qualche modo queste applicazioni interagivano ancora in modo sfortunato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.