Existe-t-il une option de suppression de trame dans X11Forwarding?

8

J'utilise un modèle de vision par ordinateur sur une machine virtuelle distante sans tête (Ubuntu 16.04) sur X11Forwarding avec de bons vieux Putty et Xming comme mon serveur Windows X.

Tout va bien, mais il semble qu'il n'y ait pas de perte de trame si la bande passante client-serveur ne peut pas suivre, ce qui signifie que mon application est ralentie et ne rend que quelques images par seconde lorsqu'elle peut en faire des centaines si la bande passante est abondante.

Existe-t-il une option de suppression forcée du cadre dans le transfert X11, et si c'est le cas, comment puis-je l'activer?

evilSnobu
la source
4
Le protocole X11 n'a pas de notion de trames et ne prend donc pas en charge la suppression de trames (c'est-à-dire qu'il n'y a pas de point de resynchronisation).
Simon Richter

Réponses:

9

Je recommande fortement Xpra pour ce type de cas d'utilisation: non seulement il offre la possibilité de se déconnecter et de se reconnecter aux applications X exécutées sur un hôte distant, mais il prend également en charge une variété d' encodages d'images et de paramètres de rafraîchissement de fenêtre pour fournir une expérience décente dans circonstances différentes.

Il possède un client Windows natif , il devrait donc être assez facile à configurer. Vous devrez également l'installer sur la machine virtuelle distante, mais c'est aussi simple que apt install xprasur Ubuntu.

Stephen Kitt
la source
Cela semble très prometteur, mais je n'arrive pas à le lier à un port TCP.
evilSnobu
Vous connectez-vous en utilisant SSH , ou directement ?
Stephen Kitt
Mon Xorg était f ****. Corrigé et tout va bien maintenant, cette chose Xpra est vraiment bonne, surtout lorsque vous passez au codage HEVC (x265). Très très agréable et non bloquant. Merci!
evilSnobu
Je ne peux plus recommander Xpra. C'est probablement la meilleure option gratuite aujourd'hui.
wbkang
5

Selon cette question connexe , l'apparence X11Forwarding n'est pas la meilleure option pour les applications graphiques intensives, car le protocole X11 n'a pas été conçu avec les performances de dessin bitmap à l'esprit.

Il envoie essentiellement des instructions de dessin au réseau, ce qui est "tout bon" si nous parlons de quelques fenêtres avec du texte, mais c'est évidemment exagéré pour des millions de pixels changeant chaque image, en particulier lorsque le réseau connaît une latence / gigue / paquet élevée perte.

Comme suggéré dans la réponse à la question mentionnée, vous pouvez essayer x2go et voir s'il correspond à vos besoins.

MODIFIER selon le commentaire

Si ce x2gon'est pas le cas, vous pouvez essayer VNCce qui ressemble à des capacités de suppression de trame. Par exemple, j'utilise x11vncpour me connecter à mon bureau à partir d'une connexion à distance avec x11vnc -display :0 -auth .Xauthoritylaquelle se connecte à mon écran.

Je ne sais pas si cela fonctionnerait, Xmingmais vous pouvez l'essayer.

M. Shunz
la source
Malheureusement, le port Windows de x2go est complètement cassé, déjà essayé.
evilSnobu
Dans le passé, j'ai également essayé x2go avec un client Mac, et j'ai abandonné.
Rui F Ribeiro
3

Le protocole X11 pur ne se prête pas bien à garantir la transmission, et bien plus que SSH.

Je recommande NoMachine. Il peut effectuer une compression de la bande passante et une optimisation du réseau. Il a également des clients pour Mac, Windows et Linux.

PS. NoMachine a les versions gratuites et payantes. J'ai toujours utilisé le gratuit.

Voir NoMachine

Pour les bureaux virtuels (cas a), le mode graphique vectoriel X11 (précédemment appelé mode «léger») est activé par défaut. Cette méthode réduit l'utilisation de la bande passante (et les exigences matérielles car moins gourmandes en CPU) sur le client et le serveur en optimisant le protocole X11 au moyen de techniques de compression, de suppression aller-retour et d'algorithmes de cache.

Le mode graphique vectoriel X11 est pratique pour éviter la perte de qualité d'image et peut être utile lorsque vous travaillez avec des interfaces graphiques traditionnelles ou une grande quantité de texte, mais il n'est pas recommandé pour les contenus multimédias ou les applications avec de nombreux effets graphiques.

En savoir plus sur le mode graphique vectoriel X11: https://www.nomachine.com/AR02L00779

Pour les connexions au bureau physique ou lorsque le mode graphique vectoriel X11 est désactivé pour les bureaux virtuels (cas b) NoMachine implémente le protocole d'affichage en utilisant une combinaison de codage vidéo et d'image basée sur des codecs standard et un certain nombre de techniques développées par NoMachine lui-même.

Il met également en œuvre une technique de qualité d'affichage adaptative du réseau. Cela signifie que NoMachine tentera automatiquement de réduire la qualité d'affichage lorsqu'il détecte que le réseau est encombré. Le but de ce mécanisme est de maintenir la session réactive à travers toutes les différentes conditions du réseau.

En savoir plus sur la recherche de la configuration la plus appropriée pour la lecture multimédia:

https://www.nomachine.com/AR01M00832

Rui F Ribeiro
la source
Est-ce "gratuit comme dans une publicité de source fermée pour notre option payante" ou "gratuit comme dans Stallman"?
pipe
@pipe Quelque part au milieu, je pense. J'ai utilisé la version gratuite pour un usage personnel avec beaucoup de satisfaction, j'étais également impliqué latéralement et connaissais de grands projets qui utilisaient la version gratuite. La version payante peut apparemment éviter des problèmes de personnalisation des choses dans des environnements plus complexes à partir de ce que des gens plus expérimentés m'ont dit.
Rui F Ribeiro