Alterna entre os ambientes de área de trabalho instantaneamente na sessão da área de trabalho em execução

14

Existe uma maneira de alternar instantaneamente (preferencialmente da linha de comando) entre um ambiente de desktop e outro; digamos, da Unity para o GNOME clássico sem ter que fechar nenhum dos aplicativos em execução na mesma sessão da área de trabalho?

(Por favor, note que não se trata de instalar os ambientes.)

    
por precise 05.02.2014 / 17:51

3 respostas

8

Eu recebi um truque legal enquanto procurava a vinculação de teclas do WM, lendo páginas do 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.
  • Executar:

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

    Atualização : com a versão mais recente, é possível controlar as dimensões da nova janela ou deixá-la em tela cheia, adicionando os parâmetros --fullscreen ou --screen XxY , consulte dm-tool --help .

  • Tem nova janela com nova sessão (intitulado Xephyr on ):

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

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

  • Verifique a lista de lugares:

    $ 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: Using_Xephyr

    
por user.dz 11.02.2014 / 13:49
7

Esta é uma resposta hipotética, mas talvez alguém com mais conhecimento sobre o assunto possa basear-se em minhas declarações. Se eles forem executados sob uma saída xserver diferente, você poderá alternar entre eles simplesmente pressionando Ctrl + Alt + F1 , Ctrl + Alt + F2 , ... etc. Onde F1 é X1, F2 é X2, .. etc. Eu estou supondo que os comandos seriam ao longo das linhas de:

  1. No tipo de terminal: sudo xhost +

    Por favor, note que isso representa um risco de segurança, porque você acabou de permitir que qualquer uma das suas x saídas acesse.

  2. Ctrl + Alt + F1

    Isso leva você para a saída X 1, 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 é em 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 abrir a área de trabalho na nova saída X.

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

    
por mango 07.02.2014 / 03:12
1

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 e login. No menu de login, você pode escolher entre o Ambiente de Trabalho instalado.

Ele iniciará automaticamente o novo xsession no novo tty. Para mim é tty8 . Agora usando Ctrl + Alt + F7 , posso retornar ao meu usuário xsession. Usando Ctrl + Alt + F8 volta para o novo usuário xsession.

    
por c0rp 07.02.2014 / 11:48