MPlayer - Como utilizar sem bloquear o prompt
Dica publicada em Linux / Miscelânea
MPlayer - Como utilizar sem bloquear o prompt
Esta dica é um complemento à excelente dica do colega lcavalheiro:
Quando nós usuários do bash, puro e simples, queremos tocar músicas em MP3 ou qualquer outro formato multimídia pela linha de comando, o MPlayer é uma das opções populares.
Contudo, uma coisa que sempre me incomodou foi que o MPlayer bloqueia a linha de comando e você não pode mais usar enquanto ele estiver rodando. Existem programas que contornam isso, como o MOC, por exemplo, mas o MPlayer é mais poderoso.
Já faz algum tempo que eu estou tentando descobrir uma forma de usar o MPlayer em background, sem sucesso... Hoje, eu encontrei uma forma e resolvi compartilhá-la.
Note que apenas usar o & no fim do comando não funciona, veja:
mplayer Money.mp3 &
Se você utilizar o comando fg, o MPlayer vai voltar a funcionar, porém, em primeiro plano, já que recuperou o acesso a stdin e stdout, mas rodar no primeiro plano não é o que queremos.
A forma que encontrei para rodar o MPlayer em segundo plano, foi direcionar stdin, stdout e também stderr para "/dev/null".
Com todos os file-descriptors de entrada e saída em "/dev/null", ele consegue ficar em background sem estar pausado.
Veja como:
mplayer Money.mp3 </dev/null >/dev/null 2>&1 &
Agora já sabemos como usar nosso player favorito sem bloquear o prompt.
Abraços.
Quando nós usuários do bash, puro e simples, queremos tocar músicas em MP3 ou qualquer outro formato multimídia pela linha de comando, o MPlayer é uma das opções populares.
Contudo, uma coisa que sempre me incomodou foi que o MPlayer bloqueia a linha de comando e você não pode mais usar enquanto ele estiver rodando. Existem programas que contornam isso, como o MOC, por exemplo, mas o MPlayer é mais poderoso.
Já faz algum tempo que eu estou tentando descobrir uma forma de usar o MPlayer em background, sem sucesso... Hoje, eu encontrei uma forma e resolvi compartilhá-la.
Note que apenas usar o & no fim do comando não funciona, veja:
mplayer Money.mp3 &
[1]+ Stopped mplayer Money.mp3Isso acontece porque o MPlayer tem como entrada standart in e como saída standart out e standart error. Quando você roda o MPlayer com o & na frente, ele vai ficar em background, porém, pausado, pois ficará aguardando até que tenha acesso novamente aos file-descriptors de entrada e saída.
Se você utilizar o comando fg, o MPlayer vai voltar a funcionar, porém, em primeiro plano, já que recuperou o acesso a stdin e stdout, mas rodar no primeiro plano não é o que queremos.
A forma que encontrei para rodar o MPlayer em segundo plano, foi direcionar stdin, stdout e também stderr para "/dev/null".
Com todos os file-descriptors de entrada e saída em "/dev/null", ele consegue ficar em background sem estar pausado.
Veja como:
mplayer Money.mp3 </dev/null >/dev/null 2>&1 &
Agora já sabemos como usar nosso player favorito sem bloquear o prompt.
Abraços.