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?
Réponses:
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 xpra
sur Ubuntu.la source
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
x2go
n'est pas le cas, vous pouvez essayerVNC
ce qui ressemble à des capacités de suppression de trame. Par exemple, j'utilisex11vnc
pour me connecter à mon bureau à partir d'une connexion à distance avecx11vnc -display :0 -auth .Xauthority
laquelle se connecte à mon écran.Je ne sais pas si cela fonctionnerait,
Xming
mais vous pouvez l'essayer.la source
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
la source