Estou escrevendo alguns testes para um projeto de streaming de vídeo.
Para verificar se transmito vídeo corretamente, configurei uma VM que executa um cliente de vídeo (por exemplo, ffmpeg / vlc) como um daemon. Eu quero que, no comando, o cliente se conecte ao servidor, exiba o vídeo e salve o vídeo em um arquivo.
Para fazer isso, eu configurei um serviço. Aqui está o meu arquivo .service:
[Unit]
Description=Video client for testing
[Service]
Type=simple
WorkingDirectory=/home/user/
ExecStart=client.sh
Restart=always
[Install]
WantedBy=default.target
Idealmente, quero que isso seja um serviço de usuário. Infelizmente, minha VM executa o CentOS 7, que não pode executar serviços de usuário . Como um serviço regular, o $ DISPLAY e o $ XAUTHORITY também precisam ser definidos, mas não encontrei nenhum script que os inicialize como no arco , por isso não acho que seja saudável configurá-los eu mesmo. Eu também não tenho certeza de como isso vai funcionar se o login não for automático. O script em si não funciona bem, mesmo com apenas salvar o vídeo e não abrir uma janela gráfica. Funciona bem ao lançá-lo
Estou pensando em executar o script a partir de um .profile, mas não gosto muito dessa ideia, parece estranho (ou, claro, se é mesmo uma boa opção).
Outra opção seria configurar o script via SSH (por exemplo, usando paramiko - que requer dependências / scripts adicionais.
Eu realmente aprecio algumas sugestões / alternativas / formas de ação, já que eu não quero que isso aconteça demais.
Obrigado
Joey.