Cygwin sshd를 실행하는 Windows 상자에 ssh를 연결하고 해당 Windows 상자에서 Windows GUI 응용 프로그램을 실행하고 싶습니다. 나는 X 전달을 원하지 않습니다.
예를 들어 ubuntu-server 터미널에서 sshd를 실행하는 Windows에 ssh를 접속한 다음 notepad.exe를 실행합니다. notepad.exe는 X 창이 없는 ubuntu-server가 아닌 Windows에 표시됩니다.
답변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
사용PSToolsSSL 클라이언트에서 아래와 같은 명령을 실행합니다.
./PsExec.exe -i -d -s \\\\127.0.0.1 notepad
답변3
내 솔루션은 유연성이 더 뛰어난 tmux를 사용한다는 점을 제외하면 Win Myo Htet의 솔루션과 유사합니다.
로컬 Cygwin 터미널에서 tmux를 시작합니다.
cygwin-host$ tmux
ssh를 사용하여 tmux 세션에서 호스팅되는 명령을 원격으로 실행하세요.
other-host$ ssh cygwin-host tmux new-window notepad