Um pouco de informações básicas: estou lidando com um software que faz parte de um sistema maior. A maioria das partes do sistema possui um processo em segundo plano que é executado continuamente e uma GUI que pode ser aberta quando essa parte da funcionalidade é necessária. A parte específica do software que está me causando problemas foi escrita como um único programa que contém a GUI e o processamento em segundo plano. Isso significa que a GUI deve estar sempre em execução, caso contrário, o processamento associado não poderá ocorrer. Isso não é desejado (por vários motivos).
Como solução alternativa, examinei vários pseudoservers X que me permitirão mostrar / ocultar a janela da GUI conforme apropriado. Os três que eu olhei especificamente são xmove , ximove e xpra
O xmove é realmente antigo (não foi desenvolvido desde novembro de 1997) e não suporta gráficos de 24 bits, o que não é inicial.
Eu também encontrei algo chamado ximove . O autor, Mark C. Ballew iniciou com a intenção de aprimorar o xmove (XIMove® Xmove Improved). Mas, olhando para o site dele, parece que a última atualização de status foi em 16/8/04 e está vinculada a http://forum.ximove.com/, que parece não existir mais.
O xpra parece ser a opção mais promissora, mas não funcionou como esperado. Eu recebo muitos erros reclamando sobre o "Cairo", algo que não é coberto em nenhum dos arquivos xpra que discutem dependências ... mesmo assim, o programa funciona para aplicativos pequenos, como um navegador da web. Porém, quando tento usá-lo no meu programa com problemas, recebo muito mais erros (erros de cairo e outros). e o xpra e o próprio aplicativo parecem falhar.
Estou tentando experimentar uma instalação limpa da versão mais recente do xpra, mas estou imaginando se algum de vocês tem alguma ideia de outros aplicativos X pseudoserver que eu deveria tentar.
Xvfb :1
e iniciar seu programa com DISPLAY=:1 yourprogram
. Dessa forma, você não verá nenhuma interface de usuário na sua sessão X e ainda poderá interagir com a interface do programa, por exemplo, iniciando o servidor VNC conectado à sessão Xvfb. Outra maneira de ocultar a interface do usuário pode ser a -geometry
opção de linha de comando, que geralmente é analisada por programas baseados em xlib.
xpra
flutuação; os fornecidos na maioria dos repositórios de distribuição estão desatualizados. Experimente a versão mais recente do xpra.org