답변:
사용하다:
chsh
비밀번호를 입력하고 사용하려는 쉘의 경로를 명시하십시오.
Bash의 경우 /bin/bash
. Zsh에게는 /usr/bin/zsh
.
sudo chsh -s /bin/bash username
akira의 답변 외에도 / etc / passwd 파일을 편집 하여 기본 쉘을 지정할 수도 있습니다.
이 예제와 같은 줄을 찾을 수 있습니다 :
john:x:1000:1000:john,,,:/home/john:/bin/sh
쉘은 끝에 지정됩니다.
/etc/passwd
있고 조심해야한다면 John의 대답은 시스템이 제공하는 도구를 잘 활용하는 것입니다.
터미널 프로그램을 확인할 수 있습니다. / bin / bash 대신 / bin / sh를 실행하도록 구성되었을 수 있습니다.
Bash는 로그인 세션에 대해서만 .bash_profile을 실행합니다. .bashrc는 로그인 세션뿐만 아니라 모든 bash 세션에 대해 실행됩니다. .bashrc에서 .bash_profile을 소싱하거나 (순환 종속성을 피하십시오!) / bin / bash -l을 쉘 프로그램으로 실행하도록 터미널 프로그램을 구성하십시오.
bash를 활성화하십시오.
$ /bin/bash
사용자를위한 쉘 변경 :
$ sudo usermod -s /bin/bash username
어디:
-s, --shell SHELL new login shell for the user account
sudo
그 시스템에 액세스 할 수 있다고 가정 합니까? 다른 사용자의 로그인 셸 변경과 관련하여 지침을 제공하는 이유는 무엇입니까?
쉘을 기본으로 설정하려면 먼저 다음 내용을보고 컴퓨터에 설치되고 인식되는지 확인하십시오 /etc/shells
.
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/fish
그런 다음 chsh
셸을 사용 하여 변경하십시오.
$ sudo chsh -s /usr/bin/bash $(whoami) # or sudo chsh -s /bin/bash $(whoami)
귀하의 질문에 충분한 정보가 없기 때문에 분명히 같은 문제를 겪었습니다. 비밀번호 입력에 / bin / bash가 이미 설정되어 있다고 가정하면 터미널이 시작되는 방식 일 수 있습니다.
GUI 터미널을 시작하려는 경우 gnome-terminal
셸에서 bash 시작 파일을 읽을 것으로 예상 할 수 있습니다. 그러나 이것은 우분투 및 다른 시스템에서는 기본적으로 발생하지 않습니다.
우분투에서 수정 한 방법은 그놈 터미널 환경 설정을 편집하고 시작 명령을로 설정하는 것 bash -l
입니다. -l
의 약자입니다 --login
. 이것은 bash가 로그인 쉘로 시작하도록 지시하여 ssh를 통해 로그인 할 때 시작 스크립트를로드합니다.
나는 이것이 그런 방식에 대한 좋은 근거가 있다고 확신하지만, 리눅스, cywgin 및 macos 시스템에서 동일한 프로파일을 공유함에 따라 놀랍고 약간 성가신 것으로 나타났습니다.
~/.profile
또는~/.bash_login
소스 하나만 세의로. (나는 정확한 순서를 잊었다.)