Le terminal Mac OS X ne se connecte pas

9

J'utilise Mac OS X version 10.6.3 et lorsque j'ouvre le terminal (avec terminal.app ou iterm), il se bloque simplement sur le processus de connexion. J'ai essayé de redémarrer, de changer la commande de démarrage en / bin / bash et de supprimer le fichier de préférences du terminal. Tout en rien.

Wuffers
la source

Réponses:

5

Il est possible que vous ayez un bogue dans votre fichier .bashrc ... Vous pouvez soit essayer de coller les instructions echo dans votre .bashrc, soit le supprimer, ou essayer tcsh au lieu de bash pour voir si c'est le problème ...

Brian Postow
la source
OK, je n'ai aucune idée de ce qui s'est passé mais ça marche maintenant. Pensez-vous que je devrais marquer cela comme résolu ou non?
Wuffers
Si le processus actuel est vraiment "login", cela signifie généralement que login attend de créer une session de connexion et n'a même pas encore essayé de démarrer le shell. Pour vérifier cela, regardez dans le moniteur d'activité et voyez si vous voyez le shell en cours d'exécution ou si vous ne voyez qu'un processus de "connexion".
Chris Page
6

J'avais un problème similaire.
Dans mon cas, Terminal décrochait en disant «Terminal - login - 80x24» dans le titre .

Je ne voulais pas réinstaller Terminal à partir du disque OS X, et j'ai donc suivi plusieurs procédures différentes, et à la fin l'une d'entre elles semblait avoir fonctionné. Je ne suis pas certain de ce qui est le plus important, mais j'ai décidé de partager mes étapes exactes au cas où quelqu'un les trouverait utiles:

1. Éloignez- com.apple.Terminal.plistvous de ~/Library/Preferences/.

com.apple.Terminal.plist

Certains signalent que le fichier de configuration du terminal peut être gâché et empêcher le démarrage de l'application.
Déplacez ce fichier quelque part pour la sauvegarde, quittez le terminal et redémarrez-le.

Dans mon cas, la réinitialisation de la configuration a modifié les paramètres de police et de couleur par défaut, mais le problème a persisté. Si c'est le cas, passez à l'étape deux:

2. Essayez d'exécuter un shell autre que bash

changement de shell utilisé par Terminal

Quelques conseils pour changer le shell par défaut dans le terminal /bin/zshet redémarrer le terminal pour voir si le problème est spécifique à bash. Dans mon cas, cela ne changeait rien et le terminal resterait accroché login.

3. Essayez d'éloigner les .bash*fichiers du répertoire personnel

Je me suis souvenu que lors de la session précédente, j'avais créé un .bash_profilefichier dans mon répertoire. Peut-être que quelque chose ne va vraiment pas. Si vous n'en avez pas créé vous-même, un programme d'installation aurait pu le créer (ou le modifier), surtout si le logiciel n'est pas spécifique à Mac OS.

Malheureusement, le Finder n'affiche pas les fichiers cachés par défaut et ne fournit pas un moyen facile de le faire. Cependant, dans mon cas, j'ai trouvé que Automator pouvait réellement exécuter les commandes bash avec succès :

déplacement de fichiers bash avec Automator

Voici le script que j'ai utilisé:

cd ~

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

Il a déplacé tous les fichiers commençant par .bashdans mon répertoire personnel vers le backupsous-répertoire.

4. Redémarrez

Le redémarrage de l'application n'a pas fonctionné pour moi à ce stade, mais j'ai décidé d'essayer également le redémarrage .
Après le redémarrage, Terminal a fonctionné. Voilà!

J'ai replacé le fichier sauvegardé com.apple.Terminal.plistdans ~/Library/Preferences/, en remplaçant le .bash*fichier actuel, et j'ai décidé de ne pas restaurer les fichiers anciens (et quelque peu pas trop utiles) et le backuprépertoire supprimé .

Je ne sais pas si c'est une coïncidence ou une combinaison d'étapes spécifiques qui a résolu le problème, mais je suis heureux que le terminal fonctionne à nouveau, et j'espère que le vôtre le fera aussi.

Le terminal fonctionne à nouveau

Dan
la source
1
TFW vous essayez de résoudre un problème de terminal stupide et la réponse SO que vous trouvez est de Dan Abramov avant qu'il ne soit Dan Abramov ...
BarthesSimpson
1

Si le processus actuel est vraiment "login", cela signifie généralement que login attend de créer une session de connexion et n'a même pas encore essayé de démarrer le shell. Pour vérifier cela, regardez dans le moniteur d'activité et voyez si vous voyez le shell en cours d'exécution ou si vous ne voyez qu'un processus de "connexion". Notez que si vous avez d'autres terminaux ouverts, vous pouvez voir d'autres processus de «connexion» et de shell pour eux, alors faites attention aux processus que vous examinez. Le processus de dérangement est généralement le dernier avec le numéro d'identification de processus (PID) le plus élevé.

Je me rends compte que Mark Szymanski a dit que le redémarrage n'a pas aidé dans son cas, mais j'ai pensé que je devrais quand même le mentionner: si c'est vraiment bloqué dans "login", la cause la plus courante est que vous avez lancé "sudo" puis fermé le terminal en attendant que vous entriez votre mot de passe. Si vous faites cela, sudo attend indéfiniment le mot de passe et cela bloque toutes les connexions jusqu'à ce que vous tuiez le processus sudo. Le moyen le plus simple de résoudre le problème est de redémarrer. Alternativement, vous pouvez tuer sudo depuis Activity Monitor (ou depuis un autre terminal si vous en avez déjà un ouvert). À partir de Mac OS X Lion 10.7, sudo remarquera que le terminal disparaît et cesse d'attendre le mot de passe, donc ce problème ne devrait plus se produire.

Une autre cause de retards de connexion est si vous êtes connecté à un réseau Open Directory et que le serveur d'annuaire est lent ou ne répond pas. Signalez cela à votre administrateur réseau. Cela ne provoque généralement que des retards de quelques secondes, mais dans certains cas, ils peuvent durer jusqu'à plusieurs minutes.

Chris Page
la source
0

Le problème n'est pas le shell ou le réseau. Supprimez les fichiers * .asl:

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

Cela prend du temps, car il démarre un nouveau shell. Mais après cela, cela fonctionne à nouveau correctement.

Mirko Ebert
la source