3 votes

Le transfert de X11 sur les applications ssh est très lent à démarrer

J'ai un serveur qui est extrêmement lent (il faut 3 à 5 minutes) pour lancer des applications X11 sur un lien X11 transféré. J'ai essayé de m'y connecter avec 2-3 machines différentes avec des systèmes d'exploitation différents. Une fois les applications lancées, tout semble aller bien. Je me connecte en utilisant la redirection X11 de confiance (ssh -Y) et en utilisant l'authentification par certificat (même si cela n'a pas d'importance).

Le système d'exploitation est Gentoo Linux sur amd64. Aucune des applications ne donne de messages liés à l'environnement X (l'une ne montre rien, une autre juste un message de bienvenue standard et la dernière un message d'erreur concernant l'utilisation d'une ressource (dont la fenêtre qui s'est finalement affichée m'a également parlé).

Selon la suggestion de Bertera, j'ai utilisé l'option -v. Il n'imprime rien tant que la fenêtre n'apparaît pas au moment de l'impression :

debug1: client_input_channel_open: ctype x11 rchan 3 win 87380 max 16384
debug1: client_request_x11: request from 127.0.0.1 43716
debug1: channel 1: new [x11]
debug1: confirm x11

De plus, j'ai testé le transfert de port ssh et il est également extrêmement lent (et je suppose que cela pourrait être le problème avec le transfert X11).

0 votes

Vérifiez si votre adresse IP est connue de tous les serveurs. Vérifiez les journaux, vous verrez peut-être une IP au lieu d'un FQDN.

1 votes

Peut-être un problème de DNS ? Essayez d'utiliser l'option -v pour voir où ssh est bloqué.

0 votes

Je ne vois pas très bien comment le DNS pourrait être lié à cela. Quoi qu'il en soit, si je me connecte à l'IP au lieu du FQDN, cela prend encore beaucoup de temps. Quant à l'utilisation de l'option -v, rien n'est imprimé au moment où il se bloque.

5voto

shodanshok Points 42743

Quelle est la latence/RTT vers le serveur (un simple ping suffirait) ? Quelle est l'application que vous essayez de lancer ?

X11 est un protocole synchrone, avec un appel de dessin sérialisé. Si la latence est élevée ou l'application exécute de nombreux appels de dessin, son temps de chargement augmentera.

Si vous le pouvez, vous devriez installer freenx sur le serveur et utiliser un client nx (ex : remmina ou nomachine.com client) : ils fonctionnent en désérialisant les appels de dessin X11, ce qui donne des performances bien meilleures.

0 votes

Comme vous le voyez, j'ai déjà trouvé le problème. De plus, je n'ai aucun intérêt à installer des cochonneries supplémentaires comme nomachine.

1 votes

@CrazyCasta ...et c'est pourquoi vous avez rétrogradé une réponse apparemment légitime ?

0 votes

@FelixFrank Oui, quand il y a déjà une réponse qui règle complètement le problème, je ne vois pas l'intérêt d'ajouter une réponse qui 1) pose des questions 2) fournit une réponse incorrecte (n'a rien à voir avec la sérialisation X11) et 3) suggère que j'essaie un autre logiciel pour un problème que j'ai déjà réglé. Cela ne va pas jusqu'à signaler la réponse, mais je ne la considère pas comme constructive.

3voto

CrazyCasta Points 215

Le problème est que ssh fait des choses sur le loopback avec ipv6 et j'ai configuré ip6tables pour qu'il laisse tomber tout le trafic. J'ai juste fait ce qui suit et ça marche maintenant :

ip6tables -A INPUT -i lo -j ACCEPT
ip6tables -A OUTPUT -o lo -j ACCEPT
ip6tables -A FORWARD -i lo -o lo -j ACCEPT

Merci à ezakimak sur #gentoo pour avoir signalé l'angle ipv6.

0 votes

Bien sûr. localhost est une adresse IPv6 par défaut, et les forwarders de port se connectent/se lient à/depuis localhost sur le système distant.

0 votes

Non, tout dépend de la façon dont le listener écoute. Sur ma machine, localhost est 127.0.0.1, mais comme ssh écoute sur une socket IPv6, il utilise la version IPv6 de celle-ci.

0 votes

Mon ip6tables -L INPUT a montré la politique DROP . Même un simple ssh localhost exit était très lent. Après ip6tables -P INPUT ACCEPT il a été réparé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X