Un po 'di informazioni di base: ho a che fare con un software che fa parte di un sistema più grande. La maggior parte dei pezzi del sistema ha un processo in background che viene eseguito continuamente e una GUI che può essere aperta quando è necessario quel pezzo di funzionalità. Il particolare software che mi sta causando problemi è stato invece scritto come un singolo programma contenente sia la GUI che l'elaborazione in background. Ciò significa che la GUI deve essere sempre in esecuzione, altrimenti l'elaborazione associata non può avvenire. Questo non è desiderato (per una serie di motivi).
Per ovviare al problema, ho esaminato vari pseudoserver X che mi consentiranno di mostrare / nascondere la finestra della GUI in modo appropriato. I tre che ho visto in particolare sono xmove , ximove e xpra
xmove è davvero vecchio (non è stato sviluppato dal novembre 1997) e non supporta la grafica a 24 bit, il che non è un antipasto.
Ho anche trovato qualcosa chiamato ximove . L'autore, Mark C. Ballew, ha iniziato con l'intento di migliorare su xmove (XIMove≡Xmove Improved). Ma, guardando il suo sito web sembra che l'ultimo aggiornamento dello stato sia stato il 16/8/04, e si collega a http://forum.ximove.com/ che non sembra più esistere.
xpra sembra l'opzione più promettente, ma non ha ancora funzionato come sperato. Ricevo molti errori che si lamentano di "Cairo", che non è coperto da nessuno dei file xpra che discutono di dipendenze ... tuttavia il programma funziona per piccole applicazioni, come un browser web. Quando provo ad usarlo per il mio programma problematico, ottengo molti più errori (errori cairo e altri). e sia xpra che l'applicazione stessa sembrano andare in crash.
Sto cercando di provare un'installazione pulita della versione più recente di xpra, ma mi chiedo se qualcuno di voi ragazzi abbia qualche idea su alcune altre applicazioni pseudoserver X che dovrei provare.
Xvfb :1
e avviare il tuo programma con DISPLAY=:1 yourprogram
. In questo modo non vedrai alcuna UI nella tua sessione X e puoi comunque interagire con l'interfaccia utente del tuo programma, ad esempio avviando il server VNC collegato alla sessione Xvfb. Un altro modo per nascondere l'interfaccia utente potrebbe essere l' -geometry
opzione della riga di comando che di solito viene analizzata dai programmi basati su xlib.
xpra
floating in giro; quelli forniti nella maggior parte dei repository di distro sono tristemente obsoleti. Prova la versione successiva da xpra.org