2009-10-07 104 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

相關問題