既定のブラウザーがFirefoxなので、ChromeでURLを開きたい場合はスクリプトを書く必要があった。wslviewは関連付けに従って開くため、Chromeが既定のブラウザーでない場合はうまくいかない。Chromeの実行ファイルのパスとURLを引数にしても起動できないという意味だ。書くのはPowerShellでStart-Process
するだけのスクリプトだ。
#!/bin/sh
/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe Start-Process -FilePath "\$ENV:USERPROFILE/AppData/Local/Google/Chrome/Application/chrome.exe" -ArgumentList "$1"
WSLの設定でWindows側の環境変数PATHを追加していないので、パスをベタ書きすることになったが、既定ではPATHが通っているはずなので、省略できるだろう。PowerShellへはWSLでのパス、ChromeへはWindowsでのパスで書く。環境変数を使う場合は「$」をエスケープする。PowerShellを経由しないと、Chromeを終了するまで戻ってこない。cmd経由でstart
コマンドを使っても可能だが、作業フォルダーに関する警告メッセージが出るので面倒臭い。