터미널 에뮬레이터의 쉘 오류

터미널 에뮬레이터의 쉘 오류

Fedora 데스크탑에서 선택한 셸(zsh)에 이상한 문제가 발생했습니다. 터미널 에뮬레이터를 열면 쉘은 bash이지만 내 쉘에는 /etc/passwd다음이 있습니다.

[frank@fedora ~]$ grep frank /etc/passwd
frank:x:1000:1000:Frank:/home/frank:/usr/bin/zsh
[frank@fedora ~]$ whoami
frank

이는 설치된 모든 터미널 에뮬레이터(gnome-terminal, alacritty, konsole)에서 발생하며 터미널 에뮬레이터 세트에는 셸별 설정이 없습니다. 같은 컴퓨터에 있는 다른 사용자에게는 이 문제가 발생하지 않습니다. 그래서 나는 이것이 사용자 별 설정이라고 가정합니다.

이름을 바꾸려고 노력했지만 이름을 바꾸려고 시도 ~/.profile했지만 성공하지 못했습니다.~/.zshrc~/.bashrc

이것은 나에게만 로컬로 발생합니다. SSH를 통해 머신에 접속할 때 쉘은 zsh여야 합니다.

답변1

아무래도 삭제 후 로그아웃이 안 된 것 같습니다 ~/profile. 따라서 SHELL변수는 여전히 설정되어 있습니다. 일어나는 일은 다음과 같습니다 ~/.profile.

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

그리고 ~/.bashrc /etc/bashrc소스 에는 export SHELL=/usr/bin/bash 위의 내용을 제거한 후 .profile모든 것이 잘 작동합니다. 어리석은 질문을 해서 죄송합니다 :/

관련 정보