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

How to remotely debug graphic application with QtCreator?

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

当我 运行 通过远程设备上的 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 32 位。 Qt 版本 5.9.1

请帮助我让它工作。在最坏的情况下,我同意在 QtCreator 中看到调试控制台并 gdb 附加到 QtCreator,但 GUI 仍然可以放在远程显示器上。


更新: 这是关于 form.qt.io.

的相关问题

经过 QtCreator 社区的一些研究和帮助,我发现
方法很简单:

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

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