¿Cómo mostrar xclock en otra computadora?

8

Quiero mostrar xclocken otra computadora.

En mi computadora ( 111) puedo acceder a pingla otra computadora ( 222) dentro de mi red doméstica:

$ ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 44:55:66:77:88:99  
          inet addr:192.168.0.111  Bcast:192.168.0.255  Mask:255.255.255.0
$ ping 192.168.0.222

El enrutador es un enrutador Gigabit inalámbrico N D-Link DIR-655 .

$ xclock -display 192.168.0.111:0

Muestra el xclocken mi computadora ( 111) como se esperaba. En la otra computadora ( 222):

$ xhost +

Pero luego de vuelta en mi computadora ( 111) también se muestra en mi computadora cuando se cambia a:

$ xclock -display 192.168.0.222:0

Para intentar verificar el uso del -displayinterruptor:

$ xclock -display 192.168.0.111:0.1
Error: Can't open display: 192.168.0.111:0.1
$ ping 192.168.0.333
ping: unknown host 192.168.0.333
$ xclock -display 192.168.0.333:0

Esperaría que fallara, pero también se muestra en mi computadora ( 111) pero con un poco de retraso. Estos resultados me dicen que el displayargumento está llegando xclock.

$ uname -a
 Linux mycomputer 3.2.0-27-generic #43-Ubuntu SMP Fri Jul 6 14:46:35 UTC 2012 i686 i686 i386 GNU/Linux

Estoy usando LXDE en lugar de GNOME o KDE.

Solo intento xclockmostrar y no estoy interesado en abordar los problemas de seguridad en esta pregunta.

CW Holeman II
fuente

Respuestas:

5

Hay que verificar dos cosas: el puerto 6000 debe estar abierto en la máquina 222 (configurar o deshabilitar el firewall), y el servidor X mismo debe estar escuchando en ese puerto. Esto a menudo está deshabilitado en las distribuciones modernas. Comprueba si está escuchando con

# netstat -nltp | grep 6000
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      10818/Xorg          
tcp6       0      0 :::6000                 :::*                    LISTEN      10818/Xorg          

Si no, puede habilitarlo para gdm en /etc/gdm/custom.conf

[security]
DisallowTCP=false

Cierre sesión / reinicie gdm en la máquina 222 e inicie sesión nuevamente. Entonces debería ver a Xorg escuchando en el puerto 6000.

Peter
fuente
1
'/etc/lightdm/lightdm.conf y agregue xserver-allow-tcp = true' para LXDE desde askubuntu.com/questions/72812/how-to-disable-nolisten
CW Holeman II
4

En mi computadora ( 111):

ssh -X 192.168.0.222

seguido simplemente por:

xclock

se ejecutará xclocken la otra computadora ( 222) y se mostrará en mi computadora ( 111).

Nota: Para que esto funcione, X11Forwardingdebe estar habilitado en la /etc/ssh/sshd_configcomputadora ( 222)

CW Holeman II
fuente
1

Y puedes hacer lo más simple :)

$ ssh -X 192.168.0.222 "xclock"
Grégory Roche
fuente
0

Aquí está la respuesta actualizada. Funcionó para mí en la nueva instalación de Ubuntu 18.04.02.

Instalé el servidor ssh para hacer que el sistema sea accesible en ssh.

Nada está bloqueado por defecto para verificarlo. Entonces nada que hacer. iptables -L

Abrí el archivo /etc/gdm/custom.confy agregué

[security]
DisallowTCP=false

Descomento lo siguiente en /etc/ssh/sshd_config

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10

Reinicié la máquina y ejecuté el comando xhost +

Ahora fui a la segunda computadora y ejecuté el comando, asegúrese de que xclock esté instalado y suponiendo que la salida del comando echo $DISPLAYes: 1

xclock -display IP_Address:1

Verá el xclock en la computadora ubuntu.

netstat -antlp | grep 6001 estaba mostrando a Xorg escuchando.

Mian Asbat Ahmad
fuente