Raspberry PI远程调试GTK错误

Raspberry PI remote debug GTK error

我在我的 Win7 机器上使用 NetBeans IDE 8.0.2 来开发 Raspberry Pi opencv C++ 应用程序。 我正在通过我的 Win7 机器在 Raspberry Pi 上远程构建和调试应用程序。

在 运行 时,应用程序在到达行时失败并出现 "Gtk-WARNING **: cannot open display:" 错误:

imshow("source", src);

当我运行从 Raspberry Pi 连接完全相同的应用程序而不是通过 SSH 远程时,一切都按预期工作。

有什么方法可以配置 NetBeans 在 Raspberry Pi 打开 GTK windows?

我实际上还没有在 Rasberry Pi 上尝试过,但假设它与其他 linux 系统一样,也许这会让您入门。

要在您的 windows 系统上显示 Gtk 程序,Windows 操作系统需要 X Windows 版本(linux/unix 图形服务器)。您可以将其作为 Cygwin 中的软件包之一获取。 (http://x.cygwin.com/) Get cygwin https://cygwin.com/index.html 在安装过程中 select xinit 包。您还需要在 ssh 中启用端口转发或将 Rasberry Pi 上的 DISPLAY 变量设置为您的 windows host:0。

要让 Gtk 程序在从 Windows 启动时显示在 Rasberry Pi 上,您只需要允许远程主机打开 windows。

尝试命令:

xhost +

在 Rasberry Pi shell 中尝试从 windows 启动程序之前。

另一种选择是使用 gdbserver 在 Rasberry Pi 上启动程序,然后使用 Netbeans 附加到已经 运行 的程序。 您需要为 Netbeans 安装 gdbserver 插件。

让 X window 管理器在 Windows 上工作的替代方法是在两台机器上获得远程桌面 运行ning。 VNC 是一个流行的客户端和服务器。这将允许您 运行 Netbeans 的 window 并使用该系统,就好像它是来自另一个位置的桌面一样。

这里甚至还有专门针对 Raspberry pi 的下载:

https://www.realvnc.com/download/vnc/latest/

解决方法是添加DISPLAY=:0环境变量

文件菜单select项目属性(您的项目名称)打开项目属性window。 在 Categories: 点击 运行 然后点击 Environment,添加变量名 DISPLAY 值为 :0

祝你好运