はじめに
最近DockerがWSLで使えるようになったらしいというのが、話題に上がっていました1。
しかも、Visual Studio Codeも使えるようになっていたらしい23。
じゃあ、いっそ開発環境全部全部WSLに移行できるんじゃ!?
情報は各サイトにまとまってはいるのですが、一か所にまとめておきたいのでメモ。
詳しいことは各リンクにあります。先人達に感謝です。
流れ
- WSLの導入
- X Window Serverのインストール+日本語化
- Visual Studio Codeのインストール
- Dockerのインストール
WSLの導入
章立てといてあれですが、省略。
Ubuntu16.04想定です。
$ sudo apt update
$ sudo apt upgrade -y
X Window Serverのインストール4
VcXsrvのインストール
https://sourceforge.net/projects/vcxsrv/
からダウンロードし、手順通りに進めるだけです。
$ echo 'export DISPLAY=:0.0' >> .bashrc
$ source .bashrc
スケーリング設定
- タスクバーのVcXsrvアイコンを右クリック
- XLaunchを右クリック
- プロパティをクリック
-
互換性
タブをクリック -
高DPI設定の変更
をクリック -
高いDPIスケールの操作を上書きします
にチェック
これをしないをフォントがぼやけます。
Windowsフォントを読み込む
$ sudo apt install -y fontconfig
$ sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/windows
$ sudo fc-cache -fv
これをしないとVisual Studio Codeを日本語化したときに豆腐になりました。
[Windows側でエラーが出るケースがあるとのコメントを頂きました。](
https://qiita.com/LeftLetter/items/0eda1834a46c3b3bff60#comment-a3f0a71aa2ab18eee2bd
https://qiita.com/LeftLetter/items/0eda1834a46c3b3bff60#comment-a3f0a71aa2ab18eee2bd)
その場合はWSLを管理者権限で再起動すれば良いようです。
Windowsフォントに設定
$ sudo apt install -y lxappearance
$ lxappearance
なんかワーニングが出ますが設定はできるようです。
Windowsに合わせるなら、Yu Gothic UI
のRegular
で文字サイズは10か11。理想は10.5?
日本語入力の設定5
Visual Studio Codeのインストール6
6からdebファイルをダウンロードします(以下の<file>.deb
)。
$ sudo dpkg -i <file>.deb
$ sudo apt-get install -f
$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
$ sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
$ sudo apt-get update
$ sudo apt-get install code
以下のコマンドも必要。
$ sudo apt install -y libxss1
$ sudo apt install -y libgtk2.0-0
$ sudo apt install -y libasound2
起動は以下のコマンド。
$ code
Dockerのインストール7
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y docker.io
$ sudo cgroupfs-mount
$ sudo usermod -aG docker $USER
ここでWSLを再起動し、管理者権限で起動する。
$ sudo cgroupfs-mount && sudo service docker start
おわりに
ひとまずセッティングはできたのでまともに動くかはこれから試します。
あと、EclipseとAndroid Studioも入れてみたいです。
あと、毎回VcXsrvを起動したり、WSLを管理者権限で起動するのが面倒なので、自動化したいです。
やってみて
- 毎回VcXsrvとWSLを起動するのが面倒
- VSCodeの画面が頻繁にバグる(XサーバやWSLを再起動しても直らないことも多い)
- VcXsrvを立ち上げていると、ChromeのフォントやExcelの表示、操作がおかしくなる
- 動作が微妙に遅い
などから、あまり満足はしていません・・・。
自分だけなのかなー、そうだといいな。
もっといい方法?
wlinuxというWSLに特化したディストリビューションが出ています。有償ですが、VSCodeのインストール、日本語化や各種言語のインストールまでコマンド一発でやってくれるのでおすすめ。
少し前までVSCodeが起動しないバグがあったが・・・。
X410というX Window serverもあります。同じく有償ですが、より安定しているっぽい?
両者ともよくセールしているので、もし買うならその時がいいと思います。
もっともっといい方法?
今でもたまにいいねがくるので・・・
VS Codeでカバーしている言語の開発なら、VS Code Remote Developmentがいいと思います。WSLにGUIやVS Codeを入れる必要もなくなります。
-
Visual Studio Code on Windows Subsystem for Linux - GeekFactory ↩
-
Running VSCode for Linux in WSL · Issue #2760 · Microsoft/WSL · GitHub ↩
-
Windows Subsystem for Linux + X Windowを1.024倍くらい使いこなすための方法 ↩
-
fcitxで作るWSL日本語開発環境
5の通りにやったらできました。
日本語と英語の変換はCtrl+スペースか半角/全角キーでできます。 ↩ ↩2 -
Windows Subsystem for Linux(Hyper-Vなし)でDockerを動かす - nuits.jp blog ↩