Efetue login como outro usuário com capacidade de GUI

3

Usando o Ubuntu 14.04 com o Unity. Faço login com meu usuário habitual (admin) em ambiente gráfico. Uma vez logado, gostaria de executar comandos GUI como se eu fosse outro usuário (normal), para testar um aplicativo cliente-servidor. Eu preciso de vários usuários (um para servidor e outro para cada cliente), porque cada um precisa de um ambiente $HOME próprio. No futuro, eles devem ser instalados em máquinas separadas.

Então, eu abro um terminal e faço:

su - user 

Quando executo qualquer comando GUI (como 'xterm'), ele diz o usual

  
    

Nenhum protocolo especificado
    Não é possível abrir a exibição:

  

Eu li várias maneiras de resolver isso usando xauth , xhost , etc., mas a que funcionou para meus propósitos foi:

admin# sudo cp ~/.Xauthority ~user/. 
admin# sudo chown user ~user/.Xauthority
admin# su - user

user$ export XAUTHORITY=~/.Xauthority

Agora posso executar qualquer comando da GUI, como xterm .

No entanto, esta solução funciona apenas dentro da mesma sessão de GUI. Depois de reiniciar o computador, o arquivo .Xauthority foi alterado e essa solução não é mais válida, a menos que eu copie .Xauthority novamente, o que é entediante e envolve comandos sudo para copiar.

Então, existe uma maneira de torná-lo persistente em .bashrc ou de outra maneira? Quer dizer, uma vez que eu abro um terminal da GUI e efetuo login usando su - <user> , seria capaz de executar comandos que requerem GUI sem ter que fazer todas as coisas anteriores.

Desculpe por Inglês.

    
por Albert 14.06.2016 / 10:31

0 respostas