Linux, como capturar tela e simular movimentos do mouse

Preciso capturar a tela (como tela de impressão) da maneira que eu possa acessar os dados de cores dos pixels, para fazer algum reconhecimento de imagem. Depois disso, precisarei gerar eventos de mouse na tela, como clique esquerdo, arraste e solte (movendo o mouse enquanto o botão estiver pressionado e solte-o). Uma vez feito, a imagem será excluída.

Nota: preciso capturar a tela inteira tudo o que o usuário pode ver e simular cliques fora da janela do meu programa (se houver alguma diferença)

Especificação: Linux ubuntu Idioma: C ++

O desempenho não é muito importante, a função "print screen" será executada uma vez a cada 10 segundos. A duração do processo pode ser de até 24 horas, portanto, o método precisa ser estável e a memória vaza (como de costume :)

Consegui fazer no windows com win GDI e alguns eventos do windows, mas não faço ideia de como fazê-lo no Linux.

Muito obrigado

questionAnswers(3)

yourAnswerToTheQuestion