Запуск программы Windows GUI в Windows через Cygwin sshd из ssh клиента


10

Я хотел бы зайти в мой Windows-бокс под управлением Cygwin sshd и запустить приложение Windows GUI в этом Windows-боксе. Я не хочу пересылку X

Например, из терминала Ubuntu-сервера я запускаю ssh в Windows и запускаю notepad.exe. Notepad.exe будет отображаться в Windows, а не в Ubuntu-сервере без X Windows.

Ответы:


12

Правильный метод, кажется, имеет некоторые проблемы:

http://cygwin.1069669.n5.nabble.com/Windows-GUI-programs-eg-notepad-start-but-are-invisible-after-ssh-login-td56256.html

http://cygwin.com/ml/cygwin/2007-10/msg00334.html

Переустановите 'sshd', указав флаг '-i' в 'cygrunsrv', или отредактируйте текущую службу в разделе "Администрирование" -> "Службы" и установите флажок "Разрешить службе взаимодействовать с рабочим столом" на вкладке "Вход в систему" службы. «Свойства».

Поэтому я попробую взломать. Я создаю cygwin_screen.cmd и помещаю его в папку автозагрузки Windows.

@echo off 
C:
chdir C:\cygwin\bin
bash --login -i "/home/username/bin/start_screen.sh"

start_screen.sh прост, и он позаботится о том, чтобы у нас был экран для прикрепления.

#!/bin/bash
screen -dmS "my_screen"

Теперь я могу удаленно войти в Windows из ssh-клиента и подключиться к этому экрану, когда я хочу запустить приложение Windows GUI.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Это решение работает для меня, но когда я снова отсоединяюсь, клиентский экран зависает. Я должен Ctrl-Z, и убить процесс. Создание демона в одном контексте (в окне Windows) и присоединение из другого (логин ssh), кажется, создает эту проблему. Создание и последующее подключение из моего ssh-соединения не вызывает конфликта.
Тим Рупе


0

Мое решение аналогично Win Myo Htet, за исключением того, что оно использует tmux, который обладает большей гибкостью.

  1. Запустите tmux на локальном терминале Cygwin.

    cygwin-host$ tmux

  2. Используйте ssh для удаленного запуска команды, размещенной в сеансе tmux.

    other-host$ ssh cygwin-host tmux new-window notepad

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.