Comment afficher xclock sur un autre ordinateur?

8

Je souhaite afficher xclocksur un autre ordinateur.

Sur mon ordinateur ( 111), je suis en mesure de pingl'autre ordinateur ( 222) à l'intérieur de mon réseau domestique:

$ 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

Le routeur est un routeur Gigabit sans fil N DIR-655 D-Link .

$ xclock -display 192.168.0.111:0

Affiche le xclocksur mon ordinateur ( 111) comme prévu. Sur l'autre ordinateur ( 222):

$ xhost +

Mais de retour sur mon ordinateur ( 111), il s'affiche également sur mon ordinateur lorsqu'il est remplacé par:

$ xclock -display 192.168.0.222:0

Pour tenter de vérifier l'utilisation du -displaycommutateur:

$ 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

Je m'attendrais à ce qu'il échoue, mais il s'affiche également sur mon ordinateur ( 111) mais avec un peu de retard. Ces résultats me disent que l' displayargument est en train d'arriver 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

J'utilise LXDE plutôt que GNOME ou KDE.

J'essaie seulement d'obtenir xclockà afficher et ne suis pas intéressé à résoudre les problèmes de sécurité dans cette question.

CW Holeman II
la source

Réponses:

5

Deux choses à vérifier: le port 6000 doit être ouvert sur la machine 222 (configurer ou désactiver le pare-feu), et le serveur X lui-même doit écouter sur ce port. Ceci est souvent désactivé dans les distributions modernes. Vérifiez s'il écoute avec

# 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          

Sinon, vous pouvez l'activer pour gdm dans /etc/gdm/custom.conf

[security]
DisallowTCP=false

Déconnectez / redémarrez gdm sur la machine 222 et reconnectez-vous. Vous devriez alors voir Xorg écouter sur le port 6000.

Peter
la source
1
'/etc/lightdm/lightdm.conf et ajoutez xserver-allow-tcp = true' pour LXDE sur askubuntu.com/questions/72812/how-to-disable-nolisten
CW Holeman II
4

Sur mon ordinateur ( 111):

ssh -X 192.168.0.222

suivi simplement de:

xclock

s'exécutera xclocksur l'autre ordinateur ( 222) et s'affichera sur mon ordinateur ( 111).

Remarque: pour que cela fonctionne, X11Forwardingvous devez l'activer /etc/ssh/sshd_configsur l'ordinateur ( 222)

CW Holeman II
la source
1

Et vous pouvez faire le plus simple :)

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

Voici la réponse mise à jour. Cela a fonctionné pour moi sur une nouvelle installation d'Ubuntu 18.04.02.

J'ai installé le serveur ssh pour rendre le système accessible sur ssh.

Rien n'est bloqué par défaut, pour le vérifier. Donc rien à faire. iptables -L

J'ai ouvert le fichier /etc/gdm/custom.confet ajouté

[security]
DisallowTCP=false

Je commente ce qui suit dans /etc/ssh/sshd_config

AllowTcpForwarding yes
X11Forwarding yes
X11DisplayOffset 10

J'ai redémarré la machine et exécuté la commande xhost +

Maintenant, je suis allé sur le deuxième ordinateur et exécutez la commande, assurez-vous que xclock est installé et en supposant que la sortie de la commande echo $DISPLAYest: 1

xclock -display IP_Address:1

Vous verrez l'horloge sur l'ordinateur Ubuntu.

netstat -antlp | grep 6001 montrait Xorg à l'écoute.

Mian Asbat Ahmad
la source