问题描述

最近有项目需要在mininet中搭建SDL网络的仿真测试,当在虚拟机里面使用wireshark &打开wireshark的时候总是提示

root@mininet-vm:~# 
** (wireshark:1303): WARNING **: Could not open X display
error: XDG_RUNTIME_DIR not set in the environment.

(wireshark:1303): Gtk-WARNING **: cannot open display: localhost:10.0

在网上搜相关报错解决方法,并没有搜到。

之后啃了X11和mininet各种官方文档说明之后发现了问题根源。

出现这种情况的原因就是,默认mininet和X11主机(也就是你的shell客户端,我这里是xshell6)通常是同一个Host(可以使用localhost访问到shell客户端),但是由于要进行仿真等测试内容,我在vitualBOX虚拟机内所配置的网络方式为Host-Only网络,也就是此时主机的IP为网关IP,而mininet的IP为该网段下的客户端IP,这个时候使用localhost当然就访问不到了,自然你的shell软件也无法连接到X11服务了。


解决方法

在shell中输入

export DISPLAY=your ip:0
#把your ip替换成你的shell客户端的主机IP即可

之后再输入

wireshark &

即可正常启动wireshark抓包

Last modification:May 11th, 2021 at 09:49 pm