1
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環境でブラウザが起動せずにログインできない時の解決方法

Posted at

はじめに

Windows Subsystem for Linux(WSL)環境でCLIツールや開発環境からログインを行う際、ブラウザが自動で開かずに認証が進められないケースがあります。これは、WSL内のLinux環境がWindows側のブラウザと連携できていないことが原因です。本記事では、WSLでブラウザログインができない場合の主な解決方法を解説します。


主な解決方法

1. wslview を使ってWindows側のブラウザを開く

最も簡単な方法は、wslu パッケージに含まれる wslview コマンドを利用することです。

sudo apt update && sudo apt install -y wslu
echo 'export BROWSER=wslview' >> ~/.bashrc
source ~/.bashrc

これでWSL内からWindows側の既定ブラウザを開けるようになります。


2. xdg-openwslview に関連付ける

より汎用的な設定として、Linux側の xdg-open コマンドを wslview に置き換える方法があります。

sudo update-alternatives --install /usr/bin/xdg-open xdg-open /usr/bin/wslview 200

これにより、xdg-open https://example.com を実行するとWindows側ブラウザが起動します。


3. ブラウザなしでログイン(デバイスコード方式)

ブラウザ連携が困難な環境では、デバイスコード方式が利用できます。
ツールによっては以下のようなオプションが用意されています。

<ツール名> login --no-browser

実行するとターミナルにURLと認証コードが表示されるので、Windows側のブラウザでURLを開き、コードを入力します。


トラブルシューティング

  • sudo 実行中はブラウザ連携が失敗しやすいため、一般ユーザー権限でログイン操作を行ってください。
  • 企業や大学のネットワーク環境によっては localhost のポート転送が制限される場合があります。その場合はデバイスコード方式を使用します。
  • WSLgが有効なWindows 11環境であれば、Linux側ブラウザ(Firefoxなど)を直接起動することも可能です。

まとめ

WSL環境でブラウザが起動しない場合は、

  1. wslview の利用
  2. xdg-open の設定変更
  3. デバイスコード方式の利用
    のいずれかでほとんどのケースが解決できます。

これらの設定を行うことで、CLIツールや開発環境でのログイン作業がスムーズになります。

1
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
1
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?