Tenho um computador com Ubuntu + um desktop gráfico instalado onde costumo rodar aplicativos OpenGL apenas para capturar a tela e fazer vídeos. Eu só me importo com o vídeo gerado, mas para criar o contexto OpenGL, preciso abrir uma janela, então tenho um programa que posso executar no terminal que abre a janela, renderiza coisas com OpenGL e envia os dados do pixel para um processo ffmpeg para fazer o vídeo e funciona. Agora, quero executar este gerador de vídeo remotamente via ssh, mas quando executo o programa remotamente, a criação da janela falha. Suponho que isso tenha algo a ver com o X, supondo que eu queira obter alguma saída gráfica na máquina da qual estou me conectando ou algo assim, não sei muito sobre isso. Eu só quero fazer o vídeo, não me importo de ver a janela, em teoria, ele deveria ser capaz de abrir a janela na máquina remota, como sempre acontece quando executo o script localmente. Devo definir alguma variável de ambiente como DISPLAY para fazer isso funcionar remotamente?
Você precisa definir a
DISPLAY
variável para aquela em que a sessão da GUI (X, Wayland ou Mir) está sendo executada no host.Você pode usar o
who
comando para ver em qual exibição sua sessão da GUI está sendo executada (supondo que você já esteja conectado na GUI do host remoto em outra sessão).Outra solução seria usar VNC ou SPICE para se conectar ao host remoto para a área de trabalho completa.