3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL1とWSL2を共存させる必要はもうなくなったかも

Posted at

WSL1とWSL2の決定的な違いは、WSL2はLinuxが仮想マシン上で動くという点に尽きる。

localhost問題

WSL2になって問題となったのがlocalhost問題。
仮想マシンとして別マシンで動くので当然別IPが割り振られる。

WSL2で苦労していた点は一年前にこの記事で書いている。
https://qiita.com/yugo-yamamoto/items/ac31bbd00f6b88e05793

とにかく最後までネックになってたのは、GUIつきChromeが自動化できないという点だったが、それもWindows11+WSLgで本物Chromeが動くので解消。普段使いのChromeが自動化できないという点はマイナスだが、仮想マシン上に入れたChromeもGoogleアカウントでログインしてしまえば、ブックマークも履歴も機能拡張だって共有できる。

以下一見WSL2ではできなさそうだけど、WSL1と同様に動かせる機能。

portforward

WSL1上でsshのポートフォワードを起動しておいて、Chromeからlocalhost:4567と接続する機会はよくあった。WindowsからのlocalhostはWLS2の何かしらのListenしているポートにアクセスできるのでこれは機能する。

現在のフォルダをWindowsから開く

root@LAPTOP-5EMLK46H:/mnt/c/Users/yugoy/Downloads# explorer.exe .

「コマンドプロンプト代わりにWSLを使う」というタイプの人達にはよくやる操作。
WSL2もWindowsのコマンドは直に呼び出せるのでこれでフォルダを開くことはできる。

Windows側のデフォルトブラウザでURLを開く

exploler.exe http://yahoo.co.jp

これで標準ブラウザから開くことができる。Macで言うopenに近い操作がexplorler.exeの起動で可能になる。localhostを経由したWindowアクセスがWSL2からは不可能ではあるものの、Windows上のコマンドはすべて利用可能。

Window側のclipboardとやり取りする

Macで言うpbcopy,pbpasteをWSL2上の仮想マシンから操作する。

clip.exeはWSL2からも操作可能。

echo aa | clip.exe

このようなコマンドで、標準出力をWindows側のclipboardに入れるこは可能。clipboardから取り出すコマンドは直接ないためPowerShellを経由する必要がある。

powershell.exe Get-Clipboard

ということで、「だいたい」Windows側の機能も使えたということで、WSL1はもはや必要なくなった。あとこの1年でWSL2がめちゃくちゃ進化した。まだ進化しそう。

3
2
0

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?