2009-10-07 162 views
2

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

当我从终端运行程序我得到这个错误:

(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 
+0

Google再次下降?不开心的一天。 ( – Bombe

+0

)这很混乱,请解释清楚你想做什么,你想通过Cygwin在Windows上运行一个GTK程序吗?这台Linux机器与它有什么关系? – Jesper

+0

我试过每个答案,但现在没有用我收到以下错误 $ ./helloworld 无效MIT-MAGIC-COOKIE-1键 (的HelloWorld:22710):GTK的WARNING **:无法打开显示:172.25.0.161:0 – User7723337

回答

2

您必须设置DISPLAY变量i n您的telnet会话到您的Windows计算机的IP地址或DNS名称并追加“0”

export DISPLAY=windows.your.domain:0 

而且你必须启动Windows机器上的X服务器(带有Cygwin的,但你必须启动它)。

1

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

2

您需要在Windows机器上运行X window system(使用Cygwin安装)并启用远程连接(可能与xhost)。在你的Linux中的显示变量设置为您的Windows的框和地址:0,因为这样的:

export DISPLAY=192.168.1.123:0 

我可以推荐使用ssh而不是远程登录,出于安全原因。在这种情况下,您不需要启用与xhost的远程连接,并且不需要设置DISPLAY变量。您只需启用X forwarding即可。

1

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

不幸的是,X11无法通过Telnet进行转发,必须在目标Linux上运行SSH服务器并通过SSH连接。 (请参阅/etc/ssh/sshd_conf也需要启用X11转发)。

+0

谢谢我忘了将X11转发标志设置为true。 我工作过! – User7723337

相关问题