Ceci est sur le bureau 64 bits Ubuntu 10.10 (Maverick Meerkat).
Je souhaite que mon serveur X écoute les connexions distantes des clients d'autres machines du réseau local. Je connais ssh -X
et ce n’est pas ce que je veux. Je me souviens vaguement d'avoir changé quelque chose comme TCPListen
de no
en yes
, mais je ne me souviens pas où cette modification devrait être appliquée.
Je suis intéressé par une méthode graphique ou une méthode de la CLI.
PS édite /etc/X11/xinit/xserverrc
pour supprimer l’option -nolisten tcp
et le redémarrage ne fonctionne pas.
(Ci-dessous, une copie presque textuelle d'une réponse automatique de question identique sur serverfault dont j'avais oublié de parler; askubuntu n'a pas encore été créé).
D'après les informations trouvées dans cette page sur l'activation de XDCMP et le fichier /etc/gdm/gdm.schemas, j'ai réussi à créer un fichier /etc/gdm/custom.conf
:
# /etc/gdm/custom.conf
[xdmcp]
[chooser]
[security]
DisallowTCP=false
[debug]
Faites attention avec les lettres: cela ne fonctionnera pas si vous écrivez "disallowTCP = false" ... J'ai également modifié le fichier/etc/X11/xinit/xserverrc en:
exec /usr/bin/X11/X
c'est-à-dire que j'ai supprimé les options -nolisten tcp
dans l'exécutable X. Je ne sais pas si je devais le faire. Vous voudrez peut-être essayer d'éviter cette modification.
Si vous ne modifiez que le fichier xserverrc, X commencera néanmoins par "-nolisten TCP".
Après cela, tout ce qui est nécessaire est un redémarrage du processus gdm:
Sudo service gdm restart
Vous pouvez vérifier le succès en tant que:
tzot@tzot-laptop:/etc/X11
$ netstat -an | grep -F 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp6 0 0 :::6000 :::* LISTEN
Après une mise à niveau vers 12.04, j'ai eu le même problème. Cette fois, le coupable est la lightdm utilisée par le système. Le fichier à mettre à jour est /etc/lightdm/lightdm.conf
et l'ajout requis est un xserver-allow-tcp=true
dans la section [SeatDefaults]
.
Et après, j'ai aussi trouvé cette réponse . :)
Ainsi, dans 10.10, cela fonctionne toujours: créez /etc/gdm/custom.conf
avec le contenu spécifié ci-dessus et redémarrez gdm
.
Cette réponse est liée à Kubuntu 17.04 et je l’ajoute car aucune autre réponse (liée à gdm
ou lightdm
) m'a aidé. Dans mon cas sddm
était en cours d'exécution. Pour vérifier cela, lancez par exemple
ps -eal | grep sddm
S'il est en cours d'exécution, les processus sddm
et sddm-helper
sont affichés. Dans ce cas, ajoutez un fichier de configuration /etc/sddm.conf
avec le contenu.
[XDisplay]
ServerArguments=-listen tcp
Après la création de ce fichier, redémarrez votre système (un redémarrage sddm
est suffisant). En conséquence
PS ax | grep sddm
affiche l'option Xorg
souhaitée -listen tcp
et que le serveur X est prêt pour les connexions entrantes (n'oubliez pas d'ajouter l'hôte distant avec xhost
).
Ubuntu 18.04 fonctionnant sous le nom lubuntu 18.04 avec lightdm 1.26.0, c’est ce que j’avais à faire (cela ne m’a pris que quelques semaines pour tout comprendre.) Vous devez créer à la fois /etc/lightdm.conf et/etc/lightdm. conf.d/50-xserver-command.conf comme suit:
Sudo vi /etc/lightdm/lightdm.conf
[Siège:*]
xserver-allow-tcp = true xserver-command = X -listen tcp
Sudo vi /etc/lightdm/lightdm.conf.d/50-xserver-command.conf
[Siège:*]
xserver-command = X -core -listen tcp
Cela obligera lightdm à exécuter Xorg avec la ligne de commande suivante:
Xorg -listen tcp: 0 -seat seat0 -auth/var/run/lightdm/root /: 0 -listen tcp vt7
- novtswitch
Cela a "-listen tcp" deux fois, mais ça ne fait pas de mal. Si vous ne possédez pas les deux fichiers, l’une des options de Xorg sera "-nolisten tcp", qui surpasse l’autre "-listen tcp". J'ai enfin trouvé les indices à ce sujet sur https://lanforge.wordpress.com/2018/03/30/enabling-remote-x-connections/ .
Ajoutez ensuite: xhost + à votre .bashrc
Redémarrez et vérifiez que Xorg écoute maintenant sur le port 6000:
$ netstat -nal | grep 6000 tcp 0 0 0.0.0.0:6000 0.0.0.0:* ÉCOUTER
tcp6 0 0 ::: 6000 ::: * ECOUTER
Prendre plaisir...
Depuis Ubuntu 18.04, j’ai examiné les processus en cours et découvert que le gestionnaire d’affichage utilisé était gdm3:
$ ps ax|grep dm
1515 ? Ssl 0:00 /usr/sbin/gdm3
Ensuite, j'ai édité /etc/gdm3/custom.conf et ajouté une ligne:
[security]
DisallowTCP=false
Comme mentionné, l'ouverture du port 6000 n'est pas sécurisée. Cependant, je ne l'utilise que sur mon réseau domestique et le port est sécurisé par iptables pour s'ouvrir uniquement sur mon ordinateur portable principal. Tout devrait bien se passer.