Gnome 3 auf Bash unter Ubuntu unter Windows

13664
Lightly Salted

Ist es möglich, explorer.exe durch Gnome3 auf dem Linux-Subsystem von Windows10 zu ersetzen? Ich habe Tutorials mit Cgywin gesehen, aber ich habe mich gefragt, ob es jemand für WSL gibt?

Ich hatte Probleme mit

DISPLAY=localhost:0 
1
Es ist eine faszinierende Idee, also habe ich [diese Anweisungen] befolgt (http://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) und ich konnte eine Reihe von GUI-Anwendungen (einschließlich `nautilus ') mit` xming` ausführen, aber ich habe es bisher nicht geschafft, den Gnome / Nautilus-Desktop in Gang zu setzen. Ich schlage vor, Sie probieren den Nautilus-Dateimanager aus, um zu sehen, ob Sie es mögen, bevor Sie weitergehen. Es ist ein bisschen wie Wine unter Linux: Viele Dinge funktionieren überraschend gut, aber es fühlt sich nicht 100% zuverlässig an. AFH vor 7 Jahren 0
Ich bin ein großer Fan von Gnome3 + Linux. Ich benutze es täglich auf meinem Laptop. Ich möchte eine Desktop-Version, aber aufgrund der Softwareanforderungen immer noch einen Windows-Kernel ausführen. Lightly Salted vor 7 Jahren 0
Ich habe Ubuntu seit Jahren verwendet, aber ich habe angefangen, als wir versuchten, den Unity-Desktop zu zwingen, mit dem Versuch, den Gnome-Klassiker nur teilweise wiederherzustellen, aber Ubuntu Mate war eine gute Lösung und ich bin jetzt sehr glücklich damit. Ich konnte jedoch weder Mate noch Gnome unter WLS zum Laufen bringen, obwohl Xfce4 laut Owen Tourlamains Antwort gut funktioniert: Es ist keine schlechte Desktop-Umgebung und ich mag die Art und Weise, wie es in Windows 10 integriert ist. lass dich wissen, ob ich mit Mate oder Gnome weiter komme. AFH vor 7 Jahren 0
Weiteres Update: Ich habe WSL auf 16.04.1 aktualisiert, um es mit meinen anderen Systemen in Einklang zu bringen. Einzelne GUI-Anwendungen funktionieren im Gegensatz zu allen Desktop-Umgebungen weiterhin: `xfce4` wird ausgeführt, der Desktop ist jedoch nicht sichtbar, unabhängig davon, ob sich der X-Server im Einzel- oder Mehrfachfenstermodus befindet. Das Upgrade war unkompliziert, obwohl ich [diese Patches] (https://github.com/Microsoft/BashOnWindows/issues/482#issuecomment-234695431) mit der zusätzlichen Bibliothek http://mirrors.kernel.org/ubuntu/ benötigte. pool / main / p / procps / libprocps3_3.3.9-1ubuntu2_amd64.deb, um `procps` zur Installation zu erhalten. AFH vor 7 Jahren 0

3 Antworten auf die Frage

3
Owen Tourlamain

Ich habe gerade Gnome 3 getestet und es sieht nicht so aus, als ob es einfach wäre, das auszuführen. Allerdings habe ich derzeit eine doppelte Taskleiste auf meinem PC und meinem Laptop, eine Windows-Taskleiste und eine XFCE4. So habe ich es eingerichtet:

  • Stellen Sie zunächst sicher, dass die WSL eingerichtet ist.
  • Installieren Sie als Nächstes VcXsrv auf der Fensterseite. Hiermit wird die grafische Ausgabe von WSL angezeigt.
  • Nun müssen wir der WSL mitteilen, dass sie auf VcXsrv verweisen soll, um diesen Lauf auszuführen: echo "export DISPLAY=:0.0" >> ~/.bashrcDiese Datei wird bei jedem Start von gelesen bash.
  • Es gibt auch ein Problem mit dbus, das wir lösen müssen, um dies einfach auszuführen: sudo sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.confin bash.
  • Lasst uns testen, dass dies vollständig funktioniert, starten Sie XLaunch (Teil von VcXsrv), wählen Sie "Mehrere Fenster" und geben Sie 0 als Anzeigenummer ein. Klicken Sie zweimal auf Weiter und beenden Sie den Vorgang.
  • Führen Sie etwas grafische zu testen, versuchen xeyes (möglicherweise müssen x11-Anwendungen zuerst installieren: sudo apt-get install x11-apps)
  • Es funktionierte? Gut, jetzt müssen wir einen Desktop zum Laufen bringen, ich werde die Schritte für XFCE4 zeigen, aber ich habe gesehen, dass Unity funktioniert und ich vermute, dass LXDE funktionieren sollte. (Ich weiß, dass Cinnamon mehrere Probleme hat, die Gnome ähneln.)
  • Lauf: sudo apt-get install xfce4
  • Sobald das erledigt ist: xfce4-sessionWarten Sie eine Minute und Sie sollten ein Popup-Fenster mit der Frage nach den Panels erhalten. Ich würde empfehlen, die Standardkonfiguration zu wählen, sofern Sie nicht an XFCE4 gewöhnt sind.
  • Wenn all dies funktioniert, sind wir fast fertig, positionieren und konfigurieren Sie jetzt Ihre neue Taskleiste.
  • Das nächste, was wir brauchen, ist eine Möglichkeit, die Fenster unter der neuen Taskleiste zu maximieren. Hierfür habe ich Desktop Coral verwendet. Das ist zwar kostenlos, aber irgendwie ärgerlich. Sie müssen alle sechs Monate einen neuen Schlüssel erhalten, danach erhalten Sie einen lebenslangen Schlüssel eine Weile aber. Wenn Sie dies nicht verwenden möchten, suchen Sie nach einem Programm, das Speicherplatz reservieren kann.
  • Sobald dies eingerichtet ist, konfigurieren Sie es so, dass es den gleichen Platz wie den Platz Ihres Panels reserviert, und überprüfen Sie, ob die Fenster nicht darunter zeichnen. Wenn Sie zufrieden sind, aktivieren Sie die Option für den transparenten Modus
  • Jetzt müssen wir alles reibungslos "einfach funktionieren". Desktop Coral läuft bereits beim Start, damit ist alles abgedeckt. Wir benötigen jetzt ein Skript auf der Windows-Seite, damit bash und XFCE4 beim Start ausgeführt werden können. Starten Sie einen Texteditor (Notepad) und fügen Sie diesen ein:

    set ws=wscript.createobject("wscript.shell") ws.run """C:\Program Files\VcXsrv\vcxsrv.exe"" :0 -ac -terminate -lesspointer -multiwindow -clipboard -wgl",0 WScript.Sleep 500 ws.run "C:\Windows\System32\bash.exe -c 'export DISPLAY=:0.0; xfce4-session'",0 
  • Dadurch werden unser X Server und unsere Desktop-Umgebung auf einmal gestartet. Speichern Sie es als <somewhere important>/<whatever>.vbs.

  • Testen Sie dieses Skript, indem Sie VcXsrv beenden und dann auf das Skript doppelklicken. Warten Sie ein wenig, und Ihre neue Taskleiste sollte angezeigt werden.
  • Jetzt müssen wir dies beim Start ausführen lassen. Starten Sie den Taskplaner, und klicken Sie auf Aktion -> Grundaufgabe erstellen ...
  • Geben Sie Ihrer Aufgabe einen Namen, klicken Sie auf Weiter und wählen Sie "Beim Anmelden". Klicken Sie zweimal auf Weiter, geben Sie das Skript ein oder navigieren Sie zu diesem. Klicken Sie auf Weiter und dann auf Fertig stellen.
  • Das Letzte ist ein Neustart, um zu sehen, ob es funktioniert!

Dies sollte Ihnen eine weitgehend funktionale Linux-Umgebung in Windows bieten, es ist kein Präfekt (möglicherweise möchten Sie den Bildschirmschoner ausschalten), aber es funktioniert! Ich habe noch nicht herausgefunden, wie der Explorer ersetzt werden soll. Ich vermute, dass dies nicht möglich ist, da alle Programme, die Sie über Ihre neue Taskleiste ausführen, in der Windows-Taskleiste und nicht in der XFCE4-Taskleiste angezeigt werden.

Neben dem schlechten Aussehen von XFCE4 kann man sich jedoch nicht abschrecken lassen. Es ist voll themenfähig und wird mit unzähligen integrierten Themen zur Auswahl sowie viel mehr zum Download angeboten.

Eine letzte Anmerkung ist, dass diese Task-Leiste über Vollbild-Fenstern gezogen wird. Ich verwende derzeit TurboTop, um dies abzuschalten, wenn ich es brauche. Nicht besonders elegant. Behalten Sie diese Frage im Auge , um eine Lösung zu erhalten.

0
PrashantKumar96

Ich denke es ist nicht möglich.

explorer.exeist die Shell von Windows. explorer.exewird von WinLogon nach erfolgreicher Authentifizierung gestartet. WinLogon identifiziert es als Shell, indem es den ShellRegistrierungsschlüssel hier betrachtet:

 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 

Die Cygwin-Methode, von der Sie sprechen, ist die von mir (ich könnte diese alte Methode nur mit einer schnellen Suche finden): https://marc.info/?l=kde-cygwin&m=103072530327420&w=2

Nach allem, was ich beim Anschauen verstehen kann, ersetzen wir einfach explorer.exeden oben angegebenen Registrierungsschlüssel mitc:\cygwin\bin\bash --login -c startx

Das heißt, wenn wir uns anmelden, wird Windows Explorer nicht gestartet, stattdessen wird bash gestartet und der X-Server wird gestartet (was bedeutet, dass KDE [oder GNOME] gestartet wird). Lassen Sie uns jetzt zusammenbrechen, was hier passieren wird.

Erstens kein Windows Explorer. Wenn Sie alle explorer.exe-Prozesse im Task-Manager beendet haben, ist möglicherweise ein leerer Bildschirm aufgetreten. Wenn Sie einige Anwendungen geöffnet haben, werden sie auf dem Bildschirm angezeigt, selbst wenn Sie sie minimieren, da es keine explorer.exe gibt, die die geöffneten Fenster behandelt.

Nun ist das bash (und damit auch GNOME), das gestartet wurde, eine Vollbildanwendung (ähnlich einem Spiel). Es wird wie ein normaler Fenstermanager ausgeführt, durchsucht Dateien, verfügt über eine eigene Taskleiste und einen Benachrichtigungsbereich usw. Am Ende ist es jedoch nur eine normale Anwendung, die sich nicht unterscheidet notepad.exe(außer im Vollbildmodus). Na sicher). Der obige Link selbst sagt etwas aus, das darauf hinweist:

Hinweis: Wenn Sie Windows-Programme von hier aus ausführen möchten, können Sie unter Windows 2000 die Tastenkombination Strg-Umschalt-Esc drücken, wodurch der Task-Manager angezeigt wird. Klicken Sie anschließend auf Datei / Ausführen.

Durch das Starten des Task-Managers wird der Vollbildmodus beendet und der Task-Manager wird über der GNOME-Oberfläche angezeigt, anstatt in ihm zu sein.

In Bezug auf die Abmeldung wird dies erwähnt:

Wenn Sie sich von KDE abmelden, werden Sie nicht wirklich abgemeldet. Sie müssen KDE auf andere Weise schließen. Drücken Sie dann Strg-Alt-Entf und wählen Sie logout aus. Abhängig von Ihren .xserverrc-Parametern können Sie den X-Server mit Strg-Alt-Rückschritt oder Alt-F4 schließen. Andernfalls können Sie es über den Task-Manager schließen (wählen Sie die Cygwin-Task aus und sagen Sie Task beenden).

Zweifellos wird bei der Anmeldung eine GNOME-Oberfläche angezeigt, und Sie können alle lästigen Hacks anwenden, um Windows-Anwendungen über Verknüpfungen zu starten. Dies ist jedoch kein Ersatz für explorer.exe .

Der Fragesteller verwendet nicht Cygwin, sondern WSL. AFH vor 7 Jahren 0
Auch bei der WSL wird es nicht viel anders sein. _C: \ cygwin \ bin \ bash_ wird durch _C: \ windows \ system32 \ bash_ ersetzt. Das Prinzip wird jedoch dasselbe sein - einen Vollbild-X-Server mit GNOME ausführen. PrashantKumar96 vor 7 Jahren 0
0
Ricky Neff

Alles was Sie tun müssen, ist übrigens:

apt update && apt Aktualisierung -y && apt install xfce4 x11-apps lightdm

dann,

xfce4-session --display = 0: 0

Stellen Sie einfach sicher, dass Sie xming oder vcxsrv oder etwas unter Windows verwenden

Das würde xfce4 installieren, nicht Gnome 3, das von OP angefordert wurde. bertieb vor 6 Jahren 0