Cygwin sshd を実行している Windows ボックスに ssh し、その Windows ボックスで Windows GUI アプリケーションを実行したいと思います。X 転送は不要です。
たとえば、ubuntu-server ターミナルから、sshd を実行している Windows に ssh し、notepad.exe を起動します。notepad.exe は Windows に表示されますが、X ウィンドウのない ubuntu-server には表示されません。
答え1
適切な方法にはいくつかの問題があるようです:
http://cygwin.com/ml/cygwin/2007-10/msg00334.html
'cygrunsrv' に '-i' フラグを指定して 'sshd' を再インストールするか、または「管理ツール」->「サービス」で現在のサービスを編集し、サービスの「プロパティ」の「ログオン」タブで「サービスがデスクトップと対話できるようにする」をチェックします。
そこで、いくつかのハックを試してみました。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"
これで、SSH クライアントから Windows にリモート ログインし、Windows GUI アプリケーションを実行したいときにその画面に接続できるようになりました。
$screen -d -r my_screen
$notepad.exe
$cygstart my_doc.doc
答え2
使用PSツールSSL クライアントから以下のようなコマンドを実行します。
./PsExec.exe -i -d -s \\\\127.0.0.1 notepad
答え3
私のソリューションは Win Myo Htet のソリューションと似ていますが、より柔軟性の高い tmux を使用しています。
ローカル Cygwin ターミナルで tmux を起動します。
cygwin-host$ tmux
ssh を使用して、tmux セッションでホストされているコマンドをリモートで実行します。
other-host$ ssh cygwin-host tmux new-window notepad