LoginSignup
1
2

More than 5 years have passed since last update.

WSLでfishをログインシェルにすると起動しない

Posted at

問題

chshでfishを設定する。又は、.bashrc内でexec fishで呼ぶとWelcome to fish, the friendly interactive shellが表示された後、プロンプトの表示まで辿り着きません。
.bashrc内でexec fish -d 3以上で確認すると、何かを試し続けている様子が見られます。

環境

  • Ubuntu 18.04
  • fish 2.7.1

対処

fishのPIDが2の時に問題があるようなので、それを回避します。1
既にログインシェルをfishにしてしまった場合は、ubuntuを2つ起動すると片方はプロンプトが表示されるので、そちらで作業してください。

シェルスクリプトの作成

sudo vim /bin/fish-starter等でシェルスクリプトを作成。

/bin/fish-starter
#!/bin/bash
fish "$@"
exit $?

実行権限を付与

sudo chmod 755 /bin/fish-starter

shellsに追記

fish-starterをログインシェルにするために/etc/shellsに下記を追記します。

/etc/shells
/bin/fish-starter

ログインシェルの変更

chsh -s /bin/fish-starter

起動確認

ウィンドウを閉じてubuntuを起動すると無事プロンプトが表示されると思います。
psで確認するとPIDが3になっています。

$ps
  PID TTY          TIME CMD
    2 tty1     00:00:00 fish-starter
    3 tty1     00:00:00 fish
   13 tty1     00:00:00 ps

終わりに

このバグはmasterブランチでは既に修正されています。2
fishのバージョンが上がるのを待ちましょう。

issue

Bracketed paste mode causes fish to hang on WSL if started as PID=2 #4582


  1. 詳しくはissueを見て下さい。 

  2. 該当コミット 

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2