HAFTUNGSAUSSCHLUSS: Laut Brendens Kommentar ist dies möglicherweise veraltet und funktioniert mit neueren Versionen von Ubuntu nicht mehr. Seien Sie auch darauf vorbereitet, dass Sie Ihre geöffneten Fenster verlieren könnten.
Jetzt habe ich es für Unity bekommen (ich habe gerade meine GNOME-Shell durch Unity ersetzt, ohne mich abzumelden oder Fenster zu schließen):
- Gehe zu tty1 [Strg] + [Alt] + [F1]
- Geben Sie ein,
DISPLAY=:0
damit Programme wissen, an welchem Port sich der X-Server befindet
export DISPLAY
unity --replace
oder gnome-shell --replace
(Sie können GNOME-Shell auch durch Unity oder Unity durch GNOME-Shell ersetzen)
Dies funktioniert nur, wenn nicht der X-Server oder GNOME eingefroren ist, sondern nur Unity oder die GNOME-Shell.
So funktioniert es: Die Kommunikation zwischen Programmen und dem X-Server zur Anzeige ihrer Benutzeroberfläche funktioniert über einen Netzwerk-Socket. Dies ist normalerweise bei "localhost: 0" short ": 0". Durch Setzen der Variablen DISPLAY wissen die Programme, wo sich der X-Server befindet, mit dem sie kommunizieren können. Daher werden Programme auf dem X-Server auf tty7 angezeigt, auch wenn das Programm auf tty1 ausgeführt wird.
Der Inhalt von Fenstern wird vom X-Server verwaltet, während die Position und die Ränder der Fenster vom in Unity oder der GNOM-Shell integrierten Fenstermanager verwaltet werden. Es gibt also eine Möglichkeit, nur diese zu ersetzen, ohne die Anwendungen auf dem X-Server neu zu starten. Server.
PS: Ich beschreibe nur, was ich verstehe. Bitte bearbeiten und korrigieren Sie mich, wenn ich in einigen Punkten falsch liege.
BEARBEITEN:
Für die GNOME-Shell gibt es eine andere Möglichkeit, sie neu zu starten. Nachdem pkill -HUP gnome-shell
ich zu tty gewechselt habe, tippe einfach ein und weiß nicht, ob es etwas Ähnliches für Unity gibt.