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
--fullscreen
ou--screen XxY
, vejadm-tool --help
.Nova janela com nova sessão (intitulada
Xephyr on
):Em seguida, faça login usando outro desktop (LXDE):
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:
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.
Ctrl+ Alt+F1
Isso leva você para a saída 1 do X, a área de trabalho padrão está em f7
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.
Digite:
startxfce4
(XFCE),startkde
(KDE) oustartlxde
(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.