Windows 10用のLinuxサブシステムをインストールしました。問題なく動作しますが、サブシステムのデフォルトのシェル環境を変更します。
やった Sudo apt-get install fish
その後 chsh -s /usr/bin/fish
。しかし、私が始めるときbash.exe
Windowsでは、常にbashを開始します(予測できると思います)。
この動作を変更するための引数を知っている人はいますか?
Linuxサブシステムは、システムディレクトリにあるbash.exeを介して起動されるため、デフォルトのシェル自体を変更することはできません。
ただし、bashの既存のショートカットのような新しいショートカットを作成して、コマンドを実行させることはできます。
%systemroot%\system32\bash -c /usr/bin/fish
このようにして、すぐに魚を走らせます。
Fall Creators Update なので、chsh
を使用してデフォルトのシェルを設定できます。これは、bash.exe
コマンドを使用してWSLを実行している場合はまだ機能しませんが、ubuntu.exe
コマンドを使用してWSLを実行している場合は機能します。
また、Fall Creators Update以降、WSL OSは Windows Store からインストールする必要があります。
zsh
をデフォルトのシェルとして設定します。
chsh -s /bin/zsh
次に、コマンドプロンプトからubuntu.exe
を実行(または再起動)します。
Bashを開き、nano ~/.bashrc
を実行して次の場所に貼り付けます。
if [[ -t 1 && -x /usr/bin/zsh ]]; then
exec /usr/bin/zsh
fi
シェルをfish
または好きなものに変更するだけです。 -x
チェックは、Bashを再インストールする場合に重要です。exec
コマンドが失敗し、Bashが終了するため、新規インストール後に開くことはできません。
その場合は、ここで.bashrc
ファイルを削除/名前変更してください:
C:\Users\<USERNAME>\AppData\Local\lxss\home\<USERNAME>\.bashrc
-t
Ibelieveは、stdoutが開いているかどうかを確認します。なぜそれが重要なのかわからないので、 この記事 からコピーしました。