20 votes

Passer instantanément d'un environnement de bureau à un autre au sein de la session de bureau en cours

Existe-t-il un moyen de passer instantanément (de préférence depuis la ligne de commande) d'un environnement de bureau à un autre; disons, de Unity à GNOME classique sans avoir à fermer aucune 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.)

13voto

user.dz Points 45060

J'ai découvert une astuce intéressante pendant que je cherchais des raccourcis clavier pour WM en lisant les pages de manuel.

man dm-tool

dm-tool est un outil de communication avec le gestionnaire d'affichage LightDM.

   list-seats
          Liste les seats actifs et les sessions en cours.

   add-nested-seat
          Lance un serveur X dans une session et le connecte à un gestionnaire d'affichage.

   add-local-x-seat NUMÉRO_AFFICHAGE
          Connecte un serveur X existant au gestionnaire d'affichage.

   add-seat TYPE [NOM=VALEUR...]
          Ajoute un seat dynamique.
  • Exécutez :

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

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

  • Nouvelle fenêtre avec nouvelle session (intitulée Xephyr on) :

    description de l'image

  • Ensuite, connectez-vous en utilisant un autre bureau (LXDE) :

    description de l'image

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

  • Vérifiez la liste des seats :

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

  • Pour exécuter en plein écran :

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

Référence : Using_Xephyr

8voto

Tomi Aalto Points 11

Ceci est une réponse hypothétique, mais peut-être que quelqu'un avec plus de connaissances sur le sujet peut compléter mes déclarations. S'ils sont exécutés sous une sortie xserver différente, vous pourriez passer de l'une à l'autre en appuyant simplement sur Ctrl+Alt+F1, Ctrl+Alt+F2,...etc. Où F1 est X1, F2 est X2,..etc. Je suppose que les commandes seraient du genre :

  1. Dans le terminal, tapez : sudo xhost +

    Veuillez noter que cela représente un risque de sécurité car vous venez d'autoriser n'importe laquelle de vos sorties x à accéder.

  2. Ctrl+Alt+F1

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

  3. Tapez : export DISPLAY=localhost:1

    1 parce que vous êtes sur la sortie x 1, la sortie 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 pour moi encore, je pense que c'est parce que vous devez l'exécuter en tant qu'utilisateur différent, car quand j'essaie, cela dit que le bureau est déjà en cours d'exécution sur l'autre localhost ? C'est aussi loin que j'ai pu aller avec cela.

2voto

c0rp Points 9110

Point de vue alternatif

Il est possible d'exécuter une autre session X pour un autre utilisateur.

Créez simplement un nouvel utilisateur

sudo useradd test_test

Vous n'avez maintenant qu'à verrouiller votre compte Ctrl+Alt+L, puis basculer vers un nouvel utilisateur ajouté et vous connecter. Dans le menu de connexion, vous pouvez choisir entre les environnements de bureau installés.

Une nouvelle session X démarrera automatiquement dans une nouvelle tty. Pour moi, c'est tty8. Maintenant, en utilisant Ctrl+Alt+F7, je peux revenir à ma session X utilisateur. En utilisant Ctrl+Alt+F8 je reviens à la session X du nouvel utilisateur.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X