Processus terminé immédiatement après l'ouverture du terminal

12

Après avoir ouvert Terminal sous OS X:

Last login: Tue Oct 28 10:29:21 on ttys000 login(14773,0x7fff7572f300) malloc: * error for
object 0x7fd4bb715110: pointer being freed was not allocated * set a breakpoint in
malloc_error_break to debug

[Process completed]

Je n'ai aucune idée de ce que j'ai fait ni comment y remédier.

user98034
la source
Je parierais que quelque chose ne va pas dans votre .profile ou .bashrc provoquant cette erreur et empêcher le shell de démarrer.
Matthieu Riegler
.bashrc <- qu'est-ce que c'est? Je ne peux pas google it lol ... Im new to mac;] Je n'ai même pas de dossier / etc
user98034
OS X ne source pas ~ / .bashrc par lui-même de toute façon, alors vérifiez ~ / .profile et autres fichiers similaires pour voir s'ils source ~ / .bashrc —cc @Matthieu
grg
et ~ / .bash_profile
user151019

Réponses:

8

Accédez à Préférences → Général et définissez Shells open avec sur Command, puis entrez les informations suivantes:

/bin/bash -x

Ouvrez un nouveau shell et voyez ce qui est en cours d'exécution, puis supprimez les lignes pertinentes de vos fichiers de profil.

grg
la source
Toujours le même. Dans les préférences (général du dock), je ne peux pas activer "général", "démarrer le disque" et "avis";] quelque chose est cassé je suppose. OSX yosmite
user98034
Je connais. Mais je ne peux pas ouvrir ces onglets dans les préférences générales maintenant, donc il peut y avoir plus de choses cassées.
user98034
@user Ah, je vois ce que tu veux dire. Oui, cela indiquerait que quelque chose d'autre ne va pas - peut-être réinstaller OS X?
grg
existe-t-il un moyen simple de le faire? J'ai un mac mini
user98034
@ user98034 Peut-être que tout le monde suppose que vous n'avez pas de connaissances. Les fichiers dont le nom commence par un point, comme .profile, etc., sont généralement invisibles. Vous pouvez répertorier les noms des fichiers dans Terminal.app en tapant "ls -a". Vous pouvez voir ce qui se trouve dans un fichier comme .profile en tapant "cat .profile". Vous pouvez ensuite ouvrir une autre fenêtre (shell) dans Terminal.app. Vous pouvez taper les commandes une par une ou copier-coller d'une fenêtre à une autre. En regardant dans la nouvelle fenêtre, vous pouvez voir l'effet de chaque commande individuellement.
David Epstein
4
  1. Accédez à l'icône du terminal sur le Dock, appuyez sur le bouton droit et appuyez sur Nouvelle commande 2./bin/bash -x (cela montre votre problème)
  2. sudo nano .bash_profile (ouvrir cet endroit problématique)
  3. supprimer ceci, Ctrl + X (quitter) Oui, entrer
Juste aller
la source
1
Votre réponse ne semble rien ajouter au-delà de la réponse de grgarside.
John N
C'est le cas: je ne peux pas entrer la commande dans le chemin proposé par grg. Et la réponse de JustGo m'a donné un moyen de lancer des commandes shell pour résoudre le problème. Je ne pouvais même pas ouvrir les fichiers dot dans un éditeur de texte: Apple ne les expose pas "utilement" dans le Finder. Donc, si votre shell se termine aussi rapidement que vous l'ouvrez, comme c'est le cas avec ce problème, c'est un moyen de
F1Linux
1

Je sais que c'est vieux ... mais j'ai eu le même problème et je n'ai pas trouvé d'informations pour résoudre ce problème, j'ai donc décidé de partager la solution ici aussi.

J'espère que cela aide quelqu'un d'autre. :)

Après avoir mis à niveau un Mac d'OS X 10.6.8 (Snow Leopard) vers 10.11.4 (El Capitan), il n'ouvrirait plus de shell dans Terminal. Cela ouvrirait une fenêtre de terminal avec seulement [Processus terminé] affiché à l'écran.

Le journal de la console a montré les erreurs:

login: in openpam_load_module(): no pam_serialnumber.so found
login: pam_start(): system error

Ce message ( https://discussions.apple.com/message/11861278#11861278 ) m'a orienté dans la bonne direction.

J'ai vérifié le contenu de /private/etc/pam.d/login.term sur le Mac affecté et sur un Mac fonctionnel.

Terminal Mac cassé /private/etc/pam.d/login.term

# login: auth account password session
auth       optional       pam_krb5.so
auth       optional       pam_mount.so
auth       sufficient     pam_serialnumber.so serverinstall legacy
auth       required       pam_opendirectory.so
account    required       pam_nologin.so
account    required       pam_opendirectory.so
password   required       pam_deny.so
session    required       pam_uwtmp.so
session    optional       pam_mount.so

Terminal Mac fonctionnel /private/etc/pam.d/login.term

# login: account session
account    required       pam_nologin.so
account    required       pam_opendirectory.so
session    required       pam_uwtmp.so

J'ai édité le contenu du Mac avec le terminal cassé pour faire correspondre le Mac avec le terminal qui fonctionnait, et le terminal a immédiatement commencé à fonctionner correctement. 😃

bu11etpr00f
la source
0

Cela pourrait être quelque chose d'aussi simple que certaines autorisations borked. J'avais des problèmes lors du démarrage d'un shell lorsque j'ai migré une machine vers Yosemite, et une réparation de permission s'est occupée du problème.

Essayez d'utiliser la fonction "Réparer les autorisations" sur votre disque de démarrage à l'aide de Disk Utility.app. Avec un peu de chance, pendant qu'elle s'exécute, la fenêtre du journal affichera une série de fichiers avec des autorisations incorrectes. Si vous avez plus d'un ou deux fichiers avec de mauvaises autorisations, rincez et répétez jusqu'à ce que vous obteniez un journal propre.

Remarque: à l'occasion, certains fichiers déclenchent l'utilitaire de réparation (je ne me souviens pas des détails pour le moment), mais sur un nouveau Mac mini, vous devriez pouvoir obtenir une exécution propre au deuxième ou au troisième essai.

Dustin Wheeler
la source
0

Aucune des autres solutions n'a fonctionné pour moi. Il semble que mon terminal crachait le processus terminé parce que je manquais d'espace disque. La suppression de fichiers n'a pas aidé. J'ai dû supprimer mes instantanés locaux de Time Machine.

Steve Moser
la source
-1

Ce qui suit l'a résolu pour moi:

  1. Allez dans: Terminal> Préférences
  2. Faites défiler jusqu'à: Shell
  3. Changez /bin/bashpour:/bin/sh
vamc
la source
-1
  1. Accédez à l'icône du terminal sur le Dock, appuyez sur le bouton droit et appuyez sur Nouvelle commande
  2. /bin/bash -x et rouvrez Terminal (cela montre votre problème)
  3. Accédez à Préférences → Général et définissez Shells open avec sur Command, puis entrez les informations suivantes: /bin/sh
  4. Fermez la fenêtre des préférences du terminal
  5. Ouvrez à nouveau le terminal (cela devrait fonctionner)
  6. vi /Users/<your_user>/.bash_profile, supprimez les lignes trouvées à l'étape 2.
  7. Accédez à Préférences → Général et définissez Shells open avec sur Command, puis entrez les informations suivantes: /bin/bash
  8. Ouvrez Terminal, cela devrait fonctionner maintenant
Fanny De Siansoba
la source