Alternatives à xmove, xpra

11

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.

demarcmj
la source
1
avez-vous juste besoin de cacher les fenêtres ou vous devez pouvoir exécuter votre programme sans X? Avez-vous essayé Xvfb?
Je n'ai pas besoin de l'exécuter sans X, bien que cela fonctionne. J'ai juste besoin d'un moyen de l'exécuter sans être visible, de sorte que lorsque l'utilisateur clique sur un bouton dans une interface graphique de wrapper, il semble que cette application soit lancée, mais en réalité, elle la rendra simplement visible. Je n'ai pas essayé Xcfb, mais je l'ai examiné brièvement quand j'ai vu votre réponse et je ne suis pas sûr que ce soit ce que je cherche ... ça ne ressemble pas après avoir démarré le programme sans X, que j'ai peut jamais l'attacher à un vrai Xserver quand je le veux. Avez-vous une expérience avec cela pour me dire que ce n'est pas le cas?
2
Xvfb est un serveur X virtuel de framebuffer. Vous pouvez le démarrer avec Xvfb :1et 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' -geometryoption de ligne de commande qui est généralement analysée par les programmes basés sur xlib.
Le problème est que si je démarre le programme de cette manière, il n'y a aucun moyen de le rendre visible sans le tuer et le redémarrer. Les pseudoserveurs, d'autre part, vous permettent de simuler un XServer lorsque vous n'en avez pas besoin, puis de le transférer sur un affichage réel lorsque vous le souhaitez. Puis-je faire cela avec Xcfb? Cela ne semble pas possible (mais je ne suis pas un expert). Cela semble être un excellent outil si je le veux toujours caché, mais pas si j'ai besoin de le voir parfois.
3
Remarque: il existe différentes versions de xpraflottant; ceux fournis dans la plupart des référentiels de distribution sont terriblement dépassés. Essayez la dernière version de xpra.org
Piskvor a quitté le bâtiment le

Réponses:

1

Ce que Piskvor a dit dans les commentaires. Essayez une version plus récente de xpra. Jouez avec ses paramètres, désactivez les choses dont vous n'avez pas besoin comme le transfert audio. Il peut être fait pour bien fonctionner.

krupan
la source
0

Vous pouvez essayer d'utiliser un serveur VNC comme Xvnc , TightVNC ou TigerVNC .

Vous pouvez également utiliser VirtualBox (au moins la version 5), installer un système d'exploitation et votre programme dans une machine virtuelle. Si vous démarrez votre VM en mode "détachable", vous pouvez fermer toutes les fenêtres VirtualBox et garder la VM en marche. Vous pouvez ensuite redémarrer l'interface graphique de VirtualBox et la rattacher à la machine virtuelle.

johnLate
la source