Basculez instantanément entre les environnements de bureau dans la session de bureau en cours d'exécution


16

Existe-t-il un moyen de basculer instantanément (de préférence à partir de la ligne de commande) entre un environnement de bureau et un autre; disons, de Unity au GNOME classique sans avoir à fermer l'une des applications en cours d'exécution dans la même session de bureau?

(Veuillez noter qu'il ne s'agit pas d'installer les environnements.)


2
Voyons qui intervient avec une réponse faisant autorité mais mon sentiment est que, en ce qui concerne Ubuntu et les versions officielles, vous devez vous déconnecter et vous reconnecter. Il y avait / il y a quelque chose appelé Hybryde Fusion 13.04 qui semble offrir quelque chose de connexe mais ce serait hors sujet ici.

Oui, cela semble offrir un environnement de bureau HY-D-V1 .. l'apparence semble être assez proche de GNOME3, mais j'espère qu'il offre une meilleure expérience ..
précis

Et puis je pense que Zorin propose également quelque chose de similaire. Ce serait aussi OT: D J'ai décidé qu'une session Openbox pure sans bureau est assez bonne pour moi;)

Réponses:


11

J'ai eu une bonne astuce pendant que je cherchais une liaison de clé WM, en lisant les pages de manuel.

man dm-tool

dm-tool est un outil pour communiquer avec le gestionnaire d'affichage LightDM.

   list-seats
          List the active seats and sessions that are running.

   add-nested-seat
          Start an X server inside a session and connect it to a display manager.

   add-local-x-seat DISPLAY_NUMBER
          Connect an existing X server to the display manager.

   add-seat TYPE [NAME=VALUE...]
          Add a dynamic seat.
  • Courir:

    $ dm-tool add-nested-seat
    /org/freedesktop/DisplayManager/Seat2
    

    Mise à jour : Avec une version plus récente, il est possible de contrôler les dimensions de la nouvelle fenêtre ou de la laisser en plein écran en ajoutant des paramètres --fullscreenou --screen XxY, voir dm-tool --help.

  • Vous avez une nouvelle fenêtre avec une nouvelle session (intitulée Xephyr on):

    entrez la description de l'image ici

  • Connectez-vous ensuite à l'aide d'un autre bureau (LXDE):

    entrez la description de l'image ici

  • Vous pouvez basculer si la souris et le clavier doivent être capturés dans la nouvelle session en tapant Ctrl-Shift.

  • Consultez la liste des sièges:

    $ dm-tool list-seats
    Seat2
      CanSwitch=false
      HasGuestAccount=true
      Session2
        UserName='sneetsher'
    Seat0
      CanSwitch=true
      HasGuestAccount=true
      Session0
        UserName='sneetsher'
    

  • Pour exécuter en plein écran:

    Xephyr :1 -br -fullscreen &
    dm-tool add-local-x-seat 1
    

Référence: Using_Xephyr


ce n'est pas exactement ce que je recherche, mais Xephyrc'est un bon outil à savoir .. plus de +1 .. ne dm-tool add-nested-seatsemble fonctionner que pour moi, ne peut pas commencer avec une résolution spécifiée ou en plein écran avec Xephyr.. et arrêter ne ferme pas l'esclave X; Je dois cliquer sur le bouton de fermeture (est-ce bien?) ..
précis

dm-tool add-nested-seatfonctionne avec certains paramètres par défaut, c'est pourquoi je lance Xephyren plein écran dans un nouvel affichage, puis je cours dm-toolsur cet affichage. "Arrêter ne ferme pas l'esclave X" car ce n'est pas la visualisation du système, mais je ne sais pas s'il y a une meilleure façon. Cette session peut même être fermée comme n'importe quelle fenêtre avec Alt + F4. Et vous pouvez basculer entre n'importe quelle fenêtre Alt + Tab.
user.dz

2
Dans le dm-outil a été mis à jour entre - temps, il accepte maintenant les options --fullscreenou --screen 800x600il est donc probablement pas toujours nécessaire d'exécuter directement Xephyr pour y parvenir. Tapez dm-tool --helppour le voir documenté. (La page de manuel sera probablement mise à jour plus tard avec les nouvelles options.)
mit

7

C'est une réponse hypothétique, mais peut-être que quelqu'un avec plus de connaissances sur le sujet peut s'appuyer sur mes déclarations. S'ils sont exécutés sous une sortie xserver différente, vous pouvez basculer entre eux en appuyant simplement sur Ctrl+ Alt+ F1, Ctrl+ Alt+ F2, ... etc. Où F1est X1, F2est X2, .. etc. Je suppose que les commandes seraient dans le sens de:

  1. Dans le type de terminal: sudo xhost +

    Veuillez noter que cela présente un risque pour la sécurité car vous venez d'autoriser l'accès à l'une de vos sorties x.

  2. Ctrl+ Alt+F1

    Cela vous amène à la sortie X 1, le bureau par défaut est sur f7

  3. Type: export DISPLAY=localhost:1

    1 parce que vous êtes sur x sortie 1, la valeur par défaut est sur 0, et pour des sorties supplémentaires, vous utiliserez des nombres plus élevés, par exemple: 2,3,4 etc.

  4. Tapez: startxfce4(XFCE), startkde(KDE) ou startlxde(LXDE) pour ouvrir le bureau dans la nouvelle sortie X.

Cela ne fonctionne pas encore pour moi, je pense que c'est parce que vous devez l'exécuter en tant qu'utilisateur différent, car lorsque j'essaye, il dit que le bureau fonctionne déjà sur l'autre hôte local? C'est aussi loin que j'ai pu en arriver là.


1
Je l'ai essayé, je n'ai que Gnome / Unity. startxn'a pas fonctionné. Je l'exécute donc en arrière startx &- plan , cela fonctionne et crée une nouvelle session gnome (ma valeur par défaut) avec le même utilisateur sur tty8 (Ctrl + Alt + F8). J'ai essayé à nouveau avec sudo xhost -car je pensais que c'est le même utilisateur pourquoi pas, ça marche aussi. La déconnexion me ramène à tty1.
user.dz

2

Point de vue alternatif

Il est possible d'exécuter une autre xsession, pour un autre utilisateur.

Créez simplement un nouvel utilisateur

sudo useradd test_test

Il ne vous reste plus qu'à verrouiller votre compte Ctrl+ Alt+ L, puis passer à un nouvel utilisateur ajouté et vous connecter. Dans le menu de connexion, vous pouvez choisir entre l'environnement de bureau installé.

Il démarrera automatiquement une nouvelle xsession dans un nouveau tty. Pour moi, ça l'est tty8. Maintenant, en utilisant Ctrl+ Alt+ F7, je peux retourner à mon utilisateur xsession. Utilisation de Ctrl+ Alt+ F8pour le nouvel utilisateur xsession.


1
c'est simplement basculer entre les comptes d'utilisateurs .. Je cherche un moyen de passer à un environnement différent dans la même session où mes applications devraient conserver leur état entre les commutateurs ...
précis

1
C'est exactement ce que je cherchais pour augmenter la productivité en me concentrant sur un compartiment à la fois.
Banago
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.