Un poco de información de fondo: estoy tratando con un software que es parte de un sistema más grande. La mayoría de las partes del sistema tienen un proceso en segundo plano que se ejecuta continuamente y una GUI que se puede abrir cuando se necesita esa funcionalidad. El software en particular que me está causando problemas se escribió en su lugar como un solo programa que contiene tanto la GUI como el procesamiento en segundo plano. Esto significa que la GUI siempre debe estar ejecutándose; de lo contrario, el procesamiento asociado no puede tener lugar. Esto no es deseable (por varias razones).
Como solución alternativa, he examinado varios pseudo servidores X que me permitirán mostrar / ocultar la ventana de la GUI según corresponda. Los tres que he visto específicamente son xmove , ximove y xpra
xmove es realmente antiguo (no se ha desarrollado desde noviembre de 1997) y no admite gráficos de 24 bits, lo que no es un iniciador.
También he encontrado algo llamado ximove . El autor, Mark C. Ballew comenzó con la intención de mejorar xmove (XIMove≡Xmove Improved). Pero, al mirar su sitio web , parece que la última actualización de estado fue el 16/08/04, y se vincula a http://forum.ximove.com/ que parece que ya no existe.
xpra parece ser la opción más prometedora, pero no ha funcionado como se esperaba. Recibo muchos errores quejándome de "Cairo", que es algo que no está cubierto en ninguno de los archivos xpra que discuten las dependencias ... sin embargo, el programa funciona para aplicaciones pequeñas, como un navegador web. Sin embargo, cuando intento usarlo para mi programa problemático, recibo muchos más errores (errores de cairo y otros). y tanto xpra como la aplicación en sí parecen fallar.
Estoy buscando probar una instalación limpia de la versión más reciente de xpra, pero me pregunto si alguno de ustedes tiene alguna idea de otras aplicaciones de pseudo servidor X que debería probar.
Xvfb :1
e iniciar su programa con DISPLAY=:1 yourprogram
. De esta manera, no verá ninguna interfaz de usuario en su sesión X y aún puede interactuar con la interfaz de usuario de su programa, por ejemplo, iniciando el servidor VNC conectado a la sesión Xvfb. Otra forma de ocultar la interfaz de usuario podría ser la -geometry
opción de línea de comandos, que generalmente se analiza mediante programas basados en xlib.
xpra
flotar alrededor; los que se proporcionan en la mayoría de los repositorios de distribución están lamentablemente desactualizados. Pruebe la versión posterior de xpra.org