ZSH rimosso, impossibile accedere nuovamente


14

Quindi ho installato zshe non mi è piaciuto. così ho fattoapt-get remove zsh

Da quel momento non riesco ad accedere nuovamente, faccio clic sul mio utente ... e poi torna alla schermata di accesso. Posso accedere solo con Guest session.

Penso che il problema sia causato perché la shell defualt sul mio utente è zsh e non esiste più ..

Come posso reinstallarlo dalla sessione ospite di modificare la shell predefinita dei miei utenti per l'utente ospite?

Anche cercando di accedere con, digito il ctrl+alt+f2/6mio utente e la mia password. il login ha esito positivo, ma sono tornato al login.

Qualche idea?


In un secondo momento, il problema del guscio probabilmente non aveva alcuna rilevanza. Nessuna shell utente viene generata dopo che il DM è stato caricato prima che il DE venga caricato (e che probabilmente non sarebbe stato neanche un problema). E non sono nemmeno sicuro del ciclo ~/.bashrc- ~/.profileho provato sia a eliminare la shell dell'utente sia a creare il ~/.bashrc- ~/.profileciclo in una macchina virtuale e sono sempre stato in grado di accedere tramite LightDM, anche se non sono stato in grado di accedere attraverso la console con il ciclo ~/.bashrc- ~/.profile(ma comunque LightDM invece ha funzionato). In ogni caso dovresti accettare la mia risposta.
Kos

Risposte:


16

All'utente guest non viene concessa l'autorizzazione per l'esecuzione sudoo pkexec, che (a meno che non si sia root, cosa che non si è) sono necessari per modificare la shell di un altro utente.

Quindi l'unica soluzione che mi si presenta è l' avvio in una shell di root e la modifica della shell dell'utente come root:

chsh -s /bin/bash user

Dov'è useril nome utente del tuo utente.


Ci si chiede come risolvere questo problema quando la shell di root è anche zsh ... LiveCD?
Kevin

@Kevin Questa risposta è probabilmente sbagliata. La shell non ha alcun rapporto con l'utente che non ha effettuato l'accesso al DE, poiché non viene generata alcuna shell utente dopo che il DM è stato caricato prima che il DE venga caricato. Non so se ci sono opzioni migliori nel caso in cui si riesca a bloccarsi in quel modo, ma suppongo che l'uso di un DVD live e la modifica /etc/passwdmanuale dovrebbero funzionare.
Kos

4
@Kevin Forse con un'opzione di avvio come init=/bin/bash.
user253751

2

Accedere come root o avviare la shell di root e modificare la voce della shell in / etc / passwd su "/ bin / sh". Quindi puoi accedere di nuovo come te stesso e cambiare le cose da lì.


1

Quindi, in aggiunta a quello che ha detto @kos ..

Per qualche motivo ho aggiunto source ~/.profileal mio file .bashrc (non so perché .. leggilo da qualche parte) E il mio .profilefile ha caricato il file.bashrc che causa il caricamento circolare !.

Rimuovere la source..soluzione + @kos ha funzionato!


I desktop Linux hanno in qualche modo rotto il paradigma .profile-for-env-vars e one-per-login stuff / .bashrc-for-aliases. Dal momento che a volte è necessario env Vars imposta per le cose al lavoro, posso capire perché si potrebbe pensare che sia una buona idea source ~/.profileda .bashrc. (L'accesso a una sessione desktop potrebbe non essere fonte del tuo profilo per impostare l'ambiente per tutti i bambini della sessione.)
Peter Cordes

1

Per chi ha problemi a disinstallare zsh. Prova a seguire questi passaggi.

  1. Accedi come root tramite la modalità di recupero. Puoi vedere come farlo a questa risposta. /ubuntu//a/92558/104228
  2. Dopo aver effettuato l'accesso come root. Aprire /etc/passwd. Trova la voce utente e modifica da /usr/bin/zsha/bin/sh . Salvare il file e riavviare come il normale passaggio. È necessario accedere normalmente.
  3. Dopo aver riavviato Ubuntu. Scoprirai che la tua conchiglia sembra così male. Esegui questo comando chsh -s /bin/bash. Digita la password e inserisci. La tua shell starà bene adesso.
  4. Digitare sudo apt-get purge --auto-remove zshper pulire un altro pacchetto di dipendenze di zsh.

Spero che questo passaggio possa aiutare un altro che ha lo stesso problema come me.

PS. Il mio inglese non è la lingua principale. Spero che tu possa capirmi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.