Das Leben eines Linux-Benutzers kann ein bisschen schwierig sein. Manchmal muss man - oder will man - Windows benutzen. Warum Windows? Manchmal hat man einen Arbeitscomputer oder einen Laptop, der von Linux nicht gut unterstützt wird. Oder es könnte an der Software liegen.

Es gibt zwar viele Programme, mit denen man z. B. Word-Dokumente bearbeiten kann, aber es gibt immer ein Dokument, das nicht ganz korrekt übersetzt wird. Software für Videokonferenzen funktioniert manchmal auch unter Linux, hat aber möglicherweise weniger Funktionen.

Was können Sie also tun? Man kann natürlich dual booten, aber das ist nicht sehr praktisch. Sie können Windows in einer virtuellen Maschine laufen lassen, wenn Sie genug Leistung haben.

Es gibt auch Wine, aber das hat oft seine eigenen Probleme mit den Funktionen und der Stabilität komplexer Programme. Neuere Versionen von Windows bieten jedoch das Windows Subsystem für Linux (WSL). Mit WSL können Sie das meiste, was Sie an Linux mögen, in Ihrer Windows-Sitzung nutzen. Man muss nur wissen, wie man es einrichtet, und ich zeige Ihnen eine Möglichkeit, die bei mir mit einigermaßen stabilen Versionen von Windows 10 funktioniert.

Über WSL WSL ist ziemlich leistungsfähig, da es Ihnen eine gute Linux-Umgebung bietet und eng mit Windows optimiert ist. Es gibt jedoch einige Vorbehalte. WSL hat eigentlich zwei Varianten. Die erste, Version 1, funktioniert gut genug, ist aber nicht vollständig kompatibel und hat langsamere Festplattengeschwindigkeiten. Die meisten normalen Programme werden funktionieren, aber Dinge wie Docker und FUSE nicht. Version 2 erfordert Virtualisierungsunterstützung auf Linux Fu: Die Windows-X11-Verbindung Computer, arbeitet aber viel schneller.

Außerdem bietet sie einen echten Linux-Kernel, so dass fast alles mit WSL2 läuft. Wenn Sie bereit sind, die neuesten Entwicklerversionen von Windows 10 zu verwenden, können Sie sogar grafische Programme ausführen, wenn Sie bereit sind, so weit über den Tellerrand hinauszuschauen.

Aber es stellt sich heraus, dass man die Entwicklerversion gar nicht verwenden muss. Wenn es eine Sache gibt, die X gut kann, dann ist es, einen Server auf einem Rechner und Clients auf einem anderen laufen zu lassen. Es gibt also keinen Grund, warum Sie X-Clients nicht innerhalb der WSL ausführen und einen Windows-basierten X-Server zur Anzeige verwenden können. Besorgen Sie sich zunächst einen X-Server Es gibt eine Vielzahl von kostenlosen und kommerziellen Windows-basierten X-Servern.

Ich habe den von Cygwin verwendet, genauer gesagt, ein vorkonfiguriertes Cygwin-X11-Setup namens Swan. Leider scheint das Swan-Projekt nicht mehr zu existieren, aber Cygwin existiert noch und funktioniert einwandfrei. Eine weitere Option ist VcXsrv und verschiedene andere ähnliche Projekte. Das Beste an diesen Projekten ist, dass sie nicht viel überflüssiges Zeug enthalten. Cygwin hat eine Menge Dinge, die normalerweise sehr nützlich sind, aber diese Dinge sind Duplikate dessen, was Sie unter WSL installieren wollen.

Ich schlage vor, dass Sie zuerst den X-Server zum Laufen bringen und ihn von einem anderen Linux-Rechner oder einer virtuellen Maschine aus testen. Wenn Sie ein System wie Cygwin haben, können Sie einfach native Anwendungen ausführen. Wenn Ihr X-Server aus irgendeinem Grund nicht funktioniert, kann WSL ihn auch nicht verwenden. Version 2 für Leistung Wenn Sie WSL schon eine Weile benutzen, sollten Sie überprüfen, ob Sie noch Version 1 verwenden. Sie können ziemlich einfach zwischen den Versionen wechseln und sogar mehrere Installationen mit verschiedenen Versionen haben.

Um herauszufinden, welche Sie haben, öffnen Sie eine PowerShell als Administrator: wsl --list --verbose Sie sollten eine Zeile für jede installierte Linux-Distribution und eine Versionsnummer sehen. Wenn Sie Version 1 haben, vergewissern Sie sich, dass die Virtualisierungsunterstützung in Ihrem BIOS aktiviert ist und dass die Windows-Funktion Virtual Machine Platform eingeschaltet ist.

Geben Sie dann ein: --set-version Ubuntu 2 Verwenden Sie natürlich den Namen, den Sie in der Liste gesehen haben, der Ubuntu sein kann oder auch nicht. Dieser Vorgang wird einige Zeit in Anspruch nehmen, oder Sie erhalten eine Fehlermeldung, wenn Sie die BIOS- und Windows-Einstellungen nicht richtig vorgenommen haben.

Möglicherweise erhalten Sie auch Anweisungen zum Herunterladen einer aktualisierten Kernel-Unterstützung. Befolgen Sie einfach die Anweisungen. Wenn die Ausführung des Befehls keine Zeit in Anspruch nimmt, beschwert er sich wahrscheinlich über etwas, Linux Fu: Die Windows-X11-Verbindung nicht korrekt eingerichtet ist. Sie können dies mit dem Befehl list erneut überprüfen.

Die Version ist wichtig, weil sich die Netzwerkeinrichtung von der alten Version Linux Fu: Die Windows-X11-Verbindung. Es ist zwar möglich, die ältere WSL auf die gleiche Weise zu konfigurieren, aber Sie können auch die Leistungssteigerung genießen. Wenn Ihr Rechner oder Betriebssystem jedoch nicht den Anforderungen entspricht, müssen Sie möglicherweise bei Version 1 bleiben. Sie können Version 2 auch über PowerShell als Standardversion festlegen: wsl --set-default-version 2Wenn Sie Windows 10 Version 2004 oder höher verwenden, ist es einfacher, wsl jetzt zu installieren.

Sie sollten jedoch trotzdem sicherstellen, dass Sie Version 2 verwenden. Konnektivität X11-Clients wissen, wie sie ihren Bildschirm über die DISPLAY-Variable erreichen können. Normalerweise wird sie auf :0 oder :0.0 gesetzt, und das wird als der erste Bildschirm auf dem aktuellen Rechner verstanden. Das funktioniert hier jedoch nicht, da sich die WSL in einem virtuellen Netzwerk befindet, das nicht mit dem Ihres Windows-Betriebssystems identisch ist.

Es gibt im Wesentlichen drei Schritte, die Sie ausführen müssen, damit die Dinge funktionieren: Öffnen Sie den Port 6000 auf Ihrer PC-Firewall, falls Sie eine verwenden Sagen Sie dem X-Server, dass er Verbindungen von einem anderen Computer (in diesem Fall einem virtuellen Computer) zulassen soll Setzen Sie die DISPLAY-Variable so, dass sie auf die WSL-Adresse zeigt, die dem Windows-Computer entspricht Die genauen Schritte hängen davon ab, welche Firewall und welchen Server Sie verwenden.

Die allgemeinen Schritte sind jedoch für jedes Tool, das Sie verwenden, die gleichen. Wenn Sie die Windows Defender Firewall verwenden, können Sie Port 6000 öffnen, indem Sie in den Einstellungen nach Windows Defender Firewall suchen. Wählen Sie Erweitert und erstellen Sie eine neue eingehende Regel für TCP-Port 6000.

Linux Fu: Die Windows-X11-Verbindung

Es kann jedoch sein, dass Windows beim ersten Start des Servers ein Firewall-Fenster öffnet und Sie fragt, ob Sie Verbindungen zulassen möchten. In diesem Fall müssen Sie die Firewall wahrscheinlich nicht manuell konfigurieren. Linux Fu: Die Windows-X11-Verbindung Einstellung der Zugriffskontrolle für Ihren X-Server hängt von dem von Ihnen verwendeten Server ab.

Bei Cygwin versuchen Sie, xhost + von einer Cygwin-Eingabeaufforderung aus auszuführen. Für VcXsv sollten Sie die Startoption aktivieren, die externe Verbindungen zulässt. Vielleicht gefällt Ihnen der Gedanke nicht, Ihren X-Server zu öffnen, aber wenn Sie Ihre Firewall-Einstellungen einschränken oder eine XAuthority-Datei verwenden können.

Bringen Sie ihn erst zum Laufen, dann können Sie die Sicherheit erhöhen. Wenn Sie sich hinter einem Heimrouter befinden, können Sie mit dessen Firewall Dinge blockieren. Die DISPLAY-Variable ist die einfachste von allen. Eine schnelle Möglichkeit, die Windows-IP-Adresse von der WSL-Seite aus zu erfahren, besteht darin, sich anzusehen, wie der Nameserver eingestellt ist.

Ein Dump von //etc//resolv.conf sollte etwa so aussehen: # Diese Datei wurde automatisch von der WSL generiert. Um die automatische Generierung dieser Datei zu stoppen, fügen Sie den folgenden Eintrag zu //etc//wsl.conf hinzu: # generateResolvConf = falseNameserver 172.25.32.1 Das bedeutet, dass die DISPLAY-Variable wie folgt auf 175.25.32.1:0.0 gesetzt werden sollte: export DISPLAY=175.25.32.1:0.0 Sie könnten dies z.

B. mit awk automatisieren, aber denken Sie daran, dass ein richtiges Shell-Skript Ihre Umgebung nicht setzt. Sie müssen den Quellcode des Skripts so anpassen, dass dies möglich ist. Hier ist zum Beispiel ein Skript, das sich in //usr//local//bin//setWinX befindet: WINIP=(awk //^Nameserver // { gsub(/Nameserver /,//); print; } //etc//resolv.conf)export DISPLAY=/:0.0/ Sie könnten natürlich auch dafür sorgen, dass dies beim Start ausgeführt wird, indem Sie es aus .profile beziehen: source //usr//local//bin//setWinX Abhängig von Ihrem X-Server und Ihren Anwendungen müssen Sie Linux Fu: Die Windows-X11-Verbindung Programme dazu bringen, bestimmte Ausgabetreiber zu verwenden.

Ich habe zum Beispiel gehört, dass diese Zeile einige Probleme behebt: export LIBGL_ALWAYS_INDIRECT=1 Sobald Sie eine gute Linux//Windows-Integration haben, können Sie eine Startunterstützung hinzufügen. Setzen Sie Ihren X-Server auf Autostart und Sie können Windows- und Linux-Anwendungen auf demselben Bildschirm munter mischen.

Unfair! Es scheint kaum fair zu sein. Windows-Programme unter Linux zum Laufen zu bringen ist schwierig, weil Windows geschlossen ist. Linux unter Windows zum Laufen zu bringen, ist viel einfacher, weil Linux offen ist. Natürlich muss man manchmal wirklich Linux zum Laufen bringen. Ich musste z. B. eine Maus direkt auslesen und habe festgestellt, dass die Linux Fu: Die Windows-X11-Verbindung und Weise, wie WSL Eingabeereignisse weiterleitet, nicht viel mit einer normalen Linux-Installation gemein hat.

Trotzdem funktioniert es sehr gut, und die Leistung ist auch sehr gut. Dies ist nicht das erste Mal, dass wir uns mit WSL beschäftigen, und in diesem Beitrag finden Sie einige gute Tricks, wenn Sie gerade erst anfangen. Wie geht man mit der Verwendung von Windows und Linux um? Die ideale Antwort lautet: gar nicht und nur das eine oder das andere. Aber erzählen Sie uns in den Kommentaren, was Sie tun.


9 24 10