在Windows上运行Linux机器上的GTK +应用程序

时间:2009-10-07 08:05:49

标签: gtk x11

我在Linux机器上安装了GTK。 我从Telnet会话连接到Linux机器以编译GTK程序 从Windows机器。我在Windows机器上使用Cygwin。但我无法看到 我的Windows机器上的GTK程序的GUI输出。

当我从终端运行程序时,我收到此错误:

(helloworld:22576): Gtk-WARNING **: cannot open display:

我尝试了每个答案的解决方案,但现在没有用,我收到了以下错误:

$ ./helloworld
Invalid MIT-MAGIC-COOKIE-1 key
(helloworld:22710): Gtk-WARNING **: cannot open display: 172.25.0.161:0

我在Cygwin控制台上遇到以下错误:

client 6 rejected from IP 172.25.0.91 Auth name: MIT-MAGIC-COOKIE-1 ID: -1

4 个答案:

答案 0 :(得分:2)

您必须将telnet会话中的DISPLAY变量设置为Windows计算机的IP地址或DNS名称,并附加“:0”

export DISPLAY=windows.your.domain:0

你必须在Windows机器上启动X服务器(Cygwin附带但你必须启动它)。

答案 1 :(得分:2)

您需要在Windows框中运行X window system(使用Cygwin安装)并启用远程连接(可能使用xhost)。将Linux-box上的DISPLAY-variable设置为Windows框的地址,然后:0,如下:

export DISPLAY=192.168.1.123:0

出于安全原因,我建议使用ssh而不是telnet。在这种情况下,您不需要启用与xhost的远程连接,也不需要设置DISPLAY变量。您只需启用X forwarding

答案 2 :(得分:1)

您应该在Windows机器上安装X-server,并确保将DISPLAY设置为yourmachine:0或类似的东西。或者更好的是使用ssh而不是telnet(例如putty)并隧道你的X连接。但是,你必须对自己的研究做一些研究,因为完整的答案会很长。

答案 3 :(得分:1)

在Windows XMing32上安装小型X服务器,然后运行它,使用putty作为控制台客户端,并在Connection-> SSH-> X11中检查“X11 Forwarding”。

不幸的是,X11 Forwarding无法通过Telnet运行,您必须在目标Linux上运行SSH服务器并通过SSH连接。 (查看/etc/ssh/sshd_conf是否还需要启用X11转发。)