我正在远程调试qt应用程序从一台ubuntu机器到另一台ubuntu机器。 我可以通过控制台执行以下操作:
root@eclipsePC# sudo ssh apppcIP -X
root@appPC# export DISPLAY=:0.0
root@appPC# gdb myApplication
现在我正在尝试使用Eclipse cdt(使用sudo启动eclipse)。我已将远程连接定义为Linux类型系统。它适用于没有图形的应用程序,但对于我的qt应用程序,我得到:
侦听端口2345从主机“myEclipseIP”进行远程调试
myApp:无法连接到X服务器
退出状态为1的孩子
GDBserver退出注销
我已经尝试过了
root@appPC# xhost +
root@appPC# export DISPLAY=:ECLIPSEPCIP:0.0
但它不起作用。谁知道怎么做? 感谢
我在调试配置中添加了参数-display ECLIPSEPCIP:0.0,现在它启动了,但是在appPC中而不是主机ECLIPSEPC。
答案 0 :(得分:1)
您可以使用ssh配置文件强制执行ssh X11转发:
将以下行添加到 $ HOME / .ssh / config:
Host apppcIP
ForwardX11 yes
我想在eclipse中也应该有一个选项来为ssh连接配置-X
,但我不确定并且没有用于测试的eclipse。但是,无论eclipse的功能集如何,上面显示的解决方案都能正常工作。
此外,你不应该以root用户身份启动eclipse,root用户也应该将ssh连接视为不安全。确保常规用户可以连接到远程主机并在那里执行必要的命令。