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 rodar 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 parecido, não sei muito sobre isso. Só quero fazer o vídeo, não me importo em ver a janela, em teoria deveria conseguir abrir a janela na máquina remota como sempre faz quando executo o script localmente. Devo definir alguma variável de ambiente como DISPLAY para fazer isso funcionar remotamente?
Responder1
Você precisa definir a DISPLAY
variável para aquela em que a sessão GUI (X, Wayland ou Mir) está sendo executada no host.
Você pode usar o who
comando para ver em qual tela sua sessão GUI está sendo executada (supondo que você já esteja logado na GUI do host remoto em outra sessão).
Outra solução seria usar VNC ou SPICE para conectar-se ao host remoto para a área de trabalho completa.