

勾选后,你再次进入shell(重连ssh),echo $DISPLAY 会发现变量已经被定义了。下面用xshell为例。
如果没有DISPLAY变量还是空,则配置sshd_config文件。如下图打开x11转发:
/etc/ssh/sshd_config文件 如果画框为no改为yes

sudo service ssh restart 重启sshd服务
再次通过xshell连接linux目标。就可得到如下的图:(如未得到,多检查,多学习)

图中画框的tcp就是转发出来的x11链接,你如果再开一个ssh链接,你会发现DISPLAY变量又变了:

这个时候你在xshell终端中输入任何一个gui 程序,会弹出如下框,安装好后,就可以正常显示GUI界面了。

xmanager是收钱的,我这里用另外一个MobaXterm但是道理都是一样的。

其实这里的更新内容,在我翻译的那段文字里面有,只是不知道多少人看了!!!!哎!!!
一句话来说,对于桌面是由x服务的图形系统来说,只有设置了DISPLAY变量,才能够让GUI程序正常的显示起来。
对于我们经常进入的桌面,然后开一个terminal,你会发现,DISPLAY已经被自动设置了。所以才没有问题。而对于我们进的不是桌面terminal来说,DISPLAY变量是没有设置的。需要我们手动设置,GUI程序才能够正常启动。
2019/09/26更新,如果无法正常显示, xserver安全访问系统可能会阻止你访问xserver,当设置了正确的DISPLAY变量后无法显示,请尝试xhost 命令解除访问控制。
#PS:请尊重原创,不喜勿喷
有问题请留言,看到后我会第一时间回复
Linux DISPLAY环境变量的妙用(error:QXcbConnection: Could not connect to display) ,xhost 命令, 通过ssh连接显示界面
xhost命令是X服务器的访问控制工具,用来控制哪些X客户端能够在X服务器上显示。
运行xhost命令时要求启动本地X-window的图形界面后,在图形界面下的命令行中输入。
语法格式:xhost [参数]
常用参数:
关闭访问授权,允许任何主机访问本地X服务器
打开访问授权,仅允许授权清单中的主机访问本地X服务器
允许指定的主机访问本地X服务器
禁止指定的主机访问本地X服务器
显示当前X服务器的授权配置:
[root@linuxcool ~]# xhost
添加授权ip访问x服务器:
[root@linuxcool ~]# xhost + 1
1. dbvis no x11 display variable was set but this program performed an operation which requires it
solution: export DISPLAY=localhost:0.0
环境变量DISPLAY用来设置将图形显示到何处。
直接登陆图形界面或者登陆命令行界面后使用startx启动图形, DISPLAY环境变量将自动设置为:0:0
DISPLAY 环境变量格式如下host:NumA.NumB,
host指Xserver所在的主机主机名或者ip地址, 图形将显示在
困扰了几个月的问题解决啦
参考链接:
1、https://blog.csdn.net/u011728480/article/details/66974510?locationNum=9&fps=1
2、https://stackoverflow.com/questions/39478208/qxcbconnection-could-not-connect-to-display-when-t...
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.
解决方案很简单:
export DISPLAY=':0.0'