XServer: sessões ativas do xserver em segundo plano

4

Eu preciso executar algum programa que faz a captura de tela através da biblioteca xlib em uma sessão separada do xserver. Então, eu iniciei o meu Ubuntu 14 e origin xserver sessão (vamos chamá-lo desta forma) começou e depois que eu corro

startx some-program

Depois de executar este comando, aparece uma tela preta e, nesta tela preta, vejo meu programa e ele funciona como esperado. Tudo bem - isso é o que eu preciso.

No entanto, em primeiro lugar, quero usar meu computador e, em segundo lugar, devo executar N tais programas em N sessões de xserver separadas. O problema é que quando eu tento retornar à minha sessão de origin pressionando ctrl + alt + f7 algum programa continua trabalhando no entanto, suas capturas de tela se tornam simples retângulos pretos (sem qualquer conteúdo).

Como posso iniciar meu programa em sessões separadas do xserver e deixá-lo funcionando, pois ainda estou usando essa sessão?

    
por Pavel 07.02.2017 / 17:09

1 resposta

2

Eu tenho a resposta na lista de discussão do xorg:

Using it this way is nearly impossible: for some historical reasons, inactive server stops drawing. Well, not just historical: it is a reasinable approach to stop wasting resources to draw unseen things.

However, you can start virtual X server (like standard Xvfb),and draw on it just fine.

You can even try to work interactively with programs on that server via something like x2x or x11vnc or x2godesktopsharing, however, usually interactive experience is worse than with console server.

Also, no hardware 3D acceleration will be available. It also works only on active console currently. If you need it, you can try to use some server-in-window servers like xpra, however, it is not perfect (and all attempts to implement it in the past -- Xgl, AIGLX was not perfect also).

    
por 08.02.2017 / 11:19