如何使用QtCreator远程调试图形应用程序?

问题描述 投票:1回答:1

我开发了一个跨平台的Qt应用程序。现在我需要/想要在GUI表单加载的远程主机上运行它。 我知道有两种方法可以做到:

  • 在远程显示器上打开应用程序(可能是虚拟的),控制台通过ssh连接到QtCreator
  • 与远程X会话一起运行,就像使用ssh -X-Y一样。

当我在远程设备上通过QtCreator运行应用程序时,它说

QXcbConnection: Could not connect to display

当我用ssh -Y连接到远程主机并运行我的应用程序时,它说

QXcbConnection: Could not connect to display localhost:10.0
Aborted

在我的本地主机和远程主机上通过VNC应用程序正常工作。

ssh -Y user@host xclock也很好 - 在我的本地显示器上打开它的形式。

主机系统是Ubuntu 16.04 LTS x64,目标系统Ubuntu 16.04 LTS x86 32bit。 Qt版本5.9.1

请帮我把它搞定。在最坏的情况下,我同意看到调试控制台和gdb连接到QtCreator,但GUI仍然可以放在远程显示器上。


更新:这是关于form.qt.io的相关问题。

c++ qt ssh qt-creator
1个回答
0
投票

经过QtCreator社区的一些研究和帮助后,我找到了 方式很简单:

  1. 打开ssh会话到远程主机,启用X转发ssh -X user@host。并了解DISPLAY变量。例如与echo $DISPLAY。它看起来应该像localhost:10.0
  2. 在QtCreator - > Projects - > YourConfiguration - > Run - > RunEnvironment中将环境变量DISPLAY设置为(1)中的已知值。
  3. 在本地计算机上运行并享受使用GUI的远程调试。

注意:关闭ssh会话将使转发显示无法访问且无效。

© www.soinside.com 2019 - 2024. All rights reserved.