前言

我想很多人在 Windows 11 上的 WSL2 裡安裝 Ubuntu 等 Linux 來建置開發環境吧(很方便對吧)。

在這種情況下,瀏覽器的使用方式會因人而異。

  • 在 WSL2 上的 Linux 端安裝瀏覽器並在 Linux 端完成(不過若從日文支援的角度來看,除了安裝瀏覽器之外,還得在 Linux 端安裝輸入法等,會多一些麻煩)
  • 不在 WSL2 上的 Linux 端安裝瀏覽器,直接使用 Windows 端的瀏覽器(這次採用這個方式)

特別是後者,在使用 CLI 工具進行驗證時,會有一些容易卡住的地方。本文將介紹這個問題的解決方法,以及進一步應用到更方便的 Windows 整合工具。

CLI 工具的瀏覽器驗證中發生的錯誤

在 Linux 端使用 GitHub CLI 等工具時,若嘗試以 gh auth login 這類方式進行瀏覽器驗證,可能會顯示如下訊息。

! First copy your one-time code: XXXX-XXXX
Press Enter to open https://github.com/login/device in your browser...

這時即使乖乖按下 Enter 鍵,瀏覽器也不會啟動(因為 Linux 端沒有安裝),而是可能會輸出如下錯誤。

! Failed opening a web browser at https://github.com/login/device
  exec: "xdg-open,x-www-browser,www-browser,wslview": executable file not found in $PATH

這是因為 Linux 端找不到用來開啟 URL 的標準指令(如 xdg-open),而且也無法把處理轉交給 Windows 端的瀏覽器所導致。

解決方案:導入 wslu(Windows Subsystem for Linux Utilities)

這時很有幫助的就是 wslu 套件。安裝它之後,就能把 WSL2 端「開啟 URL」的指令轉接到 Windows 端的預設應用程式。

1. 安裝

以 Ubuntu 來說,可以使用 apt 指令輕鬆安裝。

sudo apt update
sudo apt install wslu -y

2. 與 xdg-open 綁定

安裝後會多出 wslview 這個指令。許多 CLI 工具會硬編碼尋找 xdg-open,因此為了確保能確實把處理轉過去,建議建立符號連結。

# 如果根本沒有 xdg-open,就先安裝
sudo apt install xdg-utils

# 接著先備份既有的 xdg-open
sudo mv /usr/bin/xdg-open /usr/bin/xdg-open.bak

# 將 wslview 連結成 xdg-open
sudo ln -s /usr/bin/wslview /usr/bin/xdg-open

3. 設定環境變數 BROWSER

有些工具會參考環境變數 BROWSER,因此建議在 shell 的設定檔(如 ~/.bashrc)中加入以下內容,這樣就更完善了。

export BROWSER=wslview

重新載入設定(例如 source ~/.bashrc)之後,從前面的 gh auth login 開始,就能無縫地在 Windows 端啟動瀏覽器了(Congratulations, you're all set!)。

更進一步的便利性:使用 Browser Tamer 自動分配設定檔

wslview 轉交到 Windows 端的是 Windows 的「預設瀏覽器」。

如果在這裡設定好像 Browser Tamer 這類的瀏覽器路由器(分流工具),那麼當 WSL2 上執行的應用程式要啟動瀏覽器時,也能享受到它的好處。

  • 這個 URL(網域)用 Chrome 的公司設定檔開啟
  • 這個 URL(網域)用 Chrome 的個人設定檔開啟

只要先在 Windows 端設定好這類規則,就算是從 WSL2 啟動瀏覽器,也能避免切錯設定檔(或避免發生文件無法開啟之類的問題),工作效率也會大幅提升。

為了讓 WSL2 這個隔離的開發環境,與 Windows 的瀏覽器加上日文輸入輸出環境能夠無痛串接,請務必活用 wslu


原文出處:https://qiita.com/mfunaki/items/37dca9fdb5db427dfd7c


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝3   💬3   ❤️1
201
🥈
我愛JS
💬2  
7
🥉
Gigi
2
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登