Clona uma sessão do xorg remotamente

1

Alguém sabe como clonar / conectar-se a um servidor xorg em execução para ver em tempo real o que o monitor / exibição mostra (O visor está a alguns quilômetros de distância, mas posso alcançá-lo usando TCP / IP)? Eu tenho um pequeno script para obter uma captura de tela, mas é um pouco limitado.

#!/bin/bash
REMOTE_USER=root
IP=$1
IMAGE_FILE=/tmp/host_${IP}_'date +"%Y%m%d-%H:%M:%S"'.png
ssh root@$IP 'xwd -d :0 -root | gzip' | gunzip | convert - $IMAGE_FILE

Eu achei que seria legal ver o que a tela está mostrando em tempo real, se possível, claro. :)

Agradecemos antecipadamente

Humber

    
por Humber 06.01.2010 / 20:20

4 respostas

3

Eu tenho isso em bin / startvnc em minhas máquinas:

x11vnc -display :0 -localhost -nopw -clear_mods

Se a caixa tiver outros usuários, remova o -nopw se você estiver paranóico com relação à segurança.

Eu faço login com algo assim:

ssh -C -L 5904:localhost:5900 box

e, em seguida, execute startvnc

em seguida, na minha máquina local, execute

xvncviewer 0:1

Não é tão automatizado quanto um único comando, mas eu sempre estou logado em uma sessão de tela, então se eu quiser usar o vnc eu apenas abro uma nova janela de tela e executo startvnc,

    
por 07.01.2010 / 03:54
6

Se você quiser instalar o x11vnc na máquina remota, você pode usá-lo assim:

ssh remote_ip_address sudo x11vnc -auth /home/some_user/.Xauthority -display: 0

Lembre-se de ter o encaminhamento X11 ativado no sshd.config. E você precisa de um cliente VNC.

Se você não quiser usar o VNC, você pode usar qualquer outro programa como o Xnest:

Xnest-geometria 1024x768: 1 & DISPLAY =: 1 ssh -X gnome-session

Será necessária alguma modificação para o seu caso específico, mas para alguém que esteja usando o xwd, isso não será um problema.

    
por 06.01.2010 / 20:31
0

Talvez isso seja um exagero para o seu caso em particular. Mas vou postar mesmo assim, caso seja útil para outras pessoas que vierem a essa pergunta no futuro.

Outra maneira de se conectar a uma sessão X é configurando o FreeNX na máquina que você deseja controlar remotamente. Em seguida, em sua máquina local, você deve executar o cliente NX, solicitando uma sessão de sombra .

Quando o cliente NX se conectar à máquina remota, você verá uma lista de sessões disponíveis. Se você escolher "X0 (Local)", poderá ver e controlar o visor remoto.

Para mais detalhes, você pode dar uma olhada em Introdução ao NX (ver seção 4.5, " Compartilhamento de área de trabalho e sombreamento de sessão ")

    
por 27.02.2010 / 23:33
0

Na verdade, com alguma distribuição como o Opensuse 11.2, se você for usar x11vnc, provavelmente precisará usar um arquivo .Xauthority criado para o gerenciador de login (gdm, kdm), em vez de um arquivo criado para o próprio usuário (algo como /home/user/.Xauthority ou assim), e você pode encontrá-lo em Opensuse, olhando para:

/var/lib/xdm/ authdir/ authfiles / something-name-psedorandomly-generated

  • provavelmente você deve limpar este diretório antes de tentar usar o arquivo .Xauthority (serão vários arquivos de autenticação criados anteriormente para sessões anteriores do X), desligando o X e depois reiniciando-o, depois disso, você encontrará um novo arquivo, a autorização real para a nova sessão X recentemente iniciada.

Se você estiver usando outra distro, provavelmente deve procurar em / var / lib / gdm, / var / lib / kdm e diretórios similares.

    
por 28.02.2010 / 02:05

Tags