O caso: Tive que lançar um programa gráfico em um servidor que é acessível via ssh (não pergunte porque, o software realmente insistiu). Isso é muito fácil ao usar o Linux no servidor e na minha máquina. Basta usar o x-forwarding no ssh (opção de linha de comando -X
) e a janela aparecerá na tela. Ocorreu um problema ao usar su
. Isso era meio complicado, porque parte do x-forwarding é adicionar uma linha ao arquivo ~/.Xauthority
dizendo para onde a saída do X pode ser redirecionada. Ao trocar o usuário esta linha não foi transferida para o outro usuário e então X não sabia onde exibir a janela. Em servidores debian, há uma solução realmente simples: Use em sux
vez desu
. Este pequeno programa auxiliar faz a transferência. No entanto, em rhel an friends este comando não está instalado. Lá, você pode executar estas etapas manualmente:
xauth extract /tmp/x :10
su …
xauth merge /tmp/x
Et voila, você tem X.