Alterne entre ambientes de desktop instantaneamente na sessão de desktop em execução

Alterne entre ambientes de desktop instantaneamente na sessão de desktop em execução

Existe uma maneira de mudar instantaneamente(de preferência na linha de comando)entre um ambiente de desktop e outro; digamos, deUnidadeparaGNOME clássicosem precisar fechar nenhum dos aplicativos em execução na mesma sessão da área de trabalho?

(Observe que não se trata de instalar os ambientes.)

Responder1

Eu descobri um truque legal enquanto procurava a ligação de teclas do WM, lendo páginas de manual.

man dm-tool

dm-toolé uma ferramenta para se comunicar com o gerenciador de exibição 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
    

    Atualizar: Com a versão mais recente é possível controlar as dimensões da nova janela ou deixá-la em tela cheia adicionando parâmetros --fullscreenou --screen XxY, veja dm-tool --help.

  • Nova janela com nova sessão (intitulada Xephyr on):

    insira a descrição da imagem aqui

  • Em seguida, faça login usando outro desktop (LXDE):

    insira a descrição da imagem aqui

  • Você pode alternar se o mouse e o teclado devem ser capturados na nova sessão digitando Ctrl-Shift.

  • Confira lista de assentos:

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

  • Para executar em tela cheia:

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

Referência:Usando_Xephyr

Responder2

Esta é uma resposta hipotética, mas talvez alguém com mais conhecimento sobre o assunto possa desenvolver minhas afirmações. Se eles forem executados sob um método diferenteservidor xsaída, então você pode alternar entre eles simplesmente pressionando Ctrl+ Alt+ F1, Ctrl+ Alt+ F2,...etc. Onde F1está X1, F2é X2,..etc. Eu estou supondo que os comandos seriam do tipo:

  1. No tipo de terminal:sudo xhost +

    Observe que isso representa um risco de segurança porque você acabou de permitir o acesso a qualquer uma de suas saídas x.

  2. Ctrl+ Alt+F1

    Isso leva você para a saída 1 do X, a área de trabalho padrão está em f7

  3. Tipo:export DISPLAY=localhost:1

    1 porque você está na saída x 1, o padrão é 0 e para saídas adicionais você usará números mais altos, por exemplo: 2,3,4 etc.

  4. Digite: startxfce4(XFCE), startkde(KDE) ou startlxde(LXDE) para que a área de trabalho abra na nova saída X.

Isso ainda não funciona para mim, acredito que seja porque você deve estar rodando como um usuário diferente, pois quando tento diz que o desktop já está rodando no outro localhost? Isso é o máximo que consegui chegar com isso.

Responder3

Ponto de vista alternativo

É possível executar outra xsession, para outro usuário.

Basta criar um novo usuário

sudo useradd test_test

Agora você só precisa bloquear sua conta Ctrl+ Alt+ L, depois mudar para um novo usuário adicionado e fazer login. No menu de login você pode escolher entre o Ambiente de Trabalho instalado.

Ele iniciará automaticamente uma nova xsession em um novo tty. Para mim é tty8. Agora usando Ctrl+ Alt+ F7, posso retornar ao meu usuário xsession. Usando Ctrl+ Alt+ F8de volta ao novo usuário xsession.

informação relacionada