1 votes

Comment mettre fin à la commande sudo en cours d'exécution qui se rouvre toujours ?

Lorsque j'ouvre une nouvelle fenêtre dans le terminal, j'obtiens ceci : ! enter image description here

J'ai essayé d'installer MacPorts il y a environ un an et cela ne s'est pas bien passé.

Comme je n'utilise pas souvent le terminal, je l'ai laissé tel quel.

J'aimerais maintenant qu'il fonctionne à nouveau !

J'ai essayé de supprimer le fichier com.apple.terminal.plist et je suis bloqué.

Lorsque j'entre mon mot de passe, le shell passe de sudo à tee et tout ce que j'entre est répété !

enter image description here

Lorsque je n'entre pas mon mot de passe, j'obtiens un shell utilisable. Que puis-je faire pour empêcher la commande sudo de se rouvrir ? enter image description here

2voto

Oskar Points 1242

La première chose à faire est de reprendre le contrôle de votre Mac.

  1. Ne vous déconnectez pas et ne redémarrez pas (au cas où les dommages empêcheraient une nouvelle connexion - ce qui est peu probable, mais pourquoi prendre ce risque - surtout si vous ne disposez pas d'une bonne sauvegarde).
  2. Ouvrir les préférences du système
  3. Créez un nouveau compte administrateur et activez le changement rapide d'utilisateur.
  4. Sauvegardez tout le travail effectué dans d'autres applications que vous ne pouvez pas vous permettre de perdre.
  5. Utilisez la barre de menu pour vous connecter en tant que nouveau compte administrateur.

Vous saurez alors si ce nouvel utilisateur dispose d'un accès complet à l'interpréteur de commandes ou si vous avez, d'une manière ou d'une autre, endommagé les fichiers qui configurent tous les processus de l'interpréteur de commandes de l'utilisateur.

Vous pouvez supprimer les MacPorts du nouvel utilisateur et vous assurer que vous disposez d'une bonne sauvegarde avant d'aller effacer les fichiers qui perturbent le processus de connexion au shell de l'utilisateur actuel. Puisque votre installation de port ne fonctionne pas - essayez d'exécuter la désinstallation de port, mais continuez avec la procédure manuelle. rm pour supprimer les éléments installés dans /opt et ailleurs.

http://guide.macports.org/chunked/installing.macports.uninstalling.html

À ce stade, vous pouvez également essayer de nettoyer les fichiers ailleurs - voici les fichiers que MacPorts devrait avoir modifiés, vous devrez donc peut-être les supprimer tous et/ou les récupérer à partir d'une installation propre ou d'une sauvegarde antérieure à la date à laquelle MacPorts les a touchés :

En fonction de votre shell et des fichiers de configuration existants, le programme d'installation peut utiliser .profile, .bash_login, .bash_profile, .tcshrc ou .cshrc.

Le nettoyage pour vous peut également comprendre :

cd /Users
sudo -s
cd broken
tar -cvf ./bash_broken.tar .bash*
rm -i .bash*

Cela créera un fichier tar de sauvegarde de tous vos fichiers de démarrage bash cassés (.bash_history, .bahsrc, etc ) Soyez prudent avec le sudo - si vous rm le mauvais fichier, il n'y a pas de poubelle ou d'undo. Les -i flag devra vous demander si vous souhaitez supprimer chaque fichier. Vous voulez les supprimer presque tous, à l'exception peut-être du fichier d'historique (pour que vous puissiez revenir sur ce que vous avez fait dans le passé si nécessaire).

Une fois les fichiers supprimés, déconnectez-vous du nouvel utilisateur et reconnectez-vous à l'ancien utilisateur pour voir si cela a résolu vos problèmes de terminal.

1voto

Natalia Points 71

Tout d'abord, il existe un certain nombre de commandes que vous pouvez essayer pour sortir de l'état de coquille bizarre dans lequel vous vous trouvez. Ctrl+C, Ctrl+Z, et Ctrl+\ peuvent sortir de la commande sudo, et Ctrl+D sortirait de 'tee'. En supposant que la commande ne s'exécute pas en tant que shell de contrôle (ce qui n'est probablement pas le cas, à en juger par la façon dont le fait de ne pas entrer votre mot de passe vous donne un shell), l'une de ces commandes vous ramènera probablement à votre shell actuel (par exemple bash). Ensuite, vous devriez regarder les fichiers suivants pour voir ce qui vous met dans cet état :

/etc/profile
.bashrc
.login
.bash_profile
.profile

Vous pouvez également éditer ces fichiers à partir de n'importe quel éditeur de texte OSX (plutôt que d'avoir à entrer dans un shell pour le faire), bien que ce soit un peu délicat - à partir de la boîte de dialogue "ouvrir un fichier", appuyez sur Cmd+Shift+G et tapez le chemin complet vers le fichier (c'est-à-dire /etc/profile ou /Users/nom d'utilisateur/.bashrc).

Il est également possible que votre shell de connexion ait été modifié d'une manière ou d'une autre. Dans ce cas, vous devez vous rendre dans les préférences du système Utilisateurs et groupes, puis faire un clic droit sur votre nom d'utilisateur et sélectionner "Options avancées". Assurez-vous que la liste déroulante "shell de connexion" indique /bin/bash .

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X