WSL2を少しだけ快適にするTips
TL;DR
WSL2はとても使いやすく快適なのですが、たまにこれできるとすごく快適になるのに、ということがあると思います。解決できるたびに追記していきたいです。
基本
exeファイル
WSL2ではWindows上のexeファイルが使えます。使えるexeファイルは色々ありますが、使ったことがあるものをまとめます。
| コマンド | 用途 |
|---|---|
cmd.exe | コマンドプロンプト |
powershell.exe | Powershell |
clip.exe | clipboard |
explorer.exe | エクスプローラー |
notepad.exe | メモ帳 |
write.exe | ワードパッド |
コマンドプロンプトやPowershellを使うことで、WSL2側とWindows側をつなげることが可能です。また、clip.exeを使えば、クリップボードに文字列をコピーしたいときとかに便利です。
wslpathコマンド
WSL2のパスはWindows側とは違った形態なので、こういったexeファイルを使う際にはWindows側が解釈できる形に加工する必要があります。
これは、wslpathコマンドを使うと簡単です。以下のような感じのコマンドです。
デフォルトだと、windowsのパスをWSLパスに加工するのですが、WSL側では逆がしたいことがほとんどなので、wslpath -awをつけることになると思います。絶対パスに変換するのは安心感があるからです。
WSL2かどうかを判別する
dotfileの設定などの際にWSL2上かどうかを判定したいことがあります。
自分は以下のように判定しています。
実際の用途
openコマンド
Macを使用している方には通じると思うのですが、ファイルを規定のアプリで開いてくれるコマンドです。WSL2では以下のような形で実現できます。
Explorerで開きたい場合は、
clipboardに文字列をコピー
clip.exeにパイプで文字列を流せばいいです。
clipboardに画像をコピー
トリッキーなことをします。powershell.exeの引数にPowershellスクリプトを流せば実行してくれます。以下のps1ファイルを適当な名前で作成します。
imgcopy.ps1
clipboardの画像を貼り付け
powershellのGet-Clipboardを使えば実現可能です。