Linux в основном в среде разработчиков Windows

8

Немного предыстории: в нашем магазине традиционно работает программный стек Microsoft, но теперь мы планируем использовать встроенный Linux, и я оказываюсь в роли Колумба: покорить новый мир. Я упоминаю об этом, потому что это означает, что мне не хватает контекста, чтобы интерпретировать то, что вы думаете, является простым ответом. Если вы сможете объяснить вещи в сравнении с тем, как работает Windows, это очень поможет пониманию.

Если я правильно понял идею X-Windows, приложение является X-клиентом, и оконные API-интерфейсы отправляют / получают сообщения пользовательского интерфейса на X-сервер через сокет TCP (отправляет команды рисования окон на X-сервер и получает мышь и сообщения клавиатуры деятельности от него).

Насколько я понимаю, использование сокетов означает, что код приложения может выполняться на одном Unix-модуле, в то время как пользовательский интерфейс работает на X-сервере, выполняющемся на (например) любом из

  • тот же компьютер
  • другой Unix-сервер с X-сервером в той же сети
  • Windows-бокс 'W' с запущенным X-сервером в той же сети
  • Любой компьютер с X-сервером в любом месте в Интернете, при условии, что брандмауэры и маршрутизация соответствующим образом настроены, чтобы разрешить необходимые сокеты.

На моем столе у ​​меня хост Linux Mint13, использующий рабочий стол Cinnamon с именем ForwardUntoDawn . Он подключен к моей сети 192.168.174 как 35, а мой Win7 находится в той же сети, что и 11. Они могут пинговать друг друга, и SAMBA позволяет обмениваться файлами между ними. Я установил telnetd и sshd на ForwardUntoDawn, и я могу установить из Win7 сеансы telnet и ssh и выполнить аутентификацию для получения командной строки.

В моей системе Win7 у меня установлен Xming с иконками рабочего стола Xming и Xlaunch. Запустив Xlaunch, я отвечаю на запросы так:

  • Несколько окон / дисплей 0
  • Запустите программу: gimp Используя SSH (C: \ Cygwin \ bin \ SSH.exe)
  • Буфер обмена да, нет сервера шрифтов или параметров

Это на мгновение приводит к появлению черного командного окна, но оно исчезает, прежде чем я могу прочитать сообщение.

Кто-нибудь может подсказать мне о следующих шагах или более подходящих ответах на потребности Синмин? (Я выбрал gimp только потому, что знаю, что он установлен и работает.)

Обратите внимание, что для использования приведенного ниже ответа также прочитайте комментарии и ПРИМЕЧАНИЕ. Чтобы запустить его, вы должны запустить cygwin xserver с помощью cygwin \ bin \ startxwin.exe. Я полагаю, это инициализирует несколько переменных среды.


Я не заканчивал тем, что использовал Xming. После того, как я установил настройки ssh прямо на Linux-машине и успешно использовал инструменты Cygwin, у меня была другая возможность использовать Xming. Приложения, запущенные с использованием Xlaunch, запускаются, но затем внезапно исчезают. Проблема не возникала при использовании строго инструментов Cygwin.

Питер Воне
источник

Ответы:

3

Я не знаю, какие настройки по умолчанию для SSH.EXE в cygwin, но для openssh по умолчанию не разрешается пересылка X11.

Это значение по умолчанию может быть изменено путем изменения файла конфигурации клиента ssh (например, ~ / .ssh / config в окне unix / linux) или с помощью -Xпараметра в командной строке ssh - например,ssh -X remotehost gimp

Возможно, стоит проверить, имеет ли cygwin SSH.exe ту же настройку по умолчанию и / или такую ​​же или похожую опцию.

Кстати, что происходит, когда вы ssh в поле Mint, а затем запускаете gimpиз командной строки? если это не работает, попробуйте еще раз -X.

Наконец, вы можете попробовать замазку в качестве своего ssh-клиента в окне windows.

саз
источник
Когда я запускаю ssh в поле Mint, а затем запускаю gimp из командной строки, появляется сообщение об ошибке: Не удается открыть дисплей:
Питер Воне
Хорошо, это говорит о том, что вам нужно включить пересылку X11 через ваше соединение ssh. С openssh вы используете -Xв командной строке ssh. Это вероятно то же самое или похожее на Cygwin SSH. Следующий URL указывает на то, что он почти идентичен: x.cygwin.com/docs/ug/using-remote-apps.html
саз
Когда я делаю то же самое из командной строки «ssh -l mylogin -X 192.168.174.35 gimp», я получаю то же самое, за исключением того, что в нем нет префикса «Ошибка:
Peter Wone
Кроме того, /etc/ssh/sshd_configустановите флажок «Монетный двор» и убедитесь, что переадресация X11 разрешена сX11Forwarding yes
cas
Включив пересылку X11, я делаю это на коробке, где работает X-сервер (Win7) или где работает клиент (gimp на Mint13)?
Питер Воне