MPlayer - Como utilizar sem bloquear o prompt

Publicado por Fernando em 13/09/2013

[ Hits: 3.684 ]

Blog: https://github.com/phoemur/

 


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 &
[1]+  Stopped                 mplayer Money.mp3

Isso 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.

Outras dicas deste autor

Encriptando sua partição SWAP

Broadcom BCM43225 no FreeBSD

Como utilizar os SlackBuilds 14.1 no seu sbopkg

Consertando codificação de arquivos - UTF-8 x ISO-8859-1

MATE Desktop no Slackware - Compilação

Leitura recomendada

Adicionando o repositório UserAndLinux (UALinux) no Ubuntu 20.04

Debian - Descobrindo a que pacote determinado arquivo pertence

Estatísticas do Linux Counter

Execução do apt-get --> (ERRRO) Sources Hash Sum Mismatch <-- Correção que funcionou

AsteriskNow - Solução eficiente para VOIP

  

Comentários
[1] Comentário enviado por lcavalheiro em 13/09/2013 - 12:37h

Meus parabéns, essa idéia foi genial mesmo! Esse é o grande chavão da comunidade de software livre: um começa, um outro vai e expande a idéia original, daqui a pouco vai aparecer um outro com uma outra idéia... E assim viva o software livre!



Contribuir com comentário