LoginSignup
7
7

windows terminalでfishを入れる

Last updated at Posted at 2019-11-01

windows terminalって言っていますが、大半はlinux初心者であることによる問題だと思います

Windows Terminalのインストール

windowsのバージョンに注意。versionによっては入らない。最新版ならだいたい入る。
あと忘れずにubuntuのインストールを。
コントロールパネル→プログラム→Windowsの機能の有効化または無効化→windows subsystem for linux を有効化。
一回開けてセットアップ後、ユーザー名とパスワードを設定。

windows terminalの設定

デフォルトだとcopyもpasteもctrl+c ctrl+vに対応してないので、キーバインディングに追加する必要あり。

profiles.json
"keybindings": [{
                 "command": "copy",
                 "keys":["ctrl+c"]
                },
                {
                 "command": "paste",
                 "keys":["ctrl+v"]
                }]

より詳しいのはここにhttps://github.com/microsoft/terminal/blob/master/doc/cascadia/SettingsSchema.md
ubuntuをデフォルトにする。上の方 defaultProfileの値をUbuntuのguid(同じ画面profile内name Ubuntuのguidを参照)にする。これでデフォルトがUbuntuのshellになる。
次、最初のworking directoryをuserにするのに、Ubuntuのprofileに次の一文を追加

profiles.json
"commandline": "wsl.exe ~ -d Ubuntu"

これでおk(参考:https://qiita.com/bindi/items/6aa20a157d83a6efd86f) 。あとcolorSchemeOne Half Dark 、いいぞ(参考:https://qiita.com/hideki0145/items/04582a26baf3d81632c1)。
他のfontFaceとかの設定はまた後で。

そういえば

/mnt/c/ :仮想的なcドライブ。ここ以下が「目に見える」アクセスできるところ
C:\Users\[ユーザー名]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home:linuxのホームディレクトリの場所。エクスプローラーで入ろうと思ったらAppDataが見るからなかったんですけど、これどこにあるんですか。
参考https://qiita.com/kalafinalice/items/70a76d35398ab11af778

brewを入れる

公式サイトを見よう!
https://docs.brew.sh/Homebrew-on-Linux
この通り入れたらなんとかなる、はず。
どっちかって言うと1行目をコピペしたあとはterminal上のログを見てインスコしたほうがいいような気がする。sudo apt-get install build-essential とか入れないとうまくいかなかったような、いったような……(5時間前のことなので記憶が曖昧)

fishを入れる

$ brew install fish

でおk。問題はこのあと。PATHどうやって通すか(私は毎回忘れるんですけど、これ、みんな覚えてるんですか……?)
ワンチャン、途中でわけわかんなくなってlinux側のbrew wrapper入れてる支障が出てる可能性があるので、ここは割と問題出そうな箇所

$ echo /home/linuxbrew/.linuxbrew/bin/fish >> /etc/shells
$ chsh -s /home/linuxbrew/.linuxbrew/bin/fish

とりあえずfishがデフォルトに。このあとは何したっけな~~

fish側のPATHを通す

$ set -U fish_user_paths YOURPATH $fish_user_paths

が通し方の基本。

$ set -U fish_user_paths /usr/local/bin $fish_user_paths
$ set -U fish_user_paths /home/linuxbrew/.linuxbrew/bin $fish_user_paths

多分これでbrewのPATHが通るはず。あとはfishのセットアップだけ。powerlineのフォントとか

fishのpowerline font問題

bob the fishを適用

$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
$ fisher add oh-my-fish/theme-bobthefish

みんな大好きpowerline。でもここでみんな大嫌い文字化けが。

Powerlineフォントを入れる

sudo apt-get install fonts-powerlineで入れたんですけど、どこに行ったのかわかんなくなった+保存されたのがlinux側でwinからは一切認識してくれなかったのでこの方法は諦めました。

$ cd /mnt/c/Users/USERNAME/Desktop
$ git clone https://github.com/powerline/fonts.git --depth=1

これでデスクトップにフォルダができてるはずなので、入って入れたいフォントを右クリック→インストールでwindowsのフォントに入る。
次はwindows terminal の設定。対応するjsonの変数名はfontFace

profiles.json
        {
            "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
            "hidden": false,
            "name": "Ubuntu",
            "source": "Windows.Terminal.Wsl",
            "colorScheme": "One Half Dark",
	        "fontFace": "Source Code Pro for Powerline",
	        "commandline": "wsl.exe ~ -d Ubuntu"
        }

めんどくさいので全部のせました。fontFaceのところが重要。私のやつバグっててRobotoだと入らなかったのでsource code proにしておきました。なんで?

powerline終わり。もう二度としたくないんですけど、これどうやったら回避できますかね……

以上

お疲れさまでした。image.png

やっぱいいですね、fish

7
7
3

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
7
7