WSL Ubuntu初期設定
WSL と Ubuntu 20.04 LTS、Windows Terminal*1インストール済み
※WSL1とUbuntu 20.04の組み合わせは2020年6月現在問題が出る((今はまだ)WSL1にUbuntu 20.04を入れるな - Qiita)。
WSL2にするか、WSL1とUbuntu 18.04 LTS を採用してMicrosoftが問題に対応するまで待つか‥
→WSL1のままで、Ubuntu 18.04を使う方針にした。
WSL日本語化
sudo apt update #「E: Unable to locate package」みたいなエラーが出るのはupdateされてないのが原因 sudo apt -y install language-pack-ja sudo update-locale LANG=ja_JP.UTF8 sudo apt -y install manpages-ja manpages-ja-dev sudo apt -y install zlib1g-dev # pyenv install にはこれが必要
WindowsTerminalの設定
terminal/UsingJsonSettings.md at master · microsoft/terminal · GitHub
"defaultProfile" キーを加え、Ubuntuのguid文字列を指定。ubuntuのプロファイルに"startingDirectory"キーを追加し、値を"//wsl$/Ubuntu-20.04/home/<ユーザ名>"
にする(初期ディレクトリをホームディレクトリにするため。ちなみにこの値にはwindowsから見たパスしか指定できない)。
guidの確認はレジストリを見る?(本当にレジストリを見る方法しかないのか??これで合ってるのか???リセットしたデフォルトの setting.jsonに全然違う値がセットされるんだが)
追記:WindowsTerminalには見切りをつけました。
Homebrewインストール
$ sudo apt install build-essential # gcc 入っていないとbrewで何かインストールするとき失敗するため。 $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brewトラブル:perlがインストールできない
※この問題はWSL1上のUbuntu 20.04において発生した。18.04なら発生しなかったのでそちらを勧める。
perlに依存しているフォーミュラが多いので、先にperlインストールコマンドを実行して、うまくインストールされるかどうか様子を見る。
$ brew install perl
==> /home/linuxbrew/.linuxbrew/Cellar/perl/5.30.2_1/bin/cpan -i XML::Parser
という行でしばらく経つとwindows ファイアウォールがperlを受け入れてもいいのかどうか聞いてくるので許可を与える。
Ubuntu 20.04 のときにはこのあともずっと停止してインストールが進まなくなった。
このときには、一向に解決策が見えなかったので、別のLinuxでインストールした XML::Parser モジュールを持ってきて\\wsl$\Ubuntu\home\linuxbrew\.linuxbrew\Cellar\perl\5.30.2_1\lib\perl5\site_perl\5.30.2\x86_64-linux-thread-multi\XML
にコピーする*2という強引な解決手段を試みた。
一方、Ubuntu 18.04 だと最後までインストールを進めることができた。
zshのインストールとログインシェル化
brew install zsh
which zsh
でzshのパスを確認してから
sudo sh -c "echo `which zsh` >> /etc/shells"
で最終行に zsh パスを追加。
chsh -s $(which zsh)
zinitの導入
GitHub - zdharma/zinit: Option 2 - Manual Installation
$ mkdir ~/.zinit $ git clone https://github.com/zdharma/zinit.git ~/.zinit/bin
.zshrc
に以下を追記
source ~/.zinit/bin/zinit.zsh autoload -Uz _zinit (( ${+_comps} )) && _comps[zinit]=_zinit
解説
brewでインストール
- rbenv
- pyenv, poetry
sudo apt install zlib1g-dev
でzlibを使えるようにしておかないと、pyenv install
が失敗する。
- go
- ghq
- ffmpeg, imagemagick
tmux- nvm
手動インストール
- nvm
- ずっとUbuntu+zshでnvmを使いたかったんだよ!! - Qiita
- やっぱりbrewでインストールすることにした。手動インストールしていた理由は忘れたが、初めにbrewでインストールしたとき動かなかったせいと思われる。ただ単にインストールしただけではダメで、シェルスクリプトに設定を書くのが必須なのにそれをしなかったためと思われる。