跳到主要內容

Win10 WSL2 執行 gvim 無視窗解決

Win11 有內建 WSLg,裝完 GUI 軟體直接就能開。但 Win10 的 WSL2 沒有 WSLg,必須自己手動架設 X Server 建立連通道,否則執行 gvimxclock 只會卡住或無回應。

2. 快速設定三步驟

Step 1: Windows 端啟動 X Server

  1. 下載並安裝 VcXsrvXming
  2. 啟動 XLaunch,前幾頁預設。
  3. 關鍵:Extra settings 頁面時,務必勾選 Disable access control(允許變動的 WSL IP 連入)。

Step 2: Ubuntu 端設定環境變數

DISPLAY 指向 Windows 主機的虛擬 IP。

  1. vim ~/.bashrc

  2. 在末尾加入(自動抓取 Windows 主機 IP):

    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
    
  3. 存檔離開(:wq),並執行 source ~/.bashrc 生效。


3. 測試

  • 基本測試:
    sudo apt install x11-apps -y
    xclock
    

能跳出時鐘視窗代表連通成功,接著即可正常執行 gvim

  • 噴錯 Error: Can't open display

檢查 Windows 右下角 VcXsrv 有沒有開,或者有沒有漏掉 Disable access control

  • 畫面渲染異常/空白:

~/.bashrc 補上這行關閉部分 OpenGL 渲染優化:

    export LIBGL_ALWAYS_INDEPENDENT=1

留言