当我们使用Qt自己写了一个程序的时候,通常都会通过ssh来远程传输到目标机器,然后需要在目标机上运行该程序看效果
但是,我们在终端中,如果直接在ssh中调用程序的启动命令,通常都会报诸如”can not connect to display”值类的错误。这是为什么呢?
我们来看一张图
图片左边的是在终端的ssh连接远程主机的环境下,右图是直接在Ubuntu上的终端环境下
我们看到,两个输出结果不一样,左边打印的显示器环境变量信息为空,右边则打印除了 :0之类的显示器编号信息
猜想,是不是因为这个DISPLAY环境变量导致的”Can not connect to display”呢?
不如我们试试在ssh终端中输入:
~$ export DISPLAY=:0
~$ ./your_executable
我们看到,ssh终端中已经不在报”Can not connect to display”之类的错误了, 是不是说明可以正常启动了呢?
想要验证也很简单,使用vnc viewer 之类的远程桌面工具一看便知道了(当然如果目标机器就在身边,且带有屏幕的话,直接看屏幕就可以了)