AVIS DE NON-RESPONSABILITÉ : Selon le commentaire de Brenden, cela pourrait être obsolète et ne plus fonctionner avec les nouvelles versions d'Ubuntu. Soyez également prêt à perdre vos fenêtres ouvertes.
Maintenant, je l'ai pour Unity (je viens de remplacer mon shell GNOME par Unity sans me déconnecter ni fermer les fenêtres):
- Aller au tty1 [Ctrl]+[Alt]+[F1]
- Tapez
DISPLAY=:0
afin que les programmes sachent sur quel port trouver le X-Server export DISPLAY
unity --replace
ougnome-shell --replace
(vous pouvez aussi remplacer GNOME-Shell par unity ou Unity par GNOME-Shell)
Cela ne fonctionne que si le X-Server ou GNOME n'est pas gelé, mais uniquement Unity ou GNOME-Shell.
Comment ça marche :La communication entre les programmes et le X-Server pour afficher leur interface utilisateur fonctionne sur une prise réseau. C'est normalement à "localhost:0" court ":0". En définissant la variable DISPLAY, les programmes savent où trouver le X-Server pour communiquer avec lui, de sorte que les programmes sont affichés sur le X-Server sur tty7 même si le programme s'exécute sur tty1.
Le contenu des fenêtres est géré par le X-Server alors que la position et les bordures des fenêtres sont gérées par le gestionnaire de fenêtres intégré dans l'unité ou le GNOM-shell donc il y a un moyen de les remplacer uniquement sans redémarrer les applications sur le X- Serveur.
PS :Je ne fais que décrire ce que je comprends, alors s'il vous plaît éditez et corrigez-moi si je me trompe sur certains points.
MODIF : Pour le GNOME-Shell, il existe un autre moyen de le redémarrer. Après avoir changé en tty, tapez simplement pkill -HUP gnome-shell
, je ne sais pas s'il existe quelque chose de similaire pour Unity.