É possível ter 2 sessões de desktop GUI para 2 usuários diferentes (da mesma máquina)?

3

Eu preciso configurar o ambiente de desenvolvimento para poder depurar o backend de um aplicativo no Eclipse.

Existe um front-end (executável sob user1) e um back-end (executável sob user2). Cada usuário tem seu próprio login com seu próprio sistema de arquivos (em / home / user1 e / home / user2).

Se a depuração não fosse necessária, eu poderia simplesmente executar o backend a partir da sessão de terminal regular (onde você pode facilmente efetuar login como user2) - e isso funciona muito bem. Mas isso não é realmente uma depuração (se você navegar pelos arquivos de log).

Para ver os dados (fornecidos pelo back-end) no front-end, eu obviamente tenho que estar logado como user1. E isso significa que não consigo acessar o sistema de arquivos completo em / home / user2, que é o que o backend precisa.

Eu criei uma espécie de solução alternativa, mas considero-a extremamente suja - como uma raiz eu mudo os atributos de todo o diretório / home / user2 para que seja legível por todos. Dizer que não gosto seria um grande eufemismo. Pode não ser um grande problema para a máquina dev, exceto que você tem que fazer isso repetidamente para todos os novos arquivos que são criados durante o tempo de execução - o que você precisa fazer para cada sessão de depuração (que não é muito produtiva, mas pior case - factível).

Então, a pergunta é - como posso obter uma sessão de terminal com GUI completa logada como um usuário diferente do que já está logado na mesma máquina? Tipo de como um XMing (mas isso não é uma solução, uma vez que requer outra máquina Windows) ou RemoteDesktop (exceto eu estaria entrando na mesma máquina).

Simplificando, duas sessões da área de trabalho da GUI para dois usuários diferentes (da mesma máquina) em execução em paralelo. Do googling que fiz, parece que o CentOS realmente não suporta isso - mas eu posso facilmente estar perdendo algo aqui.

    
por 3D Coder 25.06.2013 / 21:53

1 resposta

2

Existem várias maneiras diferentes de fazer isso:

  1. Use o Xephyr para iniciar uma sessão X separada para o usuário 2 e interagir com ele.

  2. Execute um VNC X Server para o usuário 2 e inicie os programas para se conectar a ele. Você pode se conectar a ele com um visualizador VNC para interagir com ele.

  3. Execute dois servidores X, cada um em um terminal virtual diferente. Você pode alternar entre eles com Ctrl + Alt + F7 e Ctrl + Alt + F8 (normalmente)

Dito isto, isto não é necessário. Você pode ativar o backend como usuário 2, de forma que ele escute conexões de depuração na porta específica e conecte-se a ele com o Eclipse como usuário 1 em sua sessão X principal. Isso tem o benefício de ter o front-end e o back-end na mesma sessão do Eclipse para depuração.

    
por 25.06.2013 / 22:05