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