问题描述
最近有项目需要在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抓包