como posso executar um programa gráfico a partir do ssh?

1

Antes de você começar tudo, vote para fechar, enrole como este outro, me ouça. Eu tenho um programa, ele produz um fluxo de imagem. Eu quero alimentar esse fluxo para uma sessão de ffmpeg na mesma máquina. O problema é que estou conectado à máquina, pelo ssh. Eu, pessoalmente, preferiria não ver a saída visual do programa. Eu só quero canalizar a saída para ffmpeg, para que eu possa configurar um fluxo no meu servidor e visualizá-lo de lá.

quando tento executar o programa, recebo um erro que equivale a não poder encaminhar a exibição.

./capture | ffmpeg -f rawvideo -pix_fmt bgr24 -s 640x480 -r 30 -i - -an -f avi -r 30 foo.mp4
...
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused

(Name:22073): Gtk-WARNING **: cannot open display: 
Input #0, rawvideo, from 'pipe:':
  Duration: N/A, bitrate: 221184 kb/s
    Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 640x480, 221184 kb/s, 30 tbr, 30 tbn, 30 tbc

Mas eu não quero enviar a saída gráfica do programa para a minha sessão remota, eu só quero que ele seja executado na máquina remota. Eu tentei enviar o comando para o segundo plano com bg , mas a saída é:

Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used) 

Então, como posso fazer o programa executar sua janela gráfica na máquina remota, sem que ele tente me enviar o fluxo de vídeo via ssh?

Se eu fosse dirigir até onde o servidor está e executar o comando,

 ./capture | ffmpeg -f rawvideo -pix_fmt bgr24 -s 640x480 -r 30 -i - -an -f avi -r 30 foo.mp4

Tenho certeza de que seria executado e tudo bem, mas não quero fazer isso.

    
por j0h 27.01.2017 / 21:54

0 respostas