11、Xshell+Xmanager实现Mininet的可视化图像界面
环境:
-
Ubunt20.4
-
Xshell 6
-
Xmanager 6
-
Python3.8
一、安装xshell
下载安装,一直next就行
二、安装Xmanager
https://www.xshellcn.com/,正版需要付费使用,可以去阿里云购买服务使用
三、Ubuntu安装xwidows一些组件(提供可视化,没太明白,网上说的...)
大致包含以下包:
- apt-get install xserver-xorg
- apt-get install x-window-system-core
- dpkg-reconfigure xserver-xorg
- apt-get install gnome-core
- apt-get install gdm xscreensaver
- apt-get install ttf-arphic*
四、安装SSH
- 为Ubuntu安装ssh服务器
- 命令:
sudo apt install openssh-server
- 启动: sudo systemctl start ssh
- 查看: sudo systemctl status ssh
2.关闭防火墙
- 命令:sudo ufw disable
- 查看:udo ufw status
需要准备的工作基本上就是这些,可能之前使用过,有些步骤可能忘记了,可以参考其他文档。
五、Xshell连接Ubuntu
第一步:
第二步:
第三步:
第四步:点击连接,若出现以下窗口,表示连接成功,例如:会话名称为Ubuntu
六、打开Xmanger
- 打开Xmanager
2.双击Ubuntu则会自动跳转至Xshell中,这一步很关键
七、测试
基于Xmanager跳转的会话窗口中(应该不能随便打开一个会话窗口,为了方便直接在Xmanage跳转的窗口中运行代码就好了),输入命令:gtk-demo
可能会出现各种错误,大部分可能都会出现以下错
具体忘记怎么解决了,也是参考了很多大佬的思路和方法。大致记得可以这样做:
1、可以修改 etc/hosts的文件(好像是只读的,修改文件权限就行),加入当前服务器的IP地址,一行一个IP地址
2、可以输入 export DISPLAY=服务器IP地址:0.0
3、可以修改ssh的sshd_config配置文件
修改完后,重新启动ssh服务器。
3、可以使用Xhost +,运行其他用户执行图像化操作(看别人这么写的,我没成功...)
还有很多解决方法,可以网上查找一下,以上几种方法可能也不能解决这个问题,真的忘了是采用那种方法解决的了...
正确安装完成是出现以下图像
4、解决Xshell与Xmanager键盘文件显示两次的方法
参阅 https://blog.csdn.net/uplife1980/article/details/84574055
八、远程执行mininet的可视化工具
我安装的Mininet放置在 sdn目录中,安装mininet可以参考https://blog.csdn.net/qq_34039018/article/details/90031480(转载)
若成功出现了七中的图像,再次进入Xmanager双击Ubuntu,跳转到Xshell会话窗口后,进入 mininet/mininet/examples
运行miniedit.py(我安装的python版本是3.8.3)
正确运行的话,将会显示该窗体。
这一步也会出现蛮多问题的,被折磨了很久,大概记得出现的几个错误,总结如下:
1、出现" ModuleNotFoundError: No module named 'tkinter' "
这个好办缺少什么导入什么,直接导入此包到Python中。
执行 sudo apt-get install tcl-dev tk-dev python3-tk,
如果遇到什么候选包不存在之类,多半是要更新apt-get,执行 sudo apt-get update,
还有问题的话,网上找吧...
如果是什么tck,tl问题的可以参考
转载:https://blog.csdn.net/blueheart20/article/details/78763208
2、出现tkinter.TclError: couldn't connect to display ":0.0"
网上有很多解决思路,慢慢找吧...
九、安装ryu控制器与mininet连接
ryu可以监听mininet的相关信息,实现远程连接
1、安装pip3
检查是否已经安装pip3(或者pip,对应不同的版本)
没有的话,执行命令 sudo apt install python3-pip进行安装
出现错误的话,一般更新一下apt-get就行
2、安装ryu
执行命令 pip3 install ryu进行安装
执行命令 ryu-manager查看是否安装成功
若出现异常,可能是某个端口号被占用,因为ryu默认端口号为6633,可以结束占用进程,也可重新给ryu一个端口号
kill此应用并重新尝试。
kill -9 108194 #解除端口6633的占用
启动miniedit