ZSH eliminado, no se puede volver a iniciar sesión


14

Así que tengo instalar zshy no me gustó. Así que lo hiceapt-get remove zsh

Desde ese momento no puedo volver a iniciar sesión, hago clic en mi usuario ... y luego vuelvo a la pantalla de inicio de sesión. Solo puedo iniciar sesión con el Guest session.

Creo que el problema se debe a que el shell de defualt de mi usuario es zsh y ya no existe.

¿Cómo puedo reinstalarlo desde la sesión de invitado para cambiar el shell predeterminado de mis usuarios para el usuario invitado?

Incluso tratando de iniciar sesión con tecleo ctrl+alt+f2/6mi usuario y contraseña. el inicio de sesión es exitoso, pero lo devuelvo al inicio de sesión.

¿Algunas ideas?


Pensándolo bien, el problema del caparazón probablemente no tenía relación. No se genera ningún shell de usuario después de cargar el DM antes de cargar el DE (y eso probablemente tampoco hubiera sido un problema). Y no estoy seguro sobre el ~/.bashrc- ~/.profilebucle o bien: He probado tanto purgar el shell del usuario y crear el ~/.bashrc- ~/.profilebucle en una máquina virtual y siempre he sido capaz de conectarse a través LightDM, aunque no he sido capaz de inicio de sesión a través de la consola con el bucle ~/.bashrc- ~/.profile(pero aún así, LightDM en su lugar funcionó). En cualquier caso, debe aceptar mi respuesta.
Kos

Respuestas:


16

El usuario invitado no tiene permiso para ejecutar sudoo pkexec, lo que (a menos que sea root, que no lo es) son necesarios para cambiar el shell de otro usuario.

Entonces, la única solución que se me ocurre es arrancar en un shell raíz y cambiar el shell del usuario como root:

chsh -s /bin/bash user

¿Dónde userestá el nombre de usuario de tu usuario?


Uno se pregunta cómo arregla esto cuando el shell de root también es zsh ... LiveCD?
Kevin

@ Kevin Esta respuesta es probablemente incorrecta. El shell no tiene relación con el usuario que no ha iniciado sesión en el DE, ya que no se genera ningún shell de usuario después de que se haya cargado el DM antes de que se cargue el DE. No sé si hay mejores opciones en caso de que uno se bloquee de esa manera, pero supongo que usar un Live DVD y cambiarlo /etc/passwdmanualmente debería funcionar.
Kos

44
@Kevin Posiblemente con una opción de arranque como init=/bin/bash.
user253751

2

Inicie sesión como root o arranque en el shell de root y edite la entrada del shell en / etc / passwd a "/ bin / sh". Luego puede volver a iniciar sesión como usted mismo y cambiar las cosas desde allí.


1

Entonces, además de lo que dijo @kos ...

Por alguna razón agregué source ~/.profilea mi archivo .bashrc (no sé por qué ... léelo en alguna parte) ¡Y mi .profilearchivo cargó el .bashrcque causa la carga circular !.

¡Eliminar la source..solución + @kos hizo el truco!


Los escritorios de Linux han roto el paradigma .profile-for-env-vars y one-per-login stuff / .bashrc-for-aliases. Dado que a veces es necesario establecer env VARs para la materia de trabajo, puedo ver por qué uno podría pensar que es una buena idea a source ~/.profilepartir de .bashrc. (Es posible que iniciar sesión en una sesión de escritorio no genere su perfil para establecer entornos para todos los niños de la sesión.)
Peter Cordes

1

Para quienes tienen el problema de desinstalar zsh. Prueba esto, sigue los pasos.

  1. Inicie sesión como root a través del modo de recuperación. Puedes ver cómo hacerlo en esta respuesta. /ubuntu//a/92558/104228
  2. Después de iniciar sesión como root. Abierto /etc/passwd. Encuentra tu entrada de usuario y cambia de /usr/bin/zsha /bin/sh. Guarde el archivo y reinicie como el paso normal. Debes iniciar sesión normalmente.
  3. Después de reiniciar tu ubuntu. Encontrará que su caparazón se ve tan mal. Ejecute este comando chsh -s /bin/bash. Escriba su contraseña e ingrese. Tu caparazón se verá bien ahora.
  4. Escriba sudo apt-get purge --auto-remove zshpara limpiar otros paquetes de dependencias de zsh.

Espero que este paso ayude a otro que tiene el mismo problema que yo.

PD. Mi inglés no es el idioma principal. Espero que puedas entenderme.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.