Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #62, ФЕВРАЛЬ 2004 г.

Музыкальная шкатулка подручными средствами

Andrushock

Xakep, номер #062, стр. 062-110-4


2nd shocker 46 12-Point.mp3 6063419 bytes

Если вызвать программу lpq с аргументом `-l', то можно увидеть, с каких узлов добавлены музыкальные задания:

$ lpq -Pmp3 -l

mp3 is ready and printing

andrushock: active [job 003midian.home.net]

Bitter_Piece.mp3 6540519 bytes

shocker: 1st [job 046andrushock.home.net]

12-Point.mp3 6063419 bytes

Удаляются файлы из очереди удаленного принтера так же, как и с локального:

$ lprm -Pmp3

andrushock.home.net: dfA007midian.home.net dequeued

andrushock.home.net: cfA007midian.home.net dequeued

Недостатки конструкции

В мире нет ничего идеального, не исключение и эта музыкальная шкатулка. Во-первых, lpd, вместо того чтобы подсчитывать размер задания в очереди печати, выдает размер, занимаемый файлом в системе. Во-вторых, принимая задание вида lpr -Pmp3 /path/to/music/* , демон печати распознает глоббинг и поместит в очередь все файлы из указанного каталога, однако lpq покажет только первую композицию, присвоив ей суммарный размер всех файлов. И, наконец, по умолчанию lpd крайне немногословен, поэтому если возникнет проблема, то решить ее будет непросто (workaround: и на клиенте, и на сервере запускать демон в отладочном режиме: lpd -l).

Радужные перспективы

Несмотря на перечисленные недостатки, которые скорее можно отнести к рудиментам системы печати BSD, вышеописанная система предельно просто расширяема - всего лишь модифицировав входной фильтр, эту шкатулку можно заставить проигрывать любые аудио и даже видеофайлы. Так что если будут идеи - мыль, обсудим.

Назад на стр. 062-110-3  Содержание