Embora eu esteja ciente do recurso x11grab do rfbproxy e do ffmpeg, todos os exemplos on-line parecem ser direcionados a usuários que desejam gravar suas próprias sessões. Meu modelo de uso é manter um registro de auditoria (razoavelmente) confiável de acesso remoto a um sistema.
Meu problema é como reconciliar os arquivos que eles criam com os metadados da sessão (principalmente o nome de usuário autenticado). Se a gravação for iniciada dentro da sessão, posso capturar o nome de usuário, embora isso exponha a invocação ao usuário (por exemplo, se for feito por meio de um início automático XDG).
(registrar os eventos de entrada pode ser uma alternativa viável à gravação de vídeo completa)
Se o início/parada da gravação não for invocado na sessão do usuário, como sincronizo o início/parada com o início/edição da sessão do usuário?
Os usuários se conectarão a um desktop Linux (ainda não comecei a pensar em como o Wayland se encaixa nisso tudo) via VNC.
O usuário "balanceofpain" no Reddit sugere:
--
FFmpeg/avconv pode fazer isso. Você teria que iniciá-lo como um usuário diferente para que a pessoa auditada não pudesse interferir nele. O comando será semelhante a:
Lembre-se de permitir que este usuário acesse o X com
xhost +si:localuser:<auditorusername>
--
Portanto, eu poderia usar o início automático do XDG, mas separar os privilégios com o sudo (para evitar a tarefa de matar o usuário). A questão que fica é se a gravação termina no final da sessão.