端末エミュレータのシェルエラー

端末エミュレータのシェルエラー

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すべてがうまくいきます。愚かな質問をして申し訳ありません:/

おすすめ記事