
내 서버에 로그인하면 root
모든 것이 잘 작동하지만 로그인하면 myusername
bash가 작동하지 않습니다.
이 줄은 다음으로 시작됩니다.
$
바꾸다
myusername@myserver:~$
모든 특수 키(예: 화살표 키, Tab 키 등)는 작동하지 않습니다.
입력하면 bin/bash
다시 작동하지만 문제를 해결하거나 bin/bash
로그인 시 자동으로 실행하고 싶습니다. 이 문제를 어떻게 해결할 수 있나요?
답변1
쉘을 변경하기 만하면됩니다. 해당 사용자로서 다음을 실행하십시오.
$ chsh -s /bin/bash
그런 다음 로그아웃했다가 다시 로그인하세요.
이 작업을 수행했는데 프롬프트가 원하는 대로 표시되지 않으면 환경의 PS1 변수 조정을 시작해야 합니다.
답변2
쉘을 변경해야 합니다. 명령 실행
chsh -s /bin/bash
그런 다음 다시 로그인하십시오.
그러나 모든 사용자가 자신의 셸을 변경할 수 있는 권한을 갖고 있는 것은 아닙니다. 사용하는 경우 sudo
추가하는 것을 잊지 마세요사용자 이름명령 chsh
은
sudo chsh <username> -s /bin/bash
그렇지 않으면 실수로 루트의 쉘이 변경됩니다.
답변3
가능한 이유 중 하나는 기본 쉘입니다내 사용자 이름배쉬가 아닙니다.
다음을 사용하여 현재 사용자의 쉘을 확인할 수 있습니다.
echo ${SHELL}
echo $0
사용자 셸을 영구적으로 변경하려면 man chsh
다음 예를 참조하세요.
chsh -s /bin/bash
답변4
한 가지만 더 추가하고 싶었습니다.
해당 사용자의 bash를 변경하기 위해 sudo 액세스가 필요한 경우 sudo 명령에서 사용자 이름을 언급해야 합니다. 사용자 이름이 없으면 루트 사용자에게 적용되기 때문입니다.
$ sudo chsh -s /bin/bash <user>