pycharm使用x11(MobaXterm)远程调试opencv2;解决cannot connect x server
最近在学习opencv2,由于我的linux机器处于内存考虑没有安装gui,但是调试的时候有时候又不得不需要使用gui查看
比如opencv2中的
此时运行终端运行会报出如下错误
解决方案X11
经过一番资料查找;了解到了一个叫做x11的东西
X11也叫做X Window系统,X Window系统 (X11或X)是一种 位图 显示的 视窗系统 。它是在 Unix 和 类Unix 操作系统 ,以及 OpenVMS 上建立图形用户界面 的标准工具包和协议,并可用于几乎所有已有的现代操作系统。
我们这里选用一款带xserver的终端工具MobaXterm
我们需要修改服务ssh配置 /etc/ssh/sshd_config
然后重启ssh服务 service sshd restart
这时我们使用MobaXterm链接上我们的服务器 ssh username@host
我们会在本地机器得到如下窗口;证明我们成功了。
然后我们使用pycharm运行如下脚本:
错误cannot connect to X server 还是存在。
我们需要配置如下信息:
我们回到MobaXterm输入如下命令
我们会得到如下信息 debian-1:10.0 ;根据机器不同各有差异;然后我们修改设置 run->edit configurations->在environment variable ;填入debian-1:10.0
然后我们在运行我们的脚本;依然还是同样的错误
最后在https://www.cnblogs.com/yinzm/p/8251118.html找到了提示 ;文中有一句 用Xshell开启X11 forwarding功能(属性->连接->SSH->隧道->勾选"转发X11连接到"->X DISPLAY默认配置就行
最后我在MobaXterm中找到了类似的设置 Settings>Configuration>X11>X11 Settings>X11 server display mode 修改为如下配置
这时我们再在pycharm中点击run ;图中蓝色边框就是窗口
此时我们在pycharm的终端可以看到如下信息
注意:此模式下;窗口是没有title的;但也勉强算是能运行调试了。