ZSH가 제거되었으며 다시 로그인 할 수 없습니다


14

그래서 나는 설치 zsh했고 그것을 좋아하지 않았다. 그래서 나는apt-get remove zsh

그 시점부터 다시 로그인 할 수 없습니다. 사용자를 클릭하면 로그인 화면으로 돌아갑니다. 로만 로그인 할 수 있습니다 Guest session.

내 사용자의 defualt shell이 ​​zsh이므로 더 이상 존재하지 않기 때문에 문제가 발생했다고 생각합니다.

게스트 사용자의 기본 쉘을 변경하기 위해 게스트 세션에서 어떻게 다시 설치할 수 있습니까?

ctrl+alt+f2/6i로 로그인을 시도하더라도 사용자와 비밀번호를 입력합니다. 로그인은 성공했지만 로그인으로 되돌아갑니다.

어떤 아이디어?


두 번째로 쉘 문제에는 아무런 영향이 없었을 것입니다. DE가로드되기 전에 DM이로드 된 후에는 사용자 쉘이 생성되지 않습니다 (아마도 문제가되지 않았을 것입니다). 그리고 ~/.bashrc- ~/.profile루프 에 대해 잘 모르겠습니다 . 사용자의 셸을 제거하고 VM에서 ~/.bashrc- ~/.profile루프를 만드는 것을 테스트했으며 항상 로그인 할 수는 없지만 항상 LightDM을 통해 로그인 할 수있었습니다. ~/.bashrc- ~/.profile루프 를 사용하여 콘솔을 통해 (그러나 여전히 LightDM이 작동했습니다). 어쨌든 내 대답을 받아들이지 않아야합니다.
kos

답변:


16

게스트 사용자에게는 다른 사용자의 셸을 변경하는 데 필요한 루트 권한이 아닌 루트 sudo또는 을 실행할 수있는 권한이 부여 pkexec되지 않습니다.

따라서 나에게 일어나는 유일한 해결책 은 루트 쉘로 부팅 하고 사용자의 쉘을 루트로 변경하는 것입니다.

chsh -s /bin/bash user

user사용자의 사용자 이름은 어디에 있습니까 ?


루트 쉘이 zsh ... LiveCD 일 때이 문제를 어떻게 해결하는지 궁금합니다.
Kevin

@Kevin이 답변은 틀린 것 같습니다. DE가로드되기 전에 DM이로드 된 후에는 사용자 쉘이 생성되지 않으므로 쉘은 사용자가 DE에 로그인하지 않은 상태와 관련이 없습니다. 그 방법으로 자신을 잠그는 경우를 대비하여 더 나은 옵션이 있는지는 모르겠지만 Live DVD를 사용하고 /etc/passwd수동으로 변경하면 효과가 있다고 가정합니다 .
kos

4
@Kevin 같은 부팅 옵션을 사용할 수 init=/bin/bash있습니다.
user253751

2

루트로 로그인하거나 루트 쉘로 부팅하고 / etc / passwd의 쉘 항목을 "/ bin / sh"로 편집하십시오. 그런 다음 자신으로 다시 로그인하여 그곳에서 내용을 변경할 수 있습니다.


1

@kos가 말한 것에 추가로 ..

어떤 이유로 든 source ~/.profile내 .bashrc 파일에 추가 했습니다 (이유를 모르겠습니다. 어딘가에 읽습니다). 내 .profile파일이로드되어 .bashrc순환 로딩의 원인이되었습니다!.

source..+ @kos 솔루션을 제거하면 트릭이되었습니다!


리눅스 데스크탑은 .profile-for-env-vars와 one-per-login // .bashrc-alias 패러다임 을 깨뜨렸다 . 가끔 필요에 ENV 일에 물건 설정 바르 때문에 하나는 그것이 좋은 생각이라고 생각하는 이유, 내가 볼 수 있습니다 source ~/.profile에서 .bashrc. (데스크톱 세션에 로그인하면 세션의 모든 하위 항목에 대한 환경 변수를 설정하기 위해 프로파일을 소스하지 않을 수 있습니다.)
Peter Cordes

1

zsh를 설치 제거하는 데 문제가있는 사용자 다음 단계를 수행하십시오.

  1. 복구 모드를 통해 루트로 로그인하십시오. 이 답변에서 어떻게하는지 볼 수 있습니다. /ubuntu//a/92558/104228
  2. 루트로 로그인 한 후 를 엽니 다 /etc/passwd. 사용자 항목을 찾아에서 /usr/bin/zsh로 변경하십시오 /bin/sh. 파일을 저장하고 정상적인 단계로 재부팅하십시오. 정상적으로 로그인해야합니다.
  3. 우분투를 재부팅 한 후. 껍질이 너무 나빠 보일 것입니다. 이 명령을 실행하십시오 chsh -s /bin/bash. 비밀번호를 입력하고 입력하십시오. 당신은 지금 껍질이 좋아 보일 것입니다.
  4. sudo apt-get purge --auto-remove zshzsh의 다른 종속성 패키지를 정리하려면 입력하십시오 .

이 단계가 나와 같은 문제가있는 다른 사람에게 도움이되기를 바랍니다.

추신. 제 영어는 기본 언어가 아닙니다. 나는 당신이 나를 이해할 수 있기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.