Cambie entre entornos de escritorio instantáneamente dentro de la sesión de escritorio en ejecución

Cambie entre entornos de escritorio instantáneamente dentro de la sesión de escritorio en ejecución

¿Hay alguna manera de cambiar instantáneamente?(preferiblemente desde la línea de comando)entre un entorno de escritorio y otro; decir, deUnidadaGNOME clásico¿Sin tener que cerrar ninguna de las aplicaciones en ejecución en la misma sesión de escritorio?

(Tenga en cuenta que no se trata de instalar los entornos).

Respuesta1

Obtuve un buen truco mientras buscaba la combinación de teclas de WM y leía páginas de manual.

man dm-tool

dm-tooles una herramienta para comunicarse con el administrador de pantalla 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.
  • Correr:

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

    Actualizar: Con la versión más reciente, es posible controlar las dimensiones de la nueva ventana o dejarla en pantalla completa agregando parámetros --fullscreeno --screen XxY, consulte dm-tool --help.

  • Obtuve una nueva ventana con una nueva sesión (titulada Xephyr on):

    ingrese la descripción de la imagen aquí

  • Luego inicie sesión usando otro escritorio (LXDE):

    ingrese la descripción de la imagen aquí

  • Puede alternar si el mouse y el teclado deben capturarse en la nueva sesión escribiendo Ctrl-Shift.

  • Consultar lista de asientos:

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

  • Para ejecutar en pantalla completa:

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

Referencia:Usando_Xephyr

Respuesta2

Esta es una respuesta hipotética, pero quizás alguien con más conocimientos sobre el tema pueda aprovechar mis afirmaciones. Si se ejecutan bajo un diferenteservidor xsalida, entonces podrías cambiar entre ellos simplemente presionando Ctrl+ Alt+ F1, Ctrl+ Alt+ F2,...etc. ¿Dónde F1está X1, F2es X2, etc.? Supongo que los comandos serían del tipo:

  1. En tipo de terminal:sudo xhost +

    Tenga en cuenta que esto presenta un riesgo de seguridad porque acaba de permitir el acceso a cualquiera de sus salidas x.

  2. Ctrl+ Alt+F1

    Esto lo lleva a la salida X 1, el escritorio predeterminado está en f7

  3. Tipo:export DISPLAY=localhost:1

    1 porque está en x salida 1, el valor predeterminado es 0, y para salidas adicionales usará números más altos, por ejemplo: 2,3,4, etc.

  4. Escriba: startxfce4(XFCE), startkde(KDE) o startlxde(LXDE) para que el escritorio se abra en la nueva salida X.

Esto no me funciona todavía, creo que es porque debes ejecutarlo como un usuario diferente, porque cuando lo intento dice que el escritorio ya se está ejecutando en el otro host local. Hasta aquí he podido llegar con esto.

Respuesta3

Punto de vista alternativo

Es posible ejecutar otra sesión x para otro usuario.

Simplemente crea un nuevo usuario

sudo useradd test_test

Ahora solo necesita bloquear su cuenta Ctrl+ Alt+ L, luego cambiar a un nuevo usuario agregado e iniciar sesión. En el menú de inicio de sesión puede elegir entre el entorno de escritorio instalado.

Automáticamente iniciará una nueva xsession en un nuevo tty. Para mí lo es tty8. Ahora , usando Ctrl++ , puedo volver a mi sesión de usuario x. Usando + + volver a la nueva sesión de usuario.AltF7CtrlAltF8

información relacionada