você está aqui: Home  → Arquivo de Mensagens

Abrir aplicação gráfica em um host remoto através do SSH a partir do usuário root

Colaboração: Islan Rocha

Data de Publicação: 11 de maio de 2011

Alguma vez você já precisou abrir um aplicativo gráfico em uma estação remota com os privilégios do próprio usuário que a utiliza?

Recentemente precisei configurar um aplicativo para um usuário específico em uma estação remota, porém não queria ocupar a estação do usuário enquanto configurava o aplicativo. Neste caso, abrí-lo através de uma conexão SSH com o X habilitado seria o ideal.

Quando você possui o usuário e senha do host remoto no qual quer configurar o aplicativo isso não é problema, bastando fazer algo do tipo:

  info02@info02:~$ ssh -X compras@compras03
  compras@compras03's password:
  compras@compras03:~$ xsane

O aplicativo abrirá sem problemas e qualquer alteração em suas configurações serão guardadas no perfil deste mesmo usuário.

Suponhamos que você não tenha a senha do usuário para o qual deseja configurar o software. O que fazer?

Podemos tentar logar como super usuário, alterar o perfil para o usuário que queremos e tentar abrir o software. Porém receberemos um erro:

  info02@info02:~$ ssh -X root@compras03
  root@compras03's password:
  compras03:~# su - compras
  compras@compras03:~$ xsane
  
  (xsane:3095): Gtk-WARNING **: cannot open display:
  compras@compras03:~$

A sequência para conseguir abrir a aplicação com sucesso seria:

  1. Logar na estação remota com usuário que você possui habilitando o X. (loguei como root);
  2. Confirmar o Display setado nas variáveis de ambiente (echo $DISPLAY) ;
  3. Verificar e copiar a linha que contém o "cookie" relacionado ao display setado em nossa seção (xauth list);
  4. Alternar para o usuário que deve ter o software configurado em seu perfil( su < usuario>);
  5. Adicionar o cookie do display ao novo usuário (xauth add < linha copiada no passo 3>);
  6. Executar a aplicação.

Um exemplo prático destes passos pode ser visto abaixo:

  info02@info02:~$ ssh -X root@compras03
  root@compras03's password:
  compras03:~# echo $DISPLAY
  localhost:10.0
  compras03:~# xauth list
  compras03/unix:11  MIT-MAGIC-COOKIE-1  e2564ead0158e22db6b243ed3008bdc8
  compras03/unix:10  MIT-MAGIC-COOKIE-1  4120ad75e0a2be45464d6aa8217a0d48
  compras03:~# su compras
  compras@compras03:/root$ xauth add compras03/unix:10  MIT-MAGIC-COOKIE-1  4120ad75e0a2be45464d6aa8217a0d48
  compras@compras03:/root$ xsane

Isso pode ser bem útil no dia a dia. ;)

Islan Rocha é bacharel em Ciência da Computação, pós-graduando em Administração de Redes Linux pela Universidade Federal de Lavras. Usuário Linux e disseminador da cultura open source desde 2003.


Veja a relação completa dos artigos de Islan Rocha

 

 

Opinião dos Leitores

Marcos Lazarini
15 Out 2011, 23:40
Pra mudar o usuário e não precisar fazer malabarismo com as credenciais do xauth, eu costumo usar o comando 'sux' ao invés do 'su' - ele já faz o xauth pra você...
apt-get install sux
rogerio machado
15 Mai 2011, 14:48
colega lauro
o comentário que havia feito era sobre o artigo, infelizmente não tenho como lhe ajudar com isso, até porque raramente uso "office's" seja MS, Libre, etc.
Nessa área sou menos que iniciante.

mas voce quer realmente ser ajudado poderia pelo menos postar a mensagem de erro exibida ...
lauro filho
15 Mai 2011, 14:35
pois é rogerio, é um modo muito bacana de usar o office, o grande problema, que até agora não encontrei solução, é abrir os documento criados pelo office, depois de salvo...ja fui em varios tuto e ate agora não encontrei nenhuma ajuda..
rogerio machado
12 Mai 2011, 08:18
gostei, o meu jeito de contornar isso é editando o /etc/sudoers para cada aplicação, mas acho que vou começar a adotar seu método
lauro filho
11 Mai 2011, 13:30
Islan
o que vou lhe perguntar nao tem nada haver com o artigo acima.Instalei o playonlinux na minha maquina e depois instalei o office 2007, consegui abri os programas do office normalmente. O problema é abrir qualquer documento do office, pois da uma mensagem de erro dizendo que não pode ser aberto pelo linux...
como fazer?

Obrigado

Lauro Filho
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script