Falha ao criar um trabalho cron do mplayer

1

Eu realmente não entendo como criar um cron job simples. A ideia é fazer com que o mplayer reproduza um determinado arquivo em uma determinada hora.

Aqui está minha tentativa:

MIN HOUR * * * /usr/bin/mplayer PATH_TO_THE_FILE > /dev/null 2>&1

Isso faz com que o servidor X falhe. O que estou fazendo errado?

    
por Foobard 17.07.2017 / 01:37

3 respostas

1

Se você quiser apenas áudio, converta-o para um arquivo de áudio primeiro; Isso vai poupar o trabalho de lidar com Pulseaudio e X.

Opções:

  • Coloque o cron-job na tabela de usuários da área de trabalho e execute-o como esse usuário, não como raiz. Veja crontab -u . Você pode ter que definir variáveis de ambiente (eu não tentei). Isso falhará quando o usuário da área de trabalho não estiver conectado e o Pulseaudio não for iniciado.

  • Leia mais sobre como permitir que outros usuários usem o Pulseaudio e configure isso de acordo. Isso também falhará quando o usuário da área de trabalho não estiver conectado.

  • Execute o Pulseaudio todo o sistema .

  • Desative completamente o Pulseaudio, reproduza usando o ALSA e verifique se as permissões dos dispositivos /dev/snd/* são compactáveis com o (s) usuário (s) do seu trabalho cron.

Além disso, considere usar um programa mais simples que mplayer (mas preste atenção a quais formatos ele pode reproduzir). Por exemplo. mpg123 , ou realmente simples paplay (apenas Pulseaudio, WAV) ou aplay (apenas ALSA, WAV).

    
por 17.07.2017 / 12:39
0

As tarefas iniciadas no cron não possuem um controle tty ou display. Eu vou assumir que você tem números reais no lugar de MIN e HOUR ?

Talvez tente adicionar a opção -display .

0 15 * * * /usr/bin/mplayer -display localhost.localdomain:0 PATH_TO_THE_FILE > /dev/null 2>&1

Você pode ter que ajustar o argumento para -display para o seu servidor em particular.

    
por 17.07.2017 / 01:48
0

Eu sugiro que você use um programa de linha de comando para reproduzir o arquivo. Algo parecido com sox :

link

que, sem dúvida, está disponível como um pacote. Inclui um alias de play , que apenas reproduzirá o arquivo. Observe que sox apenas reproduz arquivos de áudio, mas você indicou que isso não é um problema.

    
por 17.07.2017 / 11:34

Tags