环境:
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键盘文件显示两次的方法
八、远程执行mininet的可视化工具
我安装的Mininet放置在 sdn目录中
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,
还有问题的话,网上找吧...
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一个端口号
netstat -nltp | grep 6633 #看看RYU控制器监听的默认端口6633被哪个应用占用了。
kill此应用并重新尝试。
可以看出,端口6633被pid为108194的应用占用啦。
kill -9 108194 #解除端口6633的占用
ryu控制器正常运行
3、mininet与ryu连接
启动ryu
执行命令 ryu-manager --verbose ryu.app.simple_switch_13,出现以下窗口
启动miniedit
在窗口中查看有以下内容,表示连接成功
可参考以下文档
https://www.jianshu.com/p/45302aa8ab41