ぐるっとぐりっど

日曜プログラマがいろいろ試してみたことを、後の自分のためにまとめておく場所

そろそろWSLメインで開発できるかと思ったけど、まだまだ辛さが残る

ポエムです。

来る2017/4/11にWindows10のCreators Updateがきて、WSL(Windows Subsystem for Linux/BoW/BoUoW/Bash on Ubuntu on Windows)も色々と強化されました。
で、これまでmsys2でemacsだったりnodejsなり動かしてたのだけども、ちょくちょくWindowsの世界に乗り込んでいかねばならないせいで、いろいろとつらみが高まってたので、これを機に開発はWSLに全部投げれないかなと試しに数日使ってみました。

おとなしくmacなりlinuxなりにすればいいじゃないって? ゲーム(steam)もしたいじゃない。

辛さ

emacs

WSLにはXサーバはないので、GUIemacsを使うには、何とかする必要がありました。自分はxmingを使ってます。タスクバーのアイコンがxmingのそれになってしまう以外は、特に不満はなし。
フォントがなんか小さくなってしまう場合は、xmingの起動オプションに-dpi 100をつけてやればよいみたい。

辛さとしては、emacs &で起動してinit.elを読んでる間に、Bashの操作をすると、emacsを巻き込んでBashが落ちる。
Bashemacs両方にstraceしてみた感じだと、Bash側でシステムコールに失敗してるっぽいのだけど、細かい原因は不明。

phantomjs

なんかスクリーンが見つからない的なエラーをはいて落ちる。そもそもphantomjs自体使ったことなくて、たまたまcontributeしようとしたプロジェクトがテストに使ってたのを見よう見まねで動かしただけなので環境構築ミスなだけかも。

Electron

こちらも起動すると、xmingの画面が表示されるもクラッシュしてしまう。issueとしては上がってるぽいので今後に期待。
ちなみに、msys2上でnpm installしたelectronは動いて、WSLで改めてnpm installしてみたらダメだった。Windowsとのシームレスな運用ができるってことですねニッコリ

2017.9.8追記

ビルド16275で、electronが動作するように改善されました。

grugrut.hatenablog.jp

ありがたみ

つらみだけだとアレなんで、ありがたみも

プロセスの扱い

msys2だと、Windowsに入れたGoを起動すると、psしても見ることができず、わざわざタスクマネージャから殺す必要があったのに対して、WSLだとpsできちんと見える(ような気がする)。

ホームディレクト

WSLはファイルシステムが独立してるので、Windowsから変更するとファイルが壊れてしまうらしい。
ところがどっこい、vipwでホームディレクトリを/mnt/c配下の適当なフォルダをホームディレクトリにして、WindowsからもWSLからも変更できることが確認できた。
さすがに/etcとかは無理だけど、その辺メモ帳で変更したい要件などないから問題なし

まとめ

現時点ではつらみが多いけど、議論も開発も活発だと思うので、切り捨てるには時期尚早