Grave screencast no espaço de trabalho não-ativo

2

É possível fazer um screencast (por exemplo, um vídeo em streaming) em um espaço de trabalho não-ativo?

Eu costumo usar simplescreenrecorder para screencasts e xmonad como gerenciador de janelas, mas a solução pode envolver outros softwares.

Talvez seja possível fazer a placa gráfica enviar sinais para uma segunda tela imaginária e capturar os sinais lá?

    
por student 20.02.2016 / 12:37

1 resposta

3

Aviso : esta resposta é baseada no meu entendimento do X11 tradicional. É possível que isso tenha mudado com a introdução da composição, caso em que o seguinte está errado, mas acredito que ainda esteja correto.

Não, não é possível registrar o que está acontecendo em um espaço de trabalho inativo.

Quando uma área de trabalho é "não ativa" (não mostrada), as janelas nela contidas são todas não mapeadas. Os aplicativos não estão expondo eventos e, portanto, não estão realmente desenhando nada ( Se um aplicativo desenha uma árvore em uma floresta que não é exibida em nenhum lugar , a árvore realmente existe? ).

Para o seu caso de uso, recomendo que você execute o aplicativo dentro de um servidor Xvnc e registre isso. Exemplo com sessão iniciada automaticamente:

# Launch VNC server
vncserver -geometry 1024x768 :10

# Launch a viewer so you can see what you're doing in there
xvncviewer :10

Exemplo bruto (inicie Xvnc diretamente, sem segurança nas conexões VNC):

# Start VNC server
Xvnc -geometry 1024x768 :10 &

# Launch a viewer so you can see what you're doing in there
xvncviewer :10 &

# Set your display to the VNC server
DISPLAY=:10

# Launch the desired application in there as well as the recorder
xterm &    # whatever your application is
xmonad &   # if you want a window manager
my-screen-recorder &
    
por 27.02.2016 / 14:10