Ich habe mich umgesehen und momentan sind zwei Methoden vorgeschlagen; Installation einer Erweiterung für Windows Subsystem für Linux und Installation eines XServers.
Ich möchte wissen, welche Methode am einfachsten zu installieren und zu verwenden ist und welche weniger speicherintensiv ist.
Ich möchte nur Synaptic und CMake. Warum kann das keine eingebaute Funktion sein?
gui
windows-subsystem-for-linux
George Hovhannisian
quelle
quelle
Antworten:
Die kurze Antwort lautet Du kannst nicht, da die WSL diese Funktion noch nicht unterstützt. WSL ist keine vollständige Linux-Installation mit einem Linux-Kernel, sondern ermöglicht das Ausführen einiger nativer Linux-Befehle / Binärdateien auf einem Windows-Kernel (Microsoft) und weist Einschränkungen auf.
Siehe https://github.com/Microsoft/WSL/issues/2356
Sie können jedoch einen X-Server eines Drittanbieters wie xming und ssh in Ihrer WSL installieren.
https://virtualizationreview.com/articles/2017/02/08/graphical-programs-on-windows-subsystem-on-linux.aspx
Ich habe dieses Tutorial hier nicht kopiert, da es ziemlich allgegenwärtig ist (X über ssh) und ich würde erwarten, dass einige Apps auch mit dieser Technik nicht funktionieren werden.
quelle
DISPLAY
und los geht's (für xming und VcXsrv sowieso).VcXsrv
Ich entschied mich für die Verwendung
VcXsrv
in WSL (Windows 10-Subsystem für Linux). Ich empfehle jedem, zwischenxming
(der akzeptierten Antwort) und VcXsrv zu recherchieren, bevor der eine oder andere für die Unterstützung der grafischen Benutzeroberfläche (GUI) in Windows 10 Ubuntu 16.04 ausgewählt wird.Installation
Die Installation ist unkompliziert. Ab dem 17. März 2019 können Sie die Standardeinstellungen einfach übernehmen. Wenn Sie
gedit
von Ihrem Bash Shell / Terminal aus anrufen möchten, müssen Sie~/.bashrc
diese Zeile bearbeiten und einfügen:Was können Sie nach der Installation von VcXsrv tun?
Ich konnte laufen:
... um die GUI-Desktop-Software zu installieren. Dies erlaubte mir dann zu rennen
gedit
undnautilus
. Außerdem konnte ich dann bestimmte GUI-Anwendungen über die CLI (Command Line Interface) mit den Befehlenapt
oder installierenapt-get
.Wenn ich viele meiner Ubuntu Bash - Skripte innerhalb WSL versuchen wollen VcXsrv muss so installiert werden ,
zenity
undyad
x-Fenster Dialogfelder für Benutzereingabe angezeigt.Wie andere angemerkt haben, ist die Benutzeroberfläche in der WSL nicht perfekt, und Sie können damit rechnen, einige Probleme zeitaufwändig zu lösen. Auch manche GUI-Software funktioniert in der WSL einfach nicht.
Installationshinweise
Ich habe folgende Änderungen vorgenommen
/etc/environment
, um die Dropdown-Menüs der Benutzeroberfläche zu optimieren:/mnt/e/bin
Dies ist ein ungewöhnlicher Pfad, da hier Skripts gespeichert werden, die sowohl in Windows 10 Dual Boot WSL als auch in Ubuntu 16.04 Dual Boot verwendet werden. Die meisten Benutzer würden dies nicht auf ihrem Computer einschließen.quelle
gedit
dem ich aus Ubuntu Desktop vertraut bin. Auch viele meiner Bash - Skripte verwendenzenity
oderyad
für x-Fenster Dialogfelder. Diese Bash-Skripts werden nur ausgeführt, wenn sieVcXsrv
installiert sind.export DISPLAY=:0
. Ich konnte jetzt laufenxhost
,xeyes
undgnuplot
in Ubuntu (vorausgesetzt , diese Programme sind bereits in der Ubuntu WSL installiert ist ).export LIBGL_ALWAYS_INDIRECT=1
und Sie erhalten einige Hardwarebeschleunigung in GL-Anwendungen über X mit VcXsrvIch habe sehr positive Erfahrungen mit VcXsrv unter Win 10 Bash unter Ubuntu unter Windows (Ubuntu 16.04 Xenial x86_64 Linux 4.4.0-17074-Microsoft) gemacht. Ich habe mich nicht darauf konzentriert, Unity Desktop auszuführen, da es nutzlos und ressourcenintensiv ist. Ich habe einfach Apps von Bash im GUI-Modus vom Windows10-Desktop mit XServer ausgeführt.
Installieren Sie VcXsrv von hier aus auf Sourceforge
Führen Sie die VcXsrv-App direkt aus und starten Sie XLaunch nicht. Sie sollten sehen,
localhost:0.0 - 0 clients
wenn Sie mit der Maus über das Symbol in der Win10-Taskleiste fahrenÖffnen Sie Ubuntu Bash:
(Ergebnisse in localhost @ localhost: / mnt $)
(localhost @ localhost: / $ bedeutet, dass Sie mit diesem Befehl an den Anfang der Festplatte gelangen, soweit die WSL dies sehen kann ...)
(Dies installiert "dbus", um einen virtuellen Konnektor für GUI, "Synaptic Package Manager" und "Nautilus" -Dateiexplorer für Unity-Desktop zu erstellen
(Wann
session.conf
öffnet sich in vi Editor)Drücken Sie i, um den Einfügemodus aufzurufen und hinzuzufügen
als hinzufügen:
Drücken Sie ESC, wenn Sie mit dem Bearbeiten der Datei fertig sind und
:wq
die Datei speichern möchten.Führen Sie diese Befehle aus und überprüfen Sie ihre Ausgabe:
Du bist fertig! Führen Sie nun synaptic, nautilus oder firefox von Bash aus und sie sollten auf dem Win10-Desktop geladen werden. GUI-Optionen wie diese sind fehlerhaft, aber funktionsfähig. Sie können installieren
ubuntu-desktop
,unity
,ccsm
,compiz
und versuchen zu laufen Unity Desktop für Ubuntu . Ich habe nicht versucht, den "Steam" zu setzen, weil ich immer noch leiden muss, um "Unreal" laufen zu lassen. Viel Glück :)Wenn jemand weiß, wie man
gnome-terminal
auf XServer anstatt auf XTerm läuft, teile es bitte ...PS
Sie können VcXsrv als bootfähige Win10 hinzufügen
Um Ihre Quellen mit "Steam" zu maximieren, wie im Originalbeitrag angegeben, optimieren Sie Ihr Windows ein wenig für die Netzwerkpaketverwaltung (um die Latenz zu verringern) und die CPU- / GPU-Priorisierung, um eine Win10XBox zu erstellen… :)
Obwohl Sie "Steam" unter "Unix" ausführen, ist die Shell immer noch "Windows", wodurch Sie "Steam" unter "Unix" starten können ...
Tcp Prep :;
In regedit:
Hier müssen Sie die Liste der Unterschlüssel durchgehen, um den Netzwerkadapter-Eintrag zu finden, der für die Verbindung mit dem Internet verwendet wird. Wenn Sie DHCP verwenden, müssen Sie nach Einträgen suchen
DhcpIPAdddress
(mit NICHT den Systemdatenwerten:0.0.0.0
), um den richtigen Adapter zu finden.Wenn Sie den richtigen Schlüssel gefunden haben, klicken Sie mit der rechten Maustaste darauf und wählen Sie Neu> Dword-Wert (32-Bit) .
Nennen Sie es TcpFrequency und klicken Sie auf ok.
Doppelklicken Sie anschließend auf den Wert und stellen Sie den Dezimalwert auf 1 ein. (Um die Standardeinstellung wiederherzustellen, ändern Sie den Wert auf 2 oder löschen Sie den Schlüssel.) Navigieren Sie nun zu folgendem Schlüssel:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ
Klicken Sie erneut mit der rechten Maustaste auf den Schlüssel und wählen Sie Neu> Dword-Wert (32-Bit) .
Nennen Sie den neuen Parameter TcpDelay
Doppelklicken Sie danach darauf und ändern Sie den Dezimalwert auf 1. (Um den Schlüssel zu einem späteren Zeitpunkt wiederherzustellen, ändern Sie ihn auf 0 oder löschen Sie den Schlüssel.)
Nagles Algorithmus
Der Nagle-Algorithmus kombiniert mehrere kleine Pakete zu einem einzigen größeren Paket, um eine effizientere Übertragung zu ermöglichen. Dies soll die Durchsatzleistung der Datenübertragung verbessern. Durch Deaktivieren von „Nörgeln“ kann die Latenz / das Ping in einigen Spielen verringert werden. Nagles Algorithmus ist in Windows standardmäßig aktiviert. Ändern Sie die folgenden Registrierungsschlüssel, um diese Optimierung zu implementieren.
Für die
{NIC-id}
, sucht das mit Ihrer IP - Adresse aufgelistet;{NIC-id}
Erstellen Sie unter diesem Schlüssel den folgenden DWORD-Wert:Hinweis:
Netzwerkdrosselungsindex
Windows implementiert einen Netzwerkeinschränkungsmechanismus. Die Idee dahinter ist, dass die Verarbeitung von Netzwerkpaketen eine ressourcenintensive Aufgabe sein kann. Es ist vorteilhaft, diese Drosselung zu deaktivieren, um einen maximalen Durchsatz zu erzielen.
Führen Sie regedit aus, und ändern Sie die Registrierung, um diese Optimierung zu implementieren
Erstellen Sie unter SystemProfile einen DWORD-Wert und benennen Sie ihn in NetworkThrottlingIndex. Setzen Sie dann den Hexadezimalwert für Spiele und maximalen Durchsatz auf ffffffff: ffffffff deaktiviert die Drosselung vollständig.
Reaktionsfähigkeit des Systemspiels (Ich bin mir nicht so sicher)
Multimedia-Streaming und einige Spiele, die den MMCSS-Dienst (Multimedia Class Scheduler) verwenden, können nur bis zu 80% der CPU auslasten. Der "Multimedia Class Scheduler" -Dienst (MMCSS) stellt den priorisierten Zugriff auf CPU-Ressourcen sicher, ohne dass CPU-Ressourcen Hintergrundanwendungen mit niedrigerer Priorität verweigert werden.
Führen Sie regedit aus, und ändern Sie den Registrierungsschlüssel, um diese Optimierung zu implementieren
Erstellen Sie von dort aus ein neues DWORD und benennen Sie es unter SystemResponsiveness. Setzen Sie den Dezimalwert für reines Spielen / Streaming auf 00000000.
In derselben Registrierungsstruktur wie bei der obigen Optimierung können Sie auch die Priorität von Spielen ändern. Um diese Optimierung zu implementieren, gehen Sie zu
und ändern Sie die folgenden Registrierungswerte:
Alles Gute für "Unbekannt" (Verzeihung, ich habe Ihre Anweisungen eine Weile kopiert) Autor dieses Windows = Xbox-Tweaks ...
PPS: Wenn XServer bei dem, was Sie tun möchten, fehlschlägt, versuchen Sie, die Problemumgehung mit Docker zu finden.
quelle
<auth>allow_anonymous</auth>
zu<auth>ANONYMOUS</auth>
, dannservice dbus restart
undgnome-terminal
sollte funktionierenAuch wenn eine vollständige GUI-Desktopumgebung von Microsoft nicht offiziell unterstützt wird, kann sie funktionieren.
Windows-Funktionen
aktivieren oder deaktivieren Windows-Subsystem für Linux
aktivieren Computer neu
starten Microsoft Store
Search für Ubuntu starten
Wählen Sie Ubuntu 18.04 unter Apps aus.
Klicken Sie auf
Ubuntu starten und warten Sie auf die Installation.
Legen Sie Benutzername und Kennwort fest
Führen Sie die folgenden Befehle aus:
Erstellen und Ändern von .xsession
Text hinzufügen:
Speichern und beenden Sie vi
Sie benötigen einen zweiten Account auf Ubuntu
Ändern Sie startwm.sh
Kommentieren Sie die beiden unteren Zeilen aus
Text hinzufügen:
Speichern und beenden Sie vi
Starten Sie Ubuntu unter Windows neu und führen Sie Folgendes aus:
Führen Sie unter Windows mstsc.exe aus.
Computer: 127.0.0.1:3390
Lassen Sie den Benutzernamen leer.
Verbinden
Sitzung: Xorg-
Benutzername: Remote-
Passwort: Passwort
Viel Spaß mit xfce!
Wenn Sie fertig sind, schließen Sie die Remotedesktopverbindung.
Kehren Sie zur Ubuntu-Befehlszeile zurück
quelle
Da möchten Sie es einfach ... Es gibt eine App im Microsoft Store namens x410 . Es handelt sich im Grunde genommen um einen Cygwin X11-Server ohne die Verwendung von Cygwin. Nach der Installation - das ist keine Konfiguration - können Sie WSL X11 Apps ausführen! (oder sogar ganze Desktops). Möglicherweise möchten Sie die folgenden Zeilen in Ihre .bashrc-Datei (von Ihrem WSL-Benutzerkonto aus) einfügen, damit Sie die Apps von Ihrem Bash-Terminal aus ausführen können.
Ich habe x410 auf Salve für ca. 5 Euro gekauft. Wenn es also zu viel ist, warte vielleicht auf einen Verkauf!
quelle
Wenn Sie eine mühelose Standardlösung wünschen , verwenden Sie MobaXTerm . Es ist ein großartiger Terminalemulator mit mehreren Registerkarten und direkter Unterstützung für WSL und verfügt über einen integrierten optimierten X-Server. Ich benutze die ganze Zeit Synaptic auf Moba. Sogar RStudio.
quelle
Ich habe Panthers Antwort nicht nur gewählt, weil es die einzige ist, sondern auch, weil es die richtige Antwort ist. Es gibt keine problemlose (unkomplizierte) Möglichkeit, GUI-Apps zum Laufen zu bringen.
Außerdem habe ich dieses Tutorial mit ein paar Änderungen verwendet:
xfce
, weil ich nicht weiß, warum ich einen Desktop brauche.Multiple Windows
inXLaunch
(Nr DE, daher keine Notwendigkeit für ein Riesen-Fenster)Welche GUI-Apps habe ich installiert? Nur Synaptic und CMake, da mir wirklich nichts anderes einfällt, was ich auf wsl brauchen würde.
Ich mache kein VM / Dual Boot, aus dem gleichen Grund, den Panther hervorhob. Ich benötige eine (für mich) geeignete Entwicklungsumgebung, kein Full-Flex-Betriebssystem.
quelle
Nach meinen Recherchen war wsl ursprünglich nicht für GUI-Benutzer gedacht. Wir können jedoch einen X-Server von einem Drittanbieter installieren , um die GUI anzuzeigen. Ich habe getestet, dass VcXsrv mit einem geeigneten Setup zum Anzeigen des Debian Linux-Desktops verwendet werden kann.
Ich denke, mein Ansatz funktioniert reibungslos, um Mate-Desktop (GUI) auf dem Windows-Subsystem Linux Debian anzuzeigen. Ich habe ein Video darüber gemacht, wie man mate-desktop (GUI) auf wsl Debian von Grund auf installiert und anzeigt . Link: https://youtu.be/QjogEWudpaM
Die Installation des Mate-Desktops unter Ubuntu ist etwas anders.
Schritt 1 : Installieren Sie wsl
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Schritt 2 : Installieren Sie eine grafische Benutzeroberfläche, z. B. mate desktop.
Für Debian- Benutzer:
sudo apt-get update
Drücken Sie die Eingabetaste.sudo apt install task-mate-desktop
und drücken Sie die Eingabetaste.ODER für Ubuntu- Benutzer:
sudo apt install tasksel
, drücken Sie die Eingabetastesudo apt update
, drücken Sie die Eingabetastesudo tasksel install ubuntu-mate-desktop
, drücken Sie die EingabetasteSchritt 3 : Installieren Sie den X-Server unter Windows 10. Ich habe einen Open-Source-Server namens VcXsrv verwendet. Es kann von https://sourceforge.net/projects/vcxsrv/ heruntergeladen werden .
Sobald die Installation abgeschlossen ist:
Öffne XLauch in Windows 10
Führen Sie die folgenden Einstellungen durch:
"One large window"
Display number: 0
next
Start no client
next
finish
Schritt 4 : Setup in der Linux-Konsole:
Art
export DISPLAY=:0
Typ
export LIBGL_ALWAYS_INDIRECT=1
(evtl. wird dieser Kommentar nicht benötigt)Schritt 5 : Mate-Desktop-GUI anzeigen:
Typ
mate-session
für Debian BenutzerTyp
mate-session
oderlightdm-session
für Ubuntu- BenutzerWenn Sie mit meiner Beschreibung verwirrt sind, können Sie meine YouTube-Videos überprüfen. Installieren Sie die GUI (Mate-Desktop) auf dem Microsoft Windows-Subsystem Linux .
quelle
sudo service ssh start
ssh -Y 10.0.2.2
Normalerweise der Host eines VirtualBox-Gasts um 10.0.2.2 erreichbar
Jetzt können Sie jedes WSL X-Programm auf Ihrem Fedora-Desktop ausführen, auch mit nahtlosem Windows.
quelle