Was ist der Unterschied zwischen Windows-Subsystem für Linux und Bash unter Ubuntu unter Windows?

  1. Was ist der Unterschied in Ihren Funktionen? Ist einer von ihnen kompatibler oder etwas anderes? Warum Microsoft sich die Mühe macht, diese beiden zu entwickeln, die identisch aussehen?
  2. Der Speicherort der Datei. Dateien für die Bash unter Ubuntu unter Windows befinden sich in C:\Users\<username>\AppData\Local\lxss, aber wo sind sie für WSL? Es gibt eine Antwort, die behauptet, sie seien bei C:\Users\<username>\AppData\Local\Lxss\rootfs, aber ich finde es leer.
  3. gibt es ein ".exe" für WSL? Für Bash unter Ubuntu unter Windows ist es "C:\Windows\sysnative\bash.exe". Gibt es so etwas für WSL damit ich es in Visual Studio-Code?
Author: Mill, 2017-10-23

2 answers

"Bash on Ubuntu on Windows" basiert auf dem Windows-Subsystem für Linux. WSL ist eine Implementierung von Linux-Systemaufrufen auf dem Windows-NT-Kernel, mit denen Sie Linux-ausführbare Dateien unverändert ausführen können (wie Wine für Ubuntu). "Bash auf Ubuntu unter Windows" ist nur eine Anwendung von WSL. Andere Linux-Distributionen wie openSUSE oder Fedora sind entweder verfügbar oder werden in Kürze verfügbar sein.

Es gibt "exe" s für WSL. Ursprünglich gab es bash.exe, dann kam wsl.exe, und jetzt es gibt ubuntu.exe und openSUSE-42.exe. Vermutlich wird fedora.exe bald erscheinen. Aus dem MSDN-Beitrag Verwalten Sie mehrere Linux-Distributionen in WSL:

Es gibt drei Möglichkeiten, WSL zu starten und auszuführen:

  • wsl.exe oder bash.exe
  • wsl -c [command] oder bash -c [command]
  • [distro], dh ubuntu - dies ist dasselbe wie das Starten der installierten App über das Windows-Menü.

In den ersten beiden Fällen muss WSL eine Distribution auswählen, um - a auszuführen standardverteilung. Wenn Sie setzen Sie nicht explizit einen Standard, es wird seien Sie der erste installierte.

Wo sich die Dateien für WSL befinden, hängt von der Distribution ab, jetzt, da sie Apps sind, die von the store installiert wurden:

Jede Distribution, die Sie über den Store installieren, ist darauf installiert appdata Verzeichnis der Anwendung. Beispielsweise: C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

 14
Author: muru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-10-23 14:54:04

Gegraben, um diese zu finden, hoffe das hilft

Von Microsoft -

Https://docs.microsoft.com/en-us/windows/wsl/wsl-config#managing-multiple-linux-distributions-in-earlier-windows-versions

Verfügbar in Windows-Build 17092 (version 1903) und vor

In Windows 10 vor version 1903 die WSL Config (wslconfig.exe) Befehlszeilentool sollte verwendet werden, um Linux-Distributionen zu verwalten, die auf dem Windows-Subsystem für Linux ausgeführt werden (WSL). Sie können verfügbare Distributionen auflisten, eine Standardverteilung festlegen und Distributionen deinstallieren.

Um Verteilungen aufzulisten, verwenden Sie:

wslconfig /list Listet verfügbare Linux-Distributionen auf, die für WSL verfügbar sind. Wenn eine Distribution aufgelistet ist, ist sie installiert und einsatzbereit.

wslconfig /list /all Listet alle Distributionen auf, einschließlich derjenigen, die derzeit nicht verwendet werden können. Sie können gerade installiert, deinstalliert werden oder sich in einem defekten Zustand befinden.

Um eine Standardverteilung festzulegen, die wird ausgeführt, wenn Sie wsl in einer Befehlszeile ausführen:

wslconfig /setdefault <DistributionName> Setzt die Standardverteilung auf .

Beispiel: (mit PowerShell) wslconfig /setdefault Ubuntu würde meine Standarddistribution auf Ubuntu setzen. Wenn ich jetzt wsl npm init ausführe, wird es in Ubuntu ausgeführt. Wenn ich wsl starte, wird eine Ubuntu-Sitzung geöffnet.

Um die Registrierung aufzuheben und eine Distribution neu zu installieren:

wslconfig /unregister <DistributionName> Die Registrierung der Distribution von WSL wird aufgehoben, damit sie neu installiert oder bereinigt werden kann.

Zum Beispiel: wslconfig /unregister Ubuntu würde Ubuntu aus dem distributionen in WSL verfügbar. Wenn ich wslconfig /list ausführe, wird es nicht aufgelistet.

Verfügbar in Windows-Build 17093 und später

Konfigurieren Sie die Einstellungen für den Distro-Start mit wslconf

Konfigurieren Sie automatisch bestimmte Funktionen in WSL, die bei jedem Start des Subsystems mit wsl angewendet werden.conf.

Im Moment umfasst dies Automount-Optionen und Netzwerkkonfiguration.

Wsl.conf befindet sich in jeder Linux-distribution in /etc/wsl.conf. Wenn die datei ist nicht da, Sie können es selbst erstellen. WSL erkennt die Existenz der Datei und liest deren Inhalt. Wenn die Datei fehlt oder fehlerhaft ist (dh unsachgemäße Markup-Formatierung), wird WSL wie gewohnt gestartet.

 -1
Author: Talador12,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-31 14:51:15