Führen Sie die Windows-App von Ubuntu unter Windows aus

0

Ich verwende bash unter Ubuntu unter Windows. Ich navigiere zu einem Ordner und von dort möchte ich eine Datei in einem Windows-Programm öffnen.

Zum Beispiel: Nach der Eingabe

cd \mnt\c\Users\myusername\Desktop
notepad index.php

Ich möchte, dass Notepad unter Windows die Datei öffnet index.php von meinem Desktop aus.

Ist das möglich? Wenn nicht, kann ein Programm erstellt werden, das dies ermöglicht? Wie gehen wir vor?

Draex_
quelle

Antworten:

1

Heute kannst du das Windows-Anwendungen von WSL aufrufen sowohl von Linux-Skripten als auch von der Konsole.

  • Ab Windows 10 Build 17063+ können sowohl Linux als auch Windows Umgebungsvariablen gemeinsam nutzen.
  • Standardmäßig teilt Windows das PATH. Wenn die notepad Befindet sich im Windows-Pfad, können Sie es in Linux ausführen, indem Sie das Programm in der Befehlszeile aufrufen.
  • Du darfst steuern, welche Variablen von Windows und Linux gemeinsam genutzt werden . Da ist ein WSLENV Variable, die definiert, wie die Variablen gemeinsam genutzt werden.

Beachten Sie, dass Das Ändern von Linux-Dateien unter Windows kann zu Fehlern beim Aktualisieren der Berechtigungen und anderer Metadaten führen . Die Dateiberechtigungen von Linux werden als gespeichert Streams (Metadaten) in den NTFS-Dateien. Windows-Programme können diese Daten überschreiben (oder beschädigen), ohne es zu bemerken.

  • Microsoft empfiehlt, freigegebene Dateien im Windows-Dateisystem zu speichern und beispielsweise symbolische Links von Linux zu erstellen.
  • Sie können Lösungen und Problemumgehungen im überprüfen WSL-Ausgabenbericht
Jaime
quelle
1

Das könnte möglich sein:

  1. Definieren Sie einen Alias ​​oder eine Funktion in Ihrem ~/.bash_aliases oder ~/.bashrczu einem Befehlsnamen wie win oder windows.

  2. Wenn Sie unseren neuen Befehl eingeben, wird eine Textdatei in einem Ordner erstellt, auf den Windows zugreifen kann.

  3. Erstellen Sie ein Batch-Skript, das im Hintergrund ausgeführt wird. Dieses Skript würde den Befehl in der Textdatei ausführen (die Argumente unseres neu erstellten Befehls würden zu dieser Datei umleiten), wenn er erstellt wurde, und dann gelöscht.

Ich habe das Update nicht, daher kann ich die Skripts momentan nicht bereitstellen.

simplegamer
quelle
0

Ich denke nicht, dass das möglich ist.
Bash unter Ubuntu unter Windows ist keine Windows-Befehlszeile und kann daher keine Windows-Befehle erkennen.
Versuchen nano index.php stattdessen.

Wenn Sie jedoch eine GUI möchten, können Sie XMing Server unter Windows installieren und ausführen. export DISPLAY=localhost:0.0und installieren Sie gedit. So kann es mit einer GUI ausgeführt werden. Es wird aber immer noch nicht notepad.exe sein. Dies ist erst möglich, wenn wir Zugriff auf die Dateien des Subsystems finden.

Eine andere Möglichkeit ist, die Datei auf Ihr Laufwerk C zu kopieren und von Windows darauf zuzugreifen. Versuchen Sie dazu etwas cp index.php /mnt/c

Konstantinos Kamaropoulos
quelle