目前遇到了两种报这个错的情况:

情况一:本地在外网,通过SSH登录到内网服务器。运行代码,

报错:

(1)cannot connect to X server

(2)_tkinter.TclError: couldn't connect to display

或者运行完了也没有任何显示。

环境:本地:windows 10  远程: linux ubuntu 16.04   连接方式:服务器在内网中,本地和内网之间通过VPN连接,然后本地通过SSH登录到服务器

症状:VNC可以远程桌面到服务器,本地ping服务器通,服务器ping本地不通。(这个问题修复之后也是这样,这里只不过是交代一下环境。公司的VPN还挺厉害的,能控制很多东西)

原因:你的代理地址可能被某一个流氓软件给改了!!

代码(代码放在服务器端,本地通过ssh登录到服务器,然后运行这个代码):

img_dir = '/home/data/1.jpg'from matplotlib import pyplot as pltimg = plt.imread(img_dir)
plt.imshow(img)
plt.show()

mini example

$ export DISPLAY=10.xxx.xx.xxx:0.0$ xarclock
Error: Can't open display: 10.xxx.xx.xxx:0.0

无论上述的display设置成什么都不行!

或者

$ python3.6
Python 3.6.9 (default, Jul  3 2019, 15:36:16)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.namedWindow('img', 0)

或者在pycharm:

Traceback (most recent call last):File "/home/usr1/abc.py", line 6, in <module>plt.imshow(img)File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 2677, in imshow__ret = gca().imshow(File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 926, in gcareturn gcf().gca(**kwargs)File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 603, in gcfreturn figure()File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/pyplot.py", line 545, in figure**kwargs)File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 3252, in new_figure_managerreturn cls.new_figure_manager_given_figure(num, fig)File "/home/usr1/.local/lib/python3.6/site-packages/matplotlib/backends/_backend_tk.py", line 950, in new_figure_manager_given_figurewindow = tk.Tk(className="matplotlib")File "/usr/lib/python3.6/tkinter/__init__.py", line 2026, in __init__self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display "10.xxx.xxx.xxx:0.0"

解决!!

这个问题不知道会不会折腾你一天,反正会折腾我一天!

用尽一切x server(xming xmanager vcxsrv, xshell moba-xterm, .........), ssh,  各种折腾都不管用的根源!!如下:

把你的C,,,L,,,O,,,U,,,D,,,S,,,,S之类的FQ软件卸了。重启电脑!!或者其他你不应该用的代理软件。如果你跟我一样是使用公司VPN上网的话!!!!!

然后使用 moba-xterm或者xmanager,它们都会自带xserver。它们启动之后,一般会启动xserver

这样你在moba-xterm或者xshell中使用ssh登录到服务器然后再运行相应代码

就可以在本地show出来图片了

情况二:本地PC和服务器PC都在同一个内网,没有使用VPN连接。本地代码在Pycharm中修改提交,执行代码是通过VNC远程到服务器桌面,在桌面中的终端里执行。

出现的症状是:

1,代码在pycharm中远程执行正常  2,但是在VNC远程桌面终端中执行报这个错: :cannot connect to X server

不显示cv2.imshow应该显示的界面。

原因:还是$DISPLAY环境变量引起的。本地pycharm中在settings和run-> configuration中设置好了DISPLAY这个环境变量,但是远程桌面的终端里没有设置好。其实上面这个报错后面跟着的就是远程桌面终端的DISPLAY这个环境变量的值,只不过因为它是空,所以没有显示出来。

解决:可以另外打开一个终端,看一下应该设置成多少:$ echo $DISPLAY

$ echo $DISPLAY# 输出
:2.0

然后,在当前报错的终端内按照看到的值进行设置(这个值其实和启动VNC时设置的值一致:$ vncserver -geometry 1920x1080 :2)。如:

$ export DISPLAY=localhost:2.0

然后在原地重新运行代码应就不报这个错了,而且界面能显示出来了。

同样原因导致的问题见:

1,win10 pycharm 打不开 console Couldn't connect to console process Process finished with exit code 129

2,python win10 pycharm远程连接ubuntu显示不了图片 cannot connect to X server 10.xxx.xxx.xxx:0.0

3,_tkinter.TclError: couldn't connect to display

【终极!!!】cannot connect to X server, couldnt connect to display相关推荐

  1. Error: Failed to connect to MySQL server: DBI connect(';

    先看问题: [root@localhost ~]# innobackupex --user=root --password=131417 /backup InnoDB Backup Utility v ...

  2. MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 Connection refused)

    MariaDB : ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection ref ...

  3. cann't connect to db! mysql!,解决SQL Error: Can't connect to MySQL server on错误

    解决SQL Error: Can't connect to MySQL server on错误 文章来源:传奇帮手游 发布时间:2020-12-02 文章性质:原创文章 今天帮主在群里看到有一个兄弟在 ...

  4. mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (10060)

    今天在用批处理进行MySQL自动备份的过程中遇到一个问题,错误提示:mysqldump: Got error: 2003: Can't connect to mysql server on '127. ...

  5. 安装mysql 10055_Can’t connect to MySQL server on ‘localhost’ (10055) | 学步园

    服务器:   windows2000   server   +   iis5.0   +   php   isapi   +   mysql 我用php+mysql开发了一个web站,该站访问量很高. ...

  6. MySQL显示ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)解决方法

    MySQL显示ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)解决方法 参考文章: (1)MySQL显示 ...

  7. can t connect to mysql server on ‘localhost‘解决方法

    can t connect to mysql server on 'localhost'解决方法 参考文章: (1)can t connect to mysql server on 'localhos ...

  8. Can't connect to MySQL server on 'localhost' (10061)的解决办法!

    Can't connect to MySQL server on 'localhost' (10061)的解决办法! http://blog.sina.com.cn/s/blog_52ebca1f01 ...

  9. 连接MySQL的10060错误:Can't connect to MySQL server on '*.*.*.*'(10060)

    使用MySQL的图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060) [出现该问题可能的原因:] ...

最新文章

  1. webpack4-- 处理html中引入的图片
  2. 筹码游戏java代码编写,PAT(Basic Level) 乙级练习题 ------ 1071 小赌怡情 java
  3. 移动端web自适应适配布局解决方案
  4. SAP Spartacus 自定义 PageResolver 的用法
  5. linux date命令_Linux date命令示例
  6. 【论文解读】UniLM:一种既能阅读又能自动生成的预训练模型
  7. 7.3 环境(Condition)
  8. 【matlab选题推荐三】基于MATLAB的答题卡自动阅卷记分系统
  9. vs 2017 配置 boost 库
  10. 云优CMS采集不需要云优CMS授权
  11. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F…' 问题汇总
  12. 简单的猜数字游戏--入门
  13. 华为光猫路由器做交换机用
  14. 厨师 做菜 java_经验丰富的厨师有哪些日常做饭技巧?
  15. 【计算机网络】频带和频段(图解易懂)
  16. ppt太大发不了邮件怎么办?
  17. 浮标水质监测站是什么
  18. eclipse中向svn提交代码冲突的解决
  19. 通过Url访问服务器的文件
  20. 什么是TCP-IP攻击?

热门文章

  1. php html5 播放器,html5实现完美兼容各大浏览器的播放器_html5教程技巧
  2. 字节跳动校招笔试题汇总
  3. Kotlin 笔记 纯属娱乐萌新大佬绕道
  4. 繁荣国家数学教育,坚持“知识共享”许可原则
  5. 神锁离线版插件的安全设计
  6. Cordova--IOS打包问题汇总
  7. 苹果开放降级_iPhone 突然开放降级...
  8. 计算机基本配置实验方案,实验4 计算机配置方案.doc
  9. 2019全年回顾——忙碌的一年
  10. 有人@70后,只差一位【嘚啵嘚】特约评论员啦!