O texto abaixo é uma tradução de um artigo original em Inglês de autoria do Patrick Wagstrom. O Leonardo S.R. (cefet_tuc@yahoo.com.br) obteve a permissão para traduzir o texto para o nosso idioma, e enviou para publicação aqui no Linux in Brazil.
Trata-se de um tutorial sobre como adaptar o gerenciador de impressão LPD para enfileirar e ouvir MP3. Por mais que a utilidade prática possa ser questionada, no mínimo trata-se de uma maneira interessante de conhecer melhor o funcionamento do LPD.
LPD para divertir e ouvir MP3
Arquivo original:http://patrick.wagstrom.net/weblog/archives/000128.html
Escrito por: Patrick Wagstrom
Traduzido por: Leonardo S.R.
Cenário
Muitos dos verdadeiros geeks Unix reconhecerão quão agradável é o LPD como um mecanismo de queueing(tarefas) distribuído para administrar todos os trabalhos enviados à impressora. Tem uma certa simplicidade, todavia há algum poder para ir além. É uma besta difícil de domesticar, mas uma vez compreendido, tudo começará a sair precisamente como você quer.
Mas, o que a maioria das pessoas não percebe é o que LPD também pode ser usado para outras coisas. Na realidade, pode ser visto como um mecanismo geral de queueing com algumas funcionalidades adicionais para impressoras. Assim examinemos um uso mais interessante do LPD, uma máquina para distribuir um fluxo de MP3s.
Motivação
O principal motivo que me levou a esta indagação, ocorreu enquanto estava vendo estas duas fotos (um, dois) do c2k3 openBSD hackathon. Vi, obviamente, que outra pessoa já havia feito isto. E estava confiante que também conseguiria.
Motivação inicial
A primeira parada em minha indagação era consultar o 'ser' que tudo sabe da Internet, o google. O qual me mostrou uma página maravilhosa em sueco sobre como fazer esta mesma tarefa.
Infelizmente, meu sueco é péssimo, mas felizmente os scripts foram escritos em bash, e o outro era apenas um arquivo de printcap.
Criando uma Entrada de printcap
A primeira coisa que você precisa fazer é criar uma entrada em seu arquivo de printcap para sua impressora de mp3. Na maioria dos sistemas este arquivo é o /etc/printcap, em meu redhat 7.3 (nenhuma placa de som no firewall openBSD) é /etc/printcap.local. Você poderá colocar o seguinte código nele:
mp3 :\ :lp=/dev/null :\ :sd=/var/spool/lpd/audio :\ :if=/usr/local/bin/audiofilter :\ :af=/var/log/audio-acct :\ :lf=/var/log/audio-errs :\ :shAgora nós o examinaremos linha por linha. Eu ignorarei a "\" no término de quase todas linha, ela apenas informa o lpd para continuar recebendo pois há mais coisas por vir. A última linha não precisa da "\" obviamente.
#!/bin/bash # # This script was originally made by Teddy Hogeborn. # Small alterations was made by: # Peter Lundqvist # Patrick Wagstrom # # This is a "printer filter" for playing audio files # Este é o "filtro de impressão" para tocar arquivos de musica for arg in "$@"; do case "$arg" in -d*) dir="${arg#-d}" ;; -e*) basefile="${arg#-e}" ;; -f*.*) ext="${arg##*.}" ;; esac done #NT: Mude as 3 linhas abaixo caso queira usar outros reprodutores. mp3player="mpg123 -q -o oss"; modplayer="mikmod --quiet --playmode 0 --noloops --norc" oggplayer="ogg123 --device=oss --quiet" file="${dir}/${basefile}" type="$(file "${file}"| sed -e 's/^[^:]*: *//')" case "$type" in MP3*) $mp3player - ;; Ogg*Vorbis*) $oggplayer - ;; RIFF*\ WAVE\ audio*) /usr/bin/play --type=wav --silent /dev/stdin ;; *Extended\ Module\ sound\ data*|*Protracker\ module\ sound\ data*) $modplayer $file ;; data|*audio*) if ogginfo "$file" 2>/dev/null | grep --quiet -e '^header_integrity=pass' >/dev/null; then $oggplayer - elif mp3info -x "$file" 2>/dev/null| grep --quiet -e '^File:' > /dev/null; then $mp3player - else play --type=auto --silent "$file" || play --type="$ext" --silent "$file" fi ;; *) echo "$type" >&2 ;; esacUma explicação básica do que o sistema faz. O inicio do código analisa gramaticalmente os argumentos que são passados ao filtro de impressão da impressora. Os armazena então em um par de variáveis. Tem algumas declarações sobre onde você pode encontrar seu reprodutor mp3, ogg, e mod. Você está percebendo, que este sistema é extensível com pequena dificuldade.
touch /var/log/audio-acct touch /var/log/audio-errs chown lp /var/log/audio-acct chown lp /var/log/audio-errsDesfrutando A Música
[/u2/mp3] [patrick@dreams] lpr -Pmp3 Wally\ Pleasant\ -\ Alternateen.mp3 [/u2/mp3] [patrick@dreams] lpr -Pmp3 Wally\ Pleasant\ -\ Bigger\ Than\ Elvis\ -\ Wally\ World.mp3 [/u2/mp3] [patrick@dreams] lpr -Pmp3 Wally\ Pleasant\ -\ In\ Love\ with\ a\ Geek.mp3 [/u2/mp3] [patrick@dreams] lpr -Pmp3 Wally\ Pleasant\ -\ It\'s\ a\ Beautiful\ Day.mp3 [/u2/mp3] [patrick@dreams] lpq -Pmp3 Printer: mp3@dreams Queue: 4 printable jobs Server: pid 7043 active Unspooler: pid 7044 active Status: waiting for subserver to exit at 16:22:55.342 Rank Owner/ID Class Job Files Size Time active patrick@dreams+42 A 42 Wally Pleasant - A 2727348 16:22:38 2 patrick@dreams+50 A 50 Wally Pleasant - B 2679246 16:22:42 3 patrick@dreams+52 A 52 Wally Pleasant - I 3266864 16:22:49 4 patrick@dreams+54 A 54 Wally Pleasant - I 3469897 16:22:55Não está funcionando!
Traduzido por Leonardo S.R. (cefet_tuc@yahoo.com.br)
Postado por brain em junho 11, 2003 10:03 AM
» Postado por: Thiago em junho 27, 2003 10:13 PM, 200.221.108:
Estou tentando modificar esta dica, pra fazer uma especie de gerenciador de downloads usando wget, se alguem tiver alguma sugestao, ou interesse neste item, envie um email pra mim. Obrigado.
» Postado por: c7g em julho 14, 2003 07:06 PM, 200.222.97.:
Elite! Mas, não para por aí...
heh
[]s c7g .aka. Cyber7hug
» Postado por: sou analfabeto mas preciso de informações em outubro 28, 2003 03:32 PM, 200.103.245:
cara! esse subserver eh um programa de HAKEAR????
» Postado por: Luiz Felipe em dezembro 10, 2003 04:35 PM, 200.138.63.:
Ola !!
Gostaria de saber se voces podem me ajudar?
Estou procurando um programa para gerenciar impressões no Linux.
Ok voces vao falar tem o Cups.
Mais o cups nao te da estatisticas de quantas folhas o fulano pode imprimir por dia, nao da quantas folhas tal pessoa ja imprimil etc...
Gostaria de uma resposta
Grato
Luiz Felipe
Técnico em Hardware
Técnico em Linux
» Postado por: Leonardo S.R. em abril 24, 2004 07:13 PM, 200.242.199:
O PiterPUNK fez um tutorial sobre o mesmo assunto:
http://www.piterpunk.hpg.ig.com.br/artigos/music-printing.html
» Postado por: Fernando Medina em maio 9, 2004 09:09 AM, 200.151.109:
Meu nome é Fernando Medina e estou com um problema e acho que voce pode me ajudar. Eu entrei em seu site em que voce ensina instalar o programa print server. Não sei se este é o mesmo programa que eu uso aqui, o que eu uso é o LPD SERVER, é o mesmo? se for me de uma ajuda. O problema é o seguinte, no meu trabalho nos usamos este programa para simular um servidor de impressão em uma máquina para que outras possam imprimir nela, o servidor é unix, tudo bem, o problema é que um certo dia esse programa foi deletado em uma das máquinas e agora eu não estou conseguindo configura-lo, eu coloco todas configurações e nada, não imprime nada, sera que vc pode me dra uma luz???? pode me passar os passos para configura-lo?? agradeço muito. Espero resposta
» Postado por: Zithromax Online em setembro 23, 2004 01:51 PM, 65.75.139.9:
Zithromax online antibiotic.
» Postado por: Hélio em outubro 15, 2004 12:44 PM, 200.168.110:
Queria saber qual o programa que eu posso usar no Linux para ver Video.
Grato.
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.