You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04.3 WSL环境下启动Wireshark遇Qt平台插件初始化失败问题求助

Ubuntu 22.04.3 WSL环境下启动Wireshark遇Qt平台插件初始化失败问题求助

看起来你遇到的是WSL环境下Qt图形界面依赖缺失或者X11转发未配置的典型问题,我来给你几个可行的解决思路:

先把你遇到的报错信息整理出来方便参考:

(wireshark:7282) 06:45:32.501138 [GUI WARNING] -- could not connect to display :1.0
(wireshark:7282) 06:45:32.501245 [GUI ERROR] -- This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted

解决方案一:配置WSL的X11图形转发(适合需要GUI界面的情况)

WSL本身没有自带图形渲染环境,Qt需要依赖X服务器才能显示界面,步骤很简单:

  1. 在Windows端安装一个X服务器工具,比如VcXsrv或者Xming,安装后启动时记得勾选「Disable access control」选项,保持后台运行。
  2. 回到WSL终端,设置DISPLAY环境变量:
    export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
    export LIBGL_ALWAYS_INDIRECT=1
    
    要是不想每次启动终端都输入,可以把这两行添加到~/.bashrc或者~/.zshrc文件末尾,下次登录会自动加载。
  3. 现在重新启动Wireshark,应该就能正常打开图形界面了。

解决方案二:使用命令行版本tshark(无需GUI的快速方案)

如果只是需要抓包分析,没必要纠结GUI的话,Wireshark的命令行工具tshark完全能满足需求,还不用依赖图形环境:

  1. 先确认tshark已安装:
    sudo apt install tshark
    
  2. 直接用命令抓包,比如抓取eth0网卡的流量:
    tshark -i eth0
    

解决方案三:补充Qt平台插件的依赖包

有时候报错是因为xcb插件的相关依赖没装全,你可以尝试安装这些缺失的库:

sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0

安装完成后重启Wireshark,看看问题是否解决。

你可以先试试第一种方案,这是WSL下运行GUI程序最常用的解决方式,如果还是不行再尝试其他两种。

备注:内容来源于stack exchange,提问作者Rahmat26

火山引擎 最新活动