¿Cómo puedo terminar el comando sudo en ejecución que siempre se vuelve a abrir?

1

Cuando abro una nueva ventana en el terminal, obtengo esto:!

EstabatratandodeinstalarMacPortshaceaproximadamenteunañoynomefuebien.

Comonousoelterminalconmuchafrecuencia,lodejéasí.

¡Ahoramegustaríaquefuncionaradenuevo!

Intentéeliminarelarchivocom.apple.terminal.plistyestoybloqueado.

Cuandoingresomicontraseña,elshellcambiadesudoateeytodoloqueingreseserepite.

Cuando no ingreso mi contraseña, obtengo un shell utilizable. ¿Qué puedo hacer para evitar que se vuelva a abrir el comando sudo?

    
pregunta Leon 07.09.2013 - 19:37

2 respuestas

1

En primer lugar, hay una serie de comandos que puedes intentar para salir del estado de shell extraño en el que estás. Ctrl + C, Ctrl + Z, y Ctrl + \ puede salir del comando sudo, y Ctrl + D saldría el 'tee'. Suponiendo que el comando no se está ejecutando como su shell de control (lo cual probablemente no lo es, a juzgar por la forma en que el hecho de no ingresar su contraseña le otorga un shell), es probable que uno de esos lo devuelva a su shell real (por ejemplo, bash). Luego debes mirar los siguientes archivos para ver qué te pone en ese estado:

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

También puedes editar esos archivos desde cualquier editor de texto OSX (en lugar de tener que entrar en un shell para hacerlo), aunque es un poco complicado: desde el cuadro de diálogo "abrir archivo", presiona Cmd + Shift + G y luego escriba la ruta completa (por ejemplo, / etc / profile o /Users/username/.bashrc).

También es posible que su shell de inicio de sesión haya cambiado de alguna manera. En ese caso, debe ir a Usuarios & Agrupe las preferencias del sistema, luego presione Ctrl y haga clic en su nombre de usuario, luego seleccione "Opciones avanzadas". Asegúrese de que el menú desplegable "shell de inicio de sesión" muestre /bin/bash .

    
respondido por el fluffy 08.09.2013 - 20:45
2

Lo que tienes es un mal conjunto de archivos de inicio de shell, por lo que lo primero que debes hacer es recuperar el control de tu Mac.

  1. No cierre la sesión ni reinicie (en caso de que el daño impida un nuevo inicio de sesión, es poco probable, pero por qué arriesgarse, especialmente si no tiene una buena copia de seguridad)
  2. Abrir las preferencias del sistema
  3. Cree una nueva cuenta de administrador y habilite el cambio rápido de usuario
  4. Guarde cualquier trabajo en otras aplicaciones que no pueda perder
  5. Use la barra de menú para iniciar sesión como la nueva cuenta de administrador

En ese momento, sabrás si ese nuevo usuario tiene acceso completo a la shell o si de alguna manera has desordenado los archivos que configuran todos los procesos de la shell del usuario.

Puede eliminar MacPorts del nuevo usuario y asegurarse de tener una buena copia de seguridad antes de ingresar para borrar los archivos que están dañando el proceso de inicio de sesión de shell del usuario actual. Dado que la instalación de su puerto no funciona, intente ejecutar la desinstalación del puerto, pero continúe con el comando manual rm para eliminar los elementos en / opt y en cualquier otro lugar que se haya instalado.

enlace

En ese momento, también puede intentar limpiar los archivos en otro lugar. Estos son los archivos que MacPorts debería haberle cambiado, por lo que es posible que tenga que eliminarlos todos o recuperarlos de una instalación limpia o una copia de seguridad de antes. cuando MacPorts los tocó:

  

Según el shell y los archivos de configuración que ya existen, el instalador puede usar .profile, .bash_login, .bash_profile, .tcshrc o .cshrc.

La limpieza para usted también podría implicar:

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

Eso hará una copia de seguridad del archivo tar de todos tus archivos de inicio de bash rotos (.bash_history, .bahsrc, etc.). Ten cuidado con el sudo: si haces el archivo incorrecto, no hay papelera ni deshacer. El indicador -i hará que rm le pregunte si desea eliminar cada archivo. Desea eliminar casi todos ellos, excepto quizás el archivo de historial (para que pueda ver lo que hizo en el pasado si es necesario).

Una vez que hayas eliminado los archivos, cierra la sesión del nuevo usuario y vuelve al usuario anterior para ver si eso solucionó los problemas de tu terminal.

    
respondido por el bmike 07.09.2013 - 20:27

Lea otras preguntas en las etiquetas