QtCreator如何配置实现应用直接运行在远程Ubuntu桌面目标设备
你遇到的启动失败核心原因是:SSH远程启动程序时,默认不会继承目标设备本地桌面会话的DISPLAY环境变量,导致Qt的XCB平台插件无法连接目标设备自带的X服务器,和你本地直接运行时的环境差异就在这里。需要补充以下4项配置:
- 配置Qt运行环境变量
打开QtCreator侧边栏「项目」选项,进入当前套件的「运行」配置页,找到「环境」配置栏,新增一条变量:DISPLAY=:0
Ubuntu 20.04默认Xorg桌面会话下DISPLAY值为:0,如果目标设备用Wayland会话或者接了多显示器,可在目标设备本地终端执行echo $DISPLAY获取正确值填入即可。 - 放开目标设备X服务器本地访问权限
在目标设备的本地桌面终端执行临时权限放开命令:xhost +local:
如果要永久生效,把这条命令添加到目标设备当前登录用户的~/.xprofile文件末尾,重启后自动生效。 - 确认运行配置的设备选择正确
还是在「运行」配置页,确认「运行设置」中的「设备」选项,确实选中了你提前配置好的远程Generic Linux Device,没有误选本地桌面设备。 - 调整SSH配置(可选,适配无X11转发需求)
如果上述配置后仍不生效,修改目标设备的/etc/ssh/sshd_config文件,添加以下两行配置:
AcceptEnv DISPLAY X11Forwarding no
修改完成后执行sudo systemctl restart sshd重启SSH服务即可,这里特意关闭X11转发,完全符合你不需要转发的需求。
另外日志中提到的「找不到共享库符号」属于调试提示,不影响程序正常运行,仅会限制GDB的系统库断点调试功能,不需要处理也可以正常使用。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

