Mac OS X Terminal non accede

Sto eseguendo versione 10.6.3 di Mac OS X e quando apro il terminal (con terminal.app o iterm) appende solo il process di login. Ho provato a riavviare, cambiando il command di avvio in / bin / bash e eliminando il file di preferenze di terminal. Senza alcun risultato.

È ansible che tu abbia un bug nel file .bashrc … Puoi provare a inserire le istruzioni di echo nel tuo .bashrc, o rimuoverlo, o tentando di tcsh invece di bash per vedere se questo è il problema …

Ho avuto un problema simile.
Nel mio caso, Terminal avrebbe smesso di dire 'Terminal – login – 80×24' nel titolo .

Non ho voluto reinstallare Terminal dal disco OS X e quindi ho seguito diverse procedure diverse e alla fine sembrava che uno di loro abbia funzionato. Non sono certo che sia la cosa più importnte, ma ho deciso di condividere i miei passi precisi nel caso in cui qualcuno li trovasse utile:

1. Spostare com.apple.Terminal.plist da ~/Library/Preferences/ .

com.apple.Terminal.plist

Alcuni riferiscono che il file di configuration di Terminal potrebbe essere messo in disparte e impedire l'avvio dell'applicazione.
Spostare questo file da qualche parte per il backup, chiudere Terminal e riavviarlo.

Nel mio caso, ripristinando la configuration, le impostazioni di caratteri e colors cambiato in modo predefinito, ma il problema persiste. Se così fosse il tuo, procedere al passo due:

2. Provare a eseguire gusci diversi da bash

cambiare la shell utilizzata da Terminal

Alcuni consigli per cambiare la shell predefinita nel Terminal per /bin/zsh e riavviare il terminal per vedere se il problema è specifico per bash. Nel mio caso, facendo così nulla cambiato, e il Terminal continuerebbe a bloccarsi al login .

3. Provare a spostare file .bash* dalla directory home

Ricordo che durante la session precedente ho creato il file .bash_profile nella mia directory. Forse qualcosa è veramente sbagliato con esso. Se non lo hai creato da te, alcuni installer potrebbero aver creato (o modificato), specialmente se il software non è specifico per Mac OS.

Purtroppo, il Finder non mostra i file nascosti per impostazione predefinita e non fornisce un modo semplice per farlo. Tuttavia, nel mio caso, ho scoperto che Automator potrebbe effettivamente eseguire comandi di bash con successo :

spostare i file bash con Automator

Questo è lo script che ho usato:

 cd ~ mkdir backup for F in .bash* do mv $F backup done 

Ha spostato tutti i file che iniziano con .bash nella mia home directory per backup sottodirectory di backup .

4. Riavviare

Riavviare l'applicazione non ha funzionato per me a questo punto, ma ho deciso anche di riavviare un tentativo .
Dopo il riavvio, Terminal ha funzionato. Ecco!

Ho spostato il file com.apple.Terminal.plist salvato in ~/Library/Preferences/ , sostituendo quello corrente e ho deciso di non ripristinare i file vecchi (e in qualche modo non troppo utili) .bash* e backup directory di backup eliminata.

Non so se sia stata una coincidenza o una combinazione di passaggi specifici che hanno risolto il problema, ma sono contento che il Terminal sta funzionando di nuovo e spero che anche tu lo farà.

Il terminale funziona nuovamente

Se il process corrente è veramente "login", significa che login è in attesa di creare una session di accesso e non ha ancora provato a avviare la shell. Per verificare questo, osserva in Activity Monitor e vedi se vedi la shell in esecuzione o se vedi solo un process "login". Si noti che se si hanno altri terminali aperti, è ansible vedere altri processi di "login" e shell per loro, quindi fai attenzione ai processi che stai esaminando. Il process di guasto è di solito l'ultimo con il più alto numero di process ID (PID).

Mi rendo conto che Mark Szymanski ha detto che il riavvio non ha aiutato nel suo caso, ma ho pensato che dovrei menzionarlo comunque: se è veramente bloccato in "login", la causa più comune è che si è eseguito "sudo" e poi chiuso il terminal mentre stava aspettando di inserire la tua password. Se lo fai, il sudo attende per sempre la password e questo blocca tutti gli accessi finché non si uccide il process sudo. Il modo più semplice per risolvere il problema è riavviare. In alternativa, è ansible uccidere sudo da Activity Monitor (o da un altro terminal se si ha una già aperta). A partire da Mac OS X Lion 10.7, il sudo noterà quando il terminal va via e smette di aspettare la password, quindi questo problema non dovrebbe più verificarsi.

Un'altra causa di ritardi di accesso è se sei connesso a una networking Open Directory e il server di directory è lento o non risponde. Segnala questo al tuo amministratore di networking. Questo solitamente provoca solo ritardi di alcuni secondi, ma in alcuni casi possono durare fino a diversi minuti.

Il problema non è la shell o la networking. Rimuovere i file * .sl:

 sudo rm -rf /private/var/log/asl/*.asl 

Ci vuole tempo perché inizia una nuova shell. Ma dopo, funziona ancora bene.