Das Ausführen von .exe in WSL funktioniert in Windows selbst, jedoch nicht, wenn eine SSH-Verbindung hergestellt wird.

Das Ausführen von .exe in WSL funktioniert in Windows selbst, jedoch nicht, wenn eine SSH-Verbindung hergestellt wird.

In WSL/Ubuntu konnte ich eine ausführbare Datei wie folgt öffnen/ausführen:

user@desktop: notepad.exe

Dadurch wird der Notizblock geöffnet. Wenn ich mich jedoch von einem anderen Client, z. B. vom iPad, per SSH mit dem WSL in Verbindung setze, wird bei der Eingabe dieses Befehls eine Fehlermeldung angezeigt:

command not found

Irgendeine Idee, warum das so ist? Ist das erreichbar? Danke!

Antwort1

dies ist nicht möglich, da Notepad den Windows-Anzeigeserver verwendet, SSH-Clients jedoch einen X-Server erwarten.

Sie können anstelle von Notepad etwas wie gedit installieren, das die X-Server-Weiterleitung unterstützt.

dann können Sie per SSH auf den Server zugreifen mit

ssh -Y user@host

Antwort2

Versuchen Sie, diesen Befehl zu verwenden, bevor Sie versuchen, das Programm auszuführen

su <username> -

Ich hatte ein ähnliches Problem, als ich versuchte, Powershell oder cmd auszuführen, während ich SSH remote verwendete. Das Ausführen von Powershell direkt aus seinem Ordner führte nur dazu, dass die Sitzung hängen blieb und nicht mehr abgebrochen werden konnte. Das Problem liegt an Ihrer Umgebung.

Antwort3

Mir ist aufgefallen, dass mein Client eingefroren ist, wenn ich SSHD auf einem WSL-System (Host) einrichte und mich von einem Windows 10-System (Client) aus per SSH darauf melde, indem ich den SSH-Befehl im Client-CMD verwende und dann versuche, mithilfe von auf ein Host-CMD zuzugreifen /mnt/c/Windows/System32/cmd.exe.

Aber wenn ich auch auf dem Client eine WSL-Sitzung starte und von dort aus eine Verbindung zum Host herstelle, kommt es nicht zu einem Einfrieren und ich kann auf die Host-Eingabeaufforderung zugreifen.

Es scheint also, dass die Linux-Version (Ubuntu) von OpenSSH funktioniert, die Windows-Version jedoch nicht.

Interessante Tatsache: Wenn Sie wie oben beschrieben cmd-Zugriff auf den Host erhalten und eingeben notepad.exe, wird auf dem Host ein Editor mit einer grafischen Benutzeroberfläche geöffnet.

Antwort4

Wenn Sie den genauen Pfad kennen, können Sie mit „command“ Folgendes ausführen:

command /mnt/c/windows/system32/ipconfig.exe

verwandte Informationen