我正在远程调试从一台ubuntu计算机到另一台ubuntu计算机的qt应用程序。
我可以从控制台通过以下方式完成:

root@eclipsePC# sudo ssh apppcIP -X
root@appPC# export DISPLAY=:0.0
root@appPC# gdb myApplication

现在,我尝试对eclipse cdt(从sudo开始eclipse)做同样的事情。我将远程连接定义为linux类型的系统。它适用于没有图形的应用程序,但对于我的qt应用程序,我得到:
从主机“myeclipseip”监听端口2345远程调试
MyApp:无法连接到X服务器
退出状态1的儿童
退出注销的GDPServer
我试过了
root@appPC# xhost +
root@appPC# export DISPLAY=:ECLIPSEPCIP:0.0

但没用。有人知道怎么做吗?
谢谢
我已经在调试配置中添加了参数-display eclipseepcip:0.0,现在它启动了,但是在apppc中,而不是在主机eclipseepc中。

最佳答案

您可以使用ssh配置文件强制执行ssh x11转发:
在$home/.ssh/config中添加以下行:

Host apppcIP
  ForwardX11 yes

我想eclipse中也应该有一个选项来配置ssh连接的-X,但是我不确定,也没有eclipse可供测试。但是,无论eclipse的特性集是什么,上面显示的解决方案都可以工作。
此外,您不应该以根启动eclipse,根到根的ssh连接也被认为是不安全的。确保普通用户可以连接到远程主机并在那里执行必要的命令。

07-25 20:38