Quelques informations de base: je traite d'un logiciel faisant partie d'un système plus vaste. La plupart des éléments du système ont un processus d'arrière-plan qui s'exécute en permanence et une interface graphique qui peut être ouverte lorsque cet élément de fonctionnalité est nécessaire. Le logiciel particulier qui me cause des problèmes a été écrit à la place comme un programme unique contenant à la fois l'interface graphique et le traitement en arrière-plan. Cela signifie que l'interface graphique doit toujours être en cours d'exécution, sinon le traitement associé ne peut pas avoir lieu. Ce n'est pas souhaité (pour un certain nombre de raisons).
Comme solution de contournement, j'ai examiné divers pseudoserveurs X qui me permettront d'afficher / masquer la fenêtre de l'interface graphique selon les besoins. Les trois que j'ai examinés en particulier sont xmove , ximove et xpra
xmove est vraiment ancien (n'a pas été développé depuis novembre 1997) et ne prend pas en charge les graphiques 24 bits, qui ne sont pas des démarreurs.
J'ai également trouvé quelque chose appelé ximove . L'auteur, Mark C. Ballew a commencé avec l'intention d'améliorer xmove (XIMove≡Xmove Improved). Mais, en regardant son site Web, il semble que la dernière mise à jour du statut ait été le 16/08/04, et il renvoie à http://forum.ximove.com/ qui ne semble plus exister.
xpra semble être l'option la plus prometteuse, mais cela n'a pas tout à fait fonctionné comme espéré. Je reçois beaucoup d'erreurs se plaignant de "Le Caire" qui est quelque chose qui n'est couvert dans aucun des fichiers xpra qui discutent des dépendances ... néanmoins le programme fonctionne pour les petites applications, comme un navigateur Web. Cependant, lorsque j'essaie de l'utiliser pour mon programme de problème, j'obtiens beaucoup plus d'erreurs (erreurs du Caire et autres). et xpra et l'application elle-même semblent planter.
Je cherche à essayer une nouvelle installation de la nouvelle version de xpra, mais je me demande si certains d'entre vous ont une idée des autres applications de pseudo-serveur X que je devrais essayer.
Xvfb :1
et lancer votre programme avec DISPLAY=:1 yourprogram
. De cette façon, vous ne verrez aucune interface utilisateur dans votre session X et vous pouvez toujours interagir avec l'interface utilisateur de votre programme, par exemple en démarrant le serveur VNC attaché à la session Xvfb. Une autre façon de masquer l'interface utilisateur pourrait être l' -geometry
option de ligne de commande qui est généralement analysée par les programmes basés sur xlib.
xpra
flottant; ceux fournis dans la plupart des référentiels de distribution sont terriblement dépassés. Essayez la dernière version de xpra.org