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 comDISPLAY=: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.orgRespostas:
O que Piskvor disse nos comentários. Experimente uma versão mais recente do xpra. Brinque com suas configurações, desative coisas que você não precisa, como encaminhamento de áudio. Pode ser feito para funcionar bem.
fonte
Você pode tentar usar um servidor VNC como Xvnc , TightVNC ou TigerVNC .
Você também pode usar o VirtualBox (pelo menos a versão 5), instalar um sistema operacional e seu programa em uma máquina virtual. Se você iniciar sua VM no modo "destacável", poderá fechar todas as janelas do VirtualBox e manter a VM em execução. Em seguida, você pode reiniciar a GUI do VirtualBox e reconectar à VM.
fonte