Cambie entre entornos de escritorio al instante dentro de la sesión de escritorio en ejecución

16

¿Hay alguna manera de cambiar instantáneamente (preferiblemente desde la línea de comandos) entre un entorno de escritorio y otro; digamos, ¿desde Unity hasta GNOME 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).

preciso
fuente
2
Veamos quién da un paso adelante con una respuesta autorizada, pero creo que, en lo que respecta a Ubuntu y los sabores oficiales, debe cerrar la sesión y volver a iniciarla . Hubo / hay algo llamado Hybryde Fusion 13.04 que parece ofrecer algo relacionado pero eso estaría fuera de tema aquí.
sí que parece ofrecer alguna HY-D-V1 escritorio ambiente .. la apariencia parece ser bastante cerca de GNOME3, pero espero que ofrece una mejor experiencia ..
precisa
Y luego creo que Zorin también ofrece algo similar. Eso también sería OT: D He decidido que una sesión pura de Openbox sin escritorio es lo suficientemente buena para mí;)

Respuestas:

11

Obtuve un buen truco mientras buscaba la encuadernación de teclas WM, leyendo páginas de manual.

man dm-tool

dm-tool es 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
    

    Actualización : 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, ver 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 con 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: Using_Xephyr

user.dz
fuente
no es exactamente lo que estoy buscando, pero Xephyres una buena herramienta para saber sobre ... más de +1 ... solo dm-tool add-nested-seatparece estar funcionando para mí, no puedo comenzar con una resolución específica o pantalla completa con Xephyr... y apagar no cierra el esclavo X; Tengo que hacer clic en el botón Cerrar (¿es bueno?) ..
preciso
dm-tool add-nested-seatfunciona con algunos valores predeterminados, es por eso que ejecuto Xephyrcomo pantalla completa en una nueva pantalla y luego corro dm-toola esa pantalla. "Cerrar no cierra el esclavo X" porque no es visualización del sistema, pero no estoy seguro de si hay una mejor manera. Esa sesión puede incluso cerrarse como cualquier ventana con Alt + F4. Y puede cambiar entre cualquier ventana Alt + Tab.
user.dz
2
En el ínterin dm-herramienta se actualiza, ahora se acepta opciones --fullscreeno --screen 800x600lo que probablemente no es siempre necesario ejecutar Xephyr directamente a lograr este objetivo. Escriba dm-tool --helppara verlo documentado. (La página del manual probablemente se actualizará más tarde con las opciones más nuevas)
Mit
7

Esta es una respuesta hipotética, pero quizás alguien con más conocimiento sobre el tema pueda construir sobre mis declaraciones. Si se ejecutan bajo una salida xserver diferente, entonces puede cambiar entre ellos simplemente presionando Ctrl+Alt + F1, Ctrl+ Alt+ F2, ... etc. Donde F1es X1, F2es X2, etc. Supongo que los comandos estarían en la línea de:

  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. Tipo: startxfce4(XFCE),startkde (KDE) o startlxde(LXDE) para abrir el escritorio en la nueva salida X.

Esto aún no funciona para mí, 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. Esto es lo más lejos que he podido llegar con esto.

mango
fuente
1
Lo intenté, solo tengo Gnome / Unity. startxno funcionó Así que lo ejecuto en segundo plano startx &, funciona y creé una nueva sesión de gnome (mi predeterminado) con el mismo usuario en tty8 (Ctrl + Alt + F8). Lo intenté nuevamente, sudo xhost -ya que aunque es el mismo usuario, ¿por qué no? También funciona. Cerrar sesión me lleva de vuelta a tty1.
user.dz
2

Punto de vista alternativo

Es posible ejecutar otra xsession, para otro usuario.

Solo 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 Desktop Environment instalado.

Se iniciará automáticamente la nueva xsession en new tty. Para mi lo es tty8. Ahora usando Ctrl+ Alt+ F7, puedo volver a mi sesión de usuario. Usando Ctrl+ Alt+ F8volver al nuevo usuario xsession.

c0rp
fuente
1
que es simplemente cambiar entre cuentas de usuario .. Estoy buscando una manera de cambiar a un ambiente diferente en la misma sesión en la que mis aplicaciones deben conservar su estado entre el interruptor ...
precisa
1
Esto es exactamente lo que estaba buscando para aumentar la productividad al centrarme en un compartimento a la vez.
Banago