Starting Windows GUI program in Windows through Cygwin sshd from ssh client

cygwin;sshsshdwindow

I would like to ssh into my Windows box running Cygwin sshd and run the Windows GUI application in that Windows box. I don't want X forwarding.

e.g. From ubuntu-server terminal, I ssh into Windows running sshd and then I launch a notepad.exe. The notepad.exe will display in Windows, not in ubuntu-server without X windows.

Best Answer

The proper method seems to have some issue:

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

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

Reinstall 'sshd' specifying the '-i' flag to 'cygrunsrv' or edit the current service under "Administrative Tools"->"Services" and check "Allow service to interact with desktop" in the "Log On" tab of the service's "Properties".

So I try some hack. I create a cygwin_screen.cmd and put it in the Windows Startup folder.

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

start_screen.sh is simple and it will make sure that we have the screen to attach to.

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

Now I can remote login to Windows from ssh client and attach to that screen when I want to run the Windows GUI application.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc
Related Question