Запуск приложения GTK+ на компьютере с Linux из Windows

Я установил GTK на машину с Linux. Я подключаюсь к машине Linux из сеанса Telnet для компиляции программ GTK с машины Windows. Я использую Cygwin на машине Windows. но я не могу видеть вывод графического интерфейса моей программы GTK на моем компьютере с Windows.

Когда я запускаю программу с моего терминала, я получаю эту ошибку:

(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

person User7723337    schedule 07.10.2009    source источник
comment
Google снова не работает? Печальный день. :(   -  person Bombe    schedule 07.10.2009
comment
Это очень сбивает с толку. Пожалуйста, объясните четко, что вы хотите сделать. Вы хотите запустить программу GTK в Windows через Cygwin? При чем тут линуксовая машина?   -  person Jesper    schedule 07.10.2009
comment
Я пробовал каждый ответ, но бесполезно, теперь я получаю следующую ошибку. $ ./helloworld Недопустимый ключ MIT-MAGIC-COOKIE-1 (helloworld:22710): Gtk-WARNING **: невозможно открыть дисплей: 172.25.0.161:0   -  person User7723337    schedule 07.10.2009
comment
Бомба -- я думаю, что каждый должен задать вам вопрос, прежде чем задавать вопрос. Почему бы вам просто не держаться подальше от вопросов, которые вас не касаются!.... Никто не просил вас комментировать или публиковать этот вопрос, так что просто держитесь на расстоянии!   -  person User7723337    schedule 07.10.2009


Ответы (4)


Вы должны установить переменную DISPLAY в вашем сеансе telnet на IP-адрес или DNS-имя вашего компьютера с Windows и добавить «: 0»

export DISPLAY=windows.your.domain:0

И вы должны запустить X-сервер на машине с Windows (поставляется с Cygwin, но вы должны запустить его).

person Aaron Digulla    schedule 07.10.2009

Вам необходимо запустить систему X Window (установить с помощью Cygwin) на вашем компьютере с Windows. и разрешить удаленные подключения (возможно, через xhost). Установите переменную DISPLAY на вашем Linux-боксе на адрес вашего Windows-бокса и :0, как таковой:

export DISPLAY=192.168.1.123:0

Я могу порекомендовать использовать ssh вместо telnet из соображений безопасности. В этом случае вам не нужно разрешать удаленные соединения с xhost, и вам не нужно устанавливать переменную DISPLAY. Вам нужно только включить пересылку X.

person Magnus Hoff    schedule 07.10.2009

Вы должны установить X-сервер на свой компьютер с Windows и убедиться, что для параметра DISPLAY установлено значение yourmachine:0 или что-то в этом роде. Или, что еще лучше, используйте ssh вместо telnet (например, шпатлевку) и туннелируйте свое X-соединение. Тем не менее, вам придется провести небольшое собственное исследование, потому что полный ответ будет длинным.

person Michael Krelin - hacker    schedule 07.10.2009

Установите небольшой X-сервер в Windows XMing32, затем запустите его, используя putty в качестве консольного клиента и установите флажок «Пересылка X11» в Connection->SSH->X11.

К сожалению, переадресация X11 недоступна через Telnet, вы должны запустить SSH-сервер на целевом Linux и подключиться через SSH. (Посмотрите, не требует ли /etc/ssh/sshd_conf также включения переадресации X11).

person Vlagged    schedule 07.10.2009
comment
спасибо, я забыл установить флаг переадресации X11 в значение true. Я работал! - person User7723337; 07.10.2009