Лучшие вопросы
Таймлайн
Чат
Перспективы
Line Printer Daemon
Из Википедии, свободной энциклопедии
Remove ads
LPD (от англ. Line Printer Daemon — демон печати, реализующий одноимённый протокол (англ. Line Printer Daemon Protocol — «протокол демона построчной печати»). Этот протокол также известен под именем LPR (англ. Line Printer Remote — протокол «построчной печати на удалённом принтере»). LPR/LPD — сетевой протокол прикладного уровня для передачи документов на печать, является стандартом де-факто для UNIX-систем, предоставляющий базовые возможности печати. Вне Unix-мира клиентская часть LPR поддерживается всеми современными ОС, серверная — некоторыми принтерами, маршрутизаторами и микросерверами (не массово).
Remove ads
В отличие от Windows-печати, оперирует не «принтерами», а «очередями» — в простейшем случае очередь отождествляется с именем порта принтера: например, очередь lpt2 будет обозначать принтер, подключённый к порту LPT2 на сервере печати.
Исторически для печати в UNIX-системах существовали две системы печати: LPD, разработанная для Berkeley UNIX, и AT&T Line Printer system. Эти системы печати были созданы в 70-х годах для печати текстов на построчно-печатающих (линейных) принтерах. Принимая во внимание, что аппаратные средства печати с тех пор существенно изменились, можно было бы предположить, что существенно переработаны и программные средства для управления печатью. Однако, этого не произошло. Хотя и были созданы различные улучшенные системы печати, например, LPRng, однако ни одна из этих новых разработок не изменяла фундаментальные возможности этих систем.
Remove ads
Принцип работы LPD
Из-за того, что принтеры являются относительно медленными устройствами, с целью исключить задержки в программах система печати использует фоновую печать с кешированием данных. Файл данных, предназначенный для печати на принтере, сначала помещается во временную область (временный каталог на диске), которая называется областью спулинга или каталогом спула. Фоновый процесс — демон печати — периодически сканирует область спулинга в ожидании файлов, предназначенных для печати. Для каждого принтера, подключенного к системе, используется свой подкаталог в области спулинга. Таким образом, область спулинга представляет собой набор очередей заданий на печать, дожидающихся того момента, когда освободится соответствующий принтер и демон печати отправит данное задание на печать (в фоновом режиме).
Remove ads
Основные команды
Суммиров вкратце
Перспектива
Современной реализацией LPD/LPR является пакет программ LPRng. Каждая программа пакета LPRng обеспечивает выполнение отдельной функции подсистемы печати:
- lpd — line printer daemon — демон системы печати. Обычно запускается на этапе загрузки системы из файла rc, но может быть запущен и пользователем.
- lpr — line print — пользовательская команда печати. Программа lpr принимает подлежащие печати данные и помещает их в спул, где их находит lpd и выводит на печать. Программа lpr — единственная программа, которая может ставить новые задания в очередь печати. Другие программы, которым необходимо использовать печать, обращаются для этого к lpr.
- lpq — line printer queue — программа, позволяющая просматривать очередь заданий, ожидающих печати на указанном принтере.
- lpc — line printer control — команда контроля системы lpd. С помощью lpc можно отключать принтеры, останавливать или переупорядочивать очереди печати и т. п. Некоторые из функций этой команды доступны пользователям, но в основном это средство для администратора.
- lprm — line printer remove — команда управления очередью печати, позволяет удалить одно или несколько заданий из очереди печати. При этом стираются соответствующие файлы данных и из системы печати удаляются все ссылки на них.
Реализация LPR включена также в пакет CUPS, но CUPS поддерживает и другие протоколы печати.
Remove ads
Протокол
Суммиров вкратце
Перспектива
Команды протокола начинаются с однобайтового кода функции, непосредственно за которым следует имя очереди печати, к которой относится данная функция. Если функция имеет дополнительные операнды, то они отделяются от имени очереди символом пробела, горизонтальной табуляции, вертикальной табуляции или прогона страницы. Конец команды обозначается символом перевода строки. Для передачи каждой команды открывается новое соединение. Подкоманды и данные передаются после команды по тому же соединению. Сервер будет обрабатывать подкоманды до закрытия соединения.
В таблице используются следующие обозначения параметров:
- Агент — имя пользователя, делающего запрос;
- Длина — количество байт в передаваемом файле;
- Имя — имя файла, должно начинаться с префикса «cfA» для управляющего файла и «dfA» — для файла данных, за которым следует номер задания для печати и имя компьютера, сформировавшего задание;
- Очередь — имя очереди печати;
- Список — имена пользователей и (или) номера заданий для печати, к которым будет применена команда.
Управляющий файл представляет собой текстовый файл, каждая строка начинается с символа, обозначающего команду, за которым следуют её операнды. Строка оканчивается символом перевода строки.
Remove ads
См. также
Ссылки
- RFC 1179 — Line Printer Daemon Protocol.
- LPD // Самсонов А. Протоколы сетевой печати. — 28 февраля 2006 г.
- Костромин В. Linux для пользователя. — СПб.: БХВ-Петербург, 2002. — 672 с. — (Самоучитель). — ISBN 5-94157-183-6.
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads