7Sep
Die Bash-Shell von Windows 10 unterstützt offiziell keine grafischen Linux-Desktop-Anwendungen. Laut Microsoft ist diese Funktion nur für Entwickler gedacht, die Linux-Terminal-Dienstprogramme ausführen möchten. Das zugrundeliegende "Windows Subsystem for Linux" ist jedoch leistungsfähiger als Microsoft es zulässt.
Es ist möglich, grafische Linux-Anwendungen in Windows 10 auszuführen, aber bedenken Sie, dass dies nicht offiziell unterstützt wird. Nicht jede Linux-Software funktioniert, und grafische Anwendungen sind noch komplexer und weniger getestet. Diese sollten jedoch im Laufe der Zeit stabiler werden, da Microsoft das zugrunde liegende Windows-Subsystem für Linux verbessert.
Die Bash-Shell von Windows 10 unterstützt nur 64-Bit-Binärdateien, sodass Sie keine 32-Bit-Linux-Software installieren und ausführen können.
So funktioniert
Lassen Sie uns zuerst genau ausführen, wie das funktioniert, damit Sie etwas verstehenWir machen hier.
Windows 10 enthält ein zugrunde liegendes "Windows-Subsystem für Linux", mit dem Windows 10 Linux-Software ausführen kann, indem Linux-Systemaufrufe in Windows-Systemaufrufe übersetzt werden.
Wenn Sie das Programm bash.exe ausführen, lädt es ein vollständiges Ubuntu-Benutzerspeicherabbild auf Ihrem Computer herunter und installiert es. Dies beinhaltet genau dieselben Binaries - oder Anwendungen - die auf Ubuntu laufen würden. Die "Bash on Ubuntu on Windows" -Umgebung funktioniert dank dem zugrunde liegenden Windows-Subsystem für Linux.
Microsoft möchte keine Zeit mit der Arbeit an grafischer Software verbringen, da diese Funktion für Befehlszeilen-Entwicklerwerkzeuge gedacht ist. Der wichtigste technische Grund, warum grafische Anwendungen nicht unterstützt werden, ist, dass sie einen "X-Server" benötigen, um diese grafische Oberfläche bereitzustellen. Auf einem typischen Linux-Desktop wird dieser "X-Server" beim Booten des Computers automatisch angezeigt, und der gesamte Desktop und die von Ihnen verwendeten Anwendungen werden gerendert.
Versuchen Sie jedoch, eine grafische Anwendung von Bash unter Windows zu öffnen, und es wird sich beschweren, dass es eine Anzeige nicht öffnen kann.
Es gibt jedoch X-Server-Anwendungen, die Sie auf einem Windows-Desktop installieren können. In der Regel werden diese verwendet, um Linux-Anwendungen auf anderen Computern zu rendern - das "X11" -Protokoll ist ziemlich alt und wurde mit der Fähigkeit entwickelt, über eine Netzwerkverbindung ausgeführt zu werden.
Wenn Sie eine X-Server-Anwendung auf Ihrem Windows-Desktop installieren und eine Einstellung in der Bash-Shell ändern, senden Anwendungen ihre grafische Ausgabe an die X-Server-Anwendung und sie erscheinen auf Ihrem Windows-Desktop. Alles sollte gut funktionieren, vorausgesetzt, diese Anwendungen sind nicht von Linux-Systemaufrufen abhängig, die das Windows-Subsystem für Linux noch nicht unterstützt.
Schritt 1: Installieren Sie einen X-Server
Es gibt verschiedene X-Server, die Sie unter Windows installieren können, aber wir empfehlen Xming. Laden Sie es herunter und installieren Sie es auf Ihrem Windows 10 PC.
Der Installationsvorgang ist einfach: Sie können einfach die Standardeinstellungen übernehmen. Es wird dann automatisch in Ihrer Taskleiste gestartet und ausgeführt und wartet darauf, dass Sie grafische Programme ausführen.
Schritt 2: Installation des Programms
Sie können grafische Linux-Desktop-Programme wie jedes andere Programm mit dem Befehl apt-get in der Ubuntu-basierten Bash-Umgebung installieren. Angenommen, Sie möchten den grafischen, GTK-basierten vim-Editor installieren. Sie würden den folgenden Befehl im Bash-Fenster ausführen:
sudo apt-get installieren vim-gtkEs wird den Installationsvorgang im Befehlszeilenfenster durchlaufen, genau wie bei Ubuntu.
Schritt 3: Setzen Sie Ihre Anzeige-Umgebungsvariable
Nun müssen Sie die Umgebungsvariable "DISPLAY" so einstellen, dass sie auf den X-Server zeigt, der auf Ihrem Windows 10-PC läuft. Wenn Sie dies nicht tun, können grafische Anwendungen einfach nicht gestartet werden.
Führen Sie dazu den folgenden Befehl in der Bash-Umgebung aus:
-Export DISPLAY =: 0Diese Einstellung gilt nur für Ihre aktuelle Bash-Sitzung. Wenn Sie das Fenster schließen, wird Bash es vergessen. Sie müssen diesen Befehl jedes Mal ausführen, wenn Sie Bash erneut öffnen und eine grafische Anwendung ausführen möchten.
Schritt vier: Starten Sie eine Anwendung
Sie können jetzt einfach eine grafische Anwendung starten, indem Sie wie bei jedem anderen Befehl den Namen der ausführbaren Datei eingeben. Um beispielsweise vim-gtk zu starten, führen Sie Folgendes aus:
gvimSo einfach ist das. Wenn die Anwendung nach dem Start abstürzt, werden die erforderlichen Linux-Systemaufrufe möglicherweise nicht vom Windows-Subsystem für Linux unterstützt. Du kannst nicht viel dagegen tun. Aber geben Sie es eine Chance, und Sie können feststellen, dass die Anwendungen, die Sie brauchen, anständig arbeiten!
Sie können auch den dritten und vierten Schritt kombinieren, wenn Sie möchten. Anstatt die DISPLAY-Variable einmal für eine gesamte Bash-Shell-Sitzung zu exportieren, führen Sie einfach eine grafische Anwendung mit dem folgenden Befehl aus:
DISPLAY =: 0 BefehlUm beispielsweise gvim zu starten, führen Sie Folgendes aus:
DISPLAY =:0 gvimDenken Sie daran, dass dies nicht offiziell unterstützt wird, sodass Sie bei komplexeren Anwendungen auf Fehler stoßen können. Eine virtuelle Maschine ist eine zuverlässigere Lösung zum Ausführen vieler grafischer Linux-Desktop-Anwendungen unter Windows 10, aber dies ist eine saubere Lösung für einige der einfacheren Dinge.