我正在远程调试从一台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连接也被认为是不安全的。确保普通用户可以连接到远程主机并在那里执行必要的命令。