この記事では、Linux でデフォルトのシェルを変更する方法について説明します。これにより、bash、sh、zsh、csh、fish などをシェルとして設定できます。
この記事では、chsh を使用してコマンド ラインからログイン シェルを変更する方法、または特定の端末アプリケーションのみのシェルを変更する方法について説明します。この記事は Linux ユーザーを対象としていますが、これは他の Unix 系システムでも機能するはずです。
chsh を使用してデフォルトのログイン シェルを変更する方法 (コマンド ラインから)
デフォルトのログイン シェルを変更するには、chsh
を使用します 、ログイン シェルを変更するためのコマンド ライン ツール。
このプログラムは、/etc/passwd
を変更してログイン シェルを変更します。 $SHELL
のファイルと設定 環境変数。ターミナル設定でシェルを設定することにより、ターミナル アプリケーションのデフォルト シェルをオーバーライドできます。詳細については、この記事の後半で説明します。
Fedora ユーザーへの注意事項。 Fedora にはデフォルトで chsh がインストールされていません。これを使用するには、というパッケージが必要です。 util-linux-user
をインストールするには .このパッケージのインストールをスキップしたい場合は、 lchsh
できます 代わりにデフォルトのログイン シェルを変更するには:
sudo lchsh $USER
chsh を使用する通常のユーザーは現在のアカウントのログイン シェルのみを変更できますが、スーパーユーザーは root アカウントを含む任意のアカウントのログイン シェルを変更できることに注意してください。また、root 以外のユーザーのデフォルトの動作は、リスト /etc/shells
にあるシェルのみを受け入れることです。 root ユーザーに警告を提出して発行します。
したがって、シェルを変更する前に、/etc/shells
にリストされているムール貝をすべてリストします。 Linux システムからのファイル
cat /etc/shells
出力例:
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/bin/zsh
使用するシェルがここにリストされていない場合は、システムにインストールされていない可能性があります。インストールします (たとえば、Debian / Ubuntu / Linux Mint / Pop! _OS に Zsh を sudo apt install zsh
でインストールします)。 ) もう一度確認してください。
ユーザーのシェルを変更するには、次の手順を実行します:
chsh
それは動作します chsh
は対話モードでパスワードを要求し、次に現在のシェル (ほとんどの Linux ディストリビューションはデフォルトのシェルとして Bash を使用します) を一覧表示し、新しいシェルの値を入力するように求めます。コマンドとその出力は次のとおりです。
$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
シェルを変更するには、新しいシェル (/etc/shells
に存在する) へのパスを入力します。 ) を押して Enter
を押します キー。
たとえば、現在のユーザーのシェルを bash から zsh に変更するには:
$ chsh
Password:
Changing the login shell for logix
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]: /bin/zsh
実行後にインタラクティブなコマンド プロンプトで起動しないバージョンの chsh を使用している場合 chsh
、ユーザーのログイン シェルを直接変更します。
chsh -s <SHELL>
例:シェルを Zsh に変更するには:
chsh -s /bin/zsh
アカウントのシェルを変更したら、サインアウトしてから再度サインインして、新しいシェルを使用してください。
別のユーザーまたは root ユーザーのログイン シェルを変更するには、シェル プロンプトで root としてログインします。 su -
で 、 sudo -i
、 sudo su
などと実行:
- root アカウントのシェルを変更するには (プロンプトが表示されたら、目的のログイン シェルとそのフル パスを入力します):
chsh
- 別のユーザーのシェルを変更するには (これは
root
の root ユーザーでも機能します) ユーザー名として):
chsh -s <SHELL> <USERNAME>
今回はその -s
で chsh を使用しました -ログイン シェルを直接変更するオプション (対話モードでは実行されません)。ここでは、SHELL
新しいシェルです (例:/bin/zsh
) と USERNAME
シェルを変更するユーザーです。たとえば、シェルを /bin/zsh
に変更するには ユーザー Logix
の場合 、使用しますか:chsh -s /bin/zsh Logix
).
これも好きかも:Starship は Rust の最小限で迅速なシェル プロンプトです
ターミナル アプリケーションでユーザーのシェルを変更する
ログイン シェルとは異なるシェルを使用できます ($SHELL
) 特定の端末アプリケーションの場合、そのアプリケーションでカスタム シェルを設定したり、カスタム コマンドをデフォルト シェルの代わりに実行したりできる場合。
補足として、ターミナルで使用したいシェル コマンドを入力して、現在のシェルを変更することもできます (永続的な変更ではありません)。 「exit」と入力します)。
GNOME ターミナルを使用するには (GNOME および Cinnamon デスクトップでデフォルトの端末として使用されます)。彼の Preferences
を開く をクリックし、左側のサイドバーで現在アクティブなプロファイル (通常、変更または新しいプロファイルを追加していない場合は [デフォルト] または [無題] というラベルが付いています) をクリックし、[Command
] をクリックします。 タブ:
ここでは、このアプリケーションでのみ使用されるカスタム シェルを設定できます。 Run a custom command instead of my shell
を有効にします オプション、次に Custom command
使用するシェルへのフル パスを入力します。 /bin/zsh
、 /bin/bash
など
Xfce4 ターミナルで 、その Preferences
を開きます そして General
で タブと呼ばれるオプションがあります。 Run a custom command instead of my shell
を有効化 の下にカスタム コマンドを入力します (これは、この端末で使用するシェルです (例:/bin/zsh
)。 、 /usr/bin/fish
など)
KDE Plasmas コンソールの使用 、 Settings -> Edit Current Profile
に移動 、および General
で タブ、Command
を変更 使用するシェルのフル パスのフィールド (ここでも、/bin/zsh
のようなもの) 、 /bin/bash
、 /usr/bin/fish
など)
ガケの使用 Preferences
からユーザー シェルを使用できます。 、 Shell
で というオプションがあるタブ。 Default interpreter
を探す これにより、 /etc/shells
にリストされている任意のシェルを選択できます .
カスタム シェルを実行できる端末の場合は、コマンドをログイン シェルとして実行できるオプションも見つける必要があります (通常は単に「コマンドをログイン シェルとして実行」と呼ばれます)。ログイン シェルとインタラクティブ シェルの違いについては、このページを参照してください。
ほとんどの場合、設定は同じなので、これ以上の例は示しません。ただし、すべてのターミナル アプリケーションにカスタム シェルの使用を許可するオプションがあるわけではないことに注意してください。そのような場合は、chsh
を使用してください。 上記のようにログイン シェルを変更するコマンド。
おすすめ:Gtk ベースの Linux ターミナル (Gnome ターミナル、Tilix、Xfce ターミナルなど) の 179 の配色