You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在WSL 2中正常运行Gitk?

WSL2运行Gitk报错解决方案

你遇到的报错核心原因是Gitk属于X11图形应用,WSL2默认没有自带图形显示服务,需要将图形渲染请求转发到Windows端的X Server才能正常显示,$DISPLAY环境变量就是用来指定转发地址的。

操作步骤

1. Windows端安装配置X Server

  • 下载安装VcXsrv(Windows平台常用的免费X Server)
  • 启动VcXsrv时按以下配置选择:
    • 首页面板选择「Multiple windows」,显示编号保持默认-1即可
    • 后续面板一路下一步到「Extra settings」页,勾选「Disable access control」,避免WSL的访问请求被拦截
    • 点击完成启动X Server,保持后台运行即可

2. WSL2端配置DISPLAY环境变量

WSL2的子网IP是动态分配的,需要动态获取Windows宿主的IP来配置$DISPLAY:

  • 编辑你使用的shell配置文件:如果用Bash则编辑~/.bashrc,如果用Zsh则编辑~/.zshrc,在文件末尾添加以下内容:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
  • 执行以下命令让配置立即生效:
# Bash用户执行
source ~/.bashrc
# Zsh用户执行
source ~/.zshrc

3. 验证配置(可选)

可以先安装简单的X11测试工具验证配置是否生效:

sudo apt update && sudo apt install x11-apps -y
# 运行测试程序
xeyes

如果弹出带两个眼球的小窗口,说明图形转发配置正常。

4. 启动Gitk

直接在WSL终端执行gitk即可正常启动程序。


Win11 WSLg用户特殊说明

如果你用的是Win11且已经开启了WSLg(默认自带的图形支持组件),不需要额外安装X Server,仅需检查$DISPLAY变量是否被异常篡改,执行以下命令重置即可:

export DISPLAY=:0

如果想要永久生效,同样把上面的命令加到你的shell配置文件末尾即可。


内容的提问来源于stack exchange,提问作者Kang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 22:24:05