web-dev-qa-db-fra.com

Basculez instantanément entre les environnements de bureau dans la session de bureau en cours

Y at-il un moyen de basculer instantanément (de préférence depuis la ligne de commande) entre un environnement de bureau et un autre; dire, de nity à GNOME classique sans avoir à fermer les 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.)

15
precise

J'ai eu une astuce intéressante alors que je recherchais la liaison de clé WM, la lecture de pages de manuel.

man dm-tool

dm-tool est un outil permettant de 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 la nouvelle version, 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.

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

    enter image description here

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

    enter image description here

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

  • Vérifier la liste des places:

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

  • Pour fonctionner en plein écran:

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

Référence: sing_Xephyr

10
user.dz

C'est une réponse hypothétique, mais peut-être que quelqu'un qui a plus de connaissances sur le sujet peut s'appuyer sur mes déclarations. Si elles sont exécutées sous une sortie different xserver, vous pouvez basculer entre elles en appuyant simplement sur Ctrl+Alt+F1Ctrl+Alt+F2,...etc. Où F1 est X1, F2 est X2, .. etc. Je suppose que les commandes ressembleraient à:

  1. Dans le type de terminal: Sudo xhost +

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

  2. Ctrl+Alt+F1

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

  3. Tapez: export DISPLAY=localhost:1

    1 parce que vous êtes sur x sortie 1, la valeur par défaut est 0 et pour les 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 que le poste de travail s'ouvre dans la nouvelle sortie X.

Cela ne fonctionne pas encore pour moi, je crois que c'est parce que vous devez l'exécuter en tant qu'utilisateur différent, car lorsque j'essaie, cela indique que le bureau est déjà en cours d'exécution sur l'autre hôte local? Ceci est aussi loin que j'ai pu obtenir avec cela.

7
mango

Point de vue alternatif

Il est possible de lancer une autre xsession, pour un autre utilisateur.

Il suffit de créer un nouvel utilisateur

Sudo useradd test_test

Maintenant, il vous suffit de verrouiller votre compte Ctrl+Alt+L, puis passez à un nouvel utilisateur ajouté et connectez-vous. Dans le menu de connexion, vous pouvez choisir entre l’environnement de bureau installé.

Cela démarrera automatiquement new xsession dans new tty. Pour moi, il s'agit de tty8. Maintenant en utilisant Ctrl+Alt+F7, Je peux revenir à mon utilisateur xsession. En utilisant Ctrl+Alt+F8 Retour vers le nouvel utilisateur xsession.

1
c0rp