Starten des Windows-GUI-Programms in Windows über Cygwin sshd vom SSH-Client

Starten des Windows-GUI-Programms in Windows über Cygwin sshd vom SSH-Client

Ich möchte per SSH auf meinen Windows-Rechner zugreifen, auf dem Cygwin sshd läuft, und die Windows-GUI-Anwendung in diesem Windows-Rechner ausführen. Ich möchte keine X-Weiterleitung.

Beispiel: Vom Ubuntu-Server-Terminal aus melde ich mich per SSH bei Windows an, führe SSHD aus und starte dann eine Datei „notepad.exe“. Die Datei „notepad.exe“ wird in Windows angezeigt, nicht jedoch in einem Ubuntu-Server ohne X Windows.

Antwort1

Mit der richtigen Methode scheint es ein Problem zu geben:

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

Installieren Sie „sshd“ neu, indem Sie das Flag „-i“ für „cygrunsrv“ angeben, oder bearbeiten Sie den aktuellen Dienst unter „Verwaltung“ -> „Dienste“ und aktivieren Sie „Dienst darf mit Desktop interagieren“ auf der Registerkarte „Anmelden“ der „Eigenschaften“ des Dienstes.

Also versuche ich es mit einem Hack. Ich erstelle eine Datei cygwin_screen.cmd und lege sie in den Windows-Startordner.

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

start_screen.sh ist einfach und stellt sicher, dass wir den Bildschirm zum Anhängen haben.

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

Jetzt kann ich mich per Remote-Zugriff vom SSH-Client aus bei Windows anmelden und eine Verbindung zu diesem Bildschirm herstellen, wenn ich die Windows-GUI-Anwendung ausführen möchte.

$screen -d -r my_screen

$notepad.exe
$cygstart my_doc.doc

Antwort2

VerwendenPSToolsund führen Sie den Befehl wie unten vom SSL-Client aus. ./PsExec.exe -i -d -s \\\\127.0.0.1 notepad

Antwort3

Meine Lösung ähnelt der von Win Myo Htet, verwendet jedoch tmux, das flexibler ist.

  1. Starten Sie tmux auf einem lokalen Cygwin-Terminal.

    cygwin-host$ tmux

  2. Verwenden Sie SSH, um den Befehl remote auszuführen, gehostet in der Tmux-Sitzung.

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

verwandte Informationen