Alternativas a xmove, xpra

11

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.

demarcmj
fuente
1
¿solo necesita ocultar ventanas o necesita poder ejecutar su programa sin X? ¿Intentaste con Xvfb?
No necesito ejecutarlo sin X, aunque eso funcionaría. Solo necesito alguna forma de ejecutarlo sin estar visible para que cuando el usuario haga clic en un botón en una GUI de contenedor, parezca que está iniciando esta aplicación, pero en realidad solo lo hará visible. No he probado Xcfb, pero lo examiné brevemente cuando vi su respuesta y no estoy seguro de que sea lo que estoy buscando ... no parece después de iniciar el programa sin X, que yo puedo adjuntarlo a un servidor X real cuando lo desee. ¿Tienes alguna experiencia para decirme que ese no es el caso?
2
Xvfb es un servidor virtual de framebuffer X. Puede iniciarlo Xvfb :1e 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 -geometryopción de línea de comandos, que generalmente se analiza mediante programas basados ​​en xlib.
El problema es que si inicio el programa de esa manera, no hay forma de hacerlo visible sin matarlo y reiniciarlo. Los pseudoservidores, por otro lado, le permiten falsificar un XServer cuando no lo necesita, pero luego enviarlo a una pantalla real cuando lo desee. ¿Puedo hacer eso con Xcfb? No parece que pueda (pero no soy un experto). Parece una gran herramienta si siempre la quiero oculta, pero no si necesito verla a veces.
3
Nota: hay varias versiones de xpraflotar 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
Piskvor salió del edificio el

Respuestas:

1

Lo que dijo Piskvor en los comentarios. Pruebe una versión más reciente de xpra. Juegue con su configuración, desactive cosas que no necesita, como el reenvío de audio. Se puede hacer que funcione bien.

krupan
fuente
0

Puede intentar usar un servidor VNC como Xvnc , TightVNC o TigerVNC .

También puede usar VirtualBox (al menos la versión 5), instalar un sistema operativo y su programa en una máquina virtual. Si inicia su VM en modo "desmontable", puede cerrar todas las ventanas de VirtualBox y mantener la VM en funcionamiento. Luego puede reiniciar la GUI de VirtualBox y volver a conectarla a la VM.

johnLate
fuente