2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLからWindowsホスト側のブラウザを開く設定

2
Posted at

できるようになること

WSL上のCLIツール(gh auth logincodex login など)でブラウザ認証を実行したとき、Windowsのデフォルトブラウザが自動で開くようになる。

環境

  • Windows 11 + WSL2
  • Ubuntu 22.04 LTS
  • シェル: zsh

zsh以外を使用している方は .zshrc をご自身のシェル設定ファイルに読み替えてください。

WSL用Chromeを自分で入れたが、結局Windows側で開きたくなった。GH認証等の際に面倒だった。
WSL_Chrome.png

手順

1. WSL内のChromeを削除(該当する場合)

WSL内にChromeがインストールされていると、 BROWSER 環境変数よりもそちらが優先されてしまったので削除した。

# WSL内にChromeがあるか確認
which google-chrome

# あれば削除
sudo apt remove google-chrome-stable

2. URLをWindowsで開くスクリプトを作成

Windowsの cmd.exe start を利用してURLを開く1行スクリプト。

# スクリプトを作成
# 場所は任意
cat << 'EOF' > ~/.local/bin/wsl-open
#!/bin/sh
/mnt/c/Windows/System32/cmd.exe /c start "" "$1" 2>/dev/null
EOF

# 実行権限を付与
chmod +x ~/.local/bin/wsl-open

3. .zshrcにBROWSER環境変数を設定

# ~/.zshrc に追加
export BROWSER="wsl-open"

# 反映する
source ~/.zshrc

確認方法

# WindowsのブラウザでURLが開けばOK
wsl-open https://example.com

影響範囲

BROWSER 環境変数を参照するすべてのCLIツールに効く。

  • codex login(OpenAI Codex CLI)
  • gh auth login(GitHub CLI)
  • その他ブラウザ認証を使うCLIツール全般

備考

同様の目的のツールとして wsluwslview コマンドがあるが、2025年3月にリポジトリがアーカイブされ、メンテナンスが終了している。
本記事では外部パッケージに依存しない方法を採用した。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?