Для того чтобы печать работала хорошо, вам необходимо понять как
работает система буферизации.
Pdq обозначает "Print, Don't Queue (Печатать не буферизуя)", и
способ который он использует для работы отражает этот
дизайн. Следующая последовательность событий происходит при
использовании для печати PDQ:
- Вы запускаете pdq или xpdq, указав файл.
- Вы указываете принтер.
- Вы указываете настройки для различных параметров и
аргументов определенных в файле драйвера PDQ для данного принтера
(двухстороннюю печать, количество копий, качество печати и так
далее).
- PDQ анализирует содержимое файла, который вы печатаете и
следует инструкциям записанным в файле драйвера PDQ, которые
описывают как обрабатывать ваши данные для печати на данном
принтере с заданными параметрами.
- PDQ посылает обработанные данные на принтер через
указанный интерфейс (прямо на /dev/lp0, или сетевому демону LPD,
или через сеть на машину с an Apple or
Microsoft system, or even to a fax machine).
- Если PDQ не может послать данные на принтер указанным
способом, то он запускает процесс в фоновом режиме, который
пытается произвести печать, до тех пор пока это не удастся, или
не будет исчерпан временной предел.
Во время этого процесса и после, состояние каждого задания может
быть увидено с помощью xpdq. Задания, которые не смогли быть
выполнены показаны красным цветом и могут быть посланы заново.
Lpd обозначает Line Printer Daemon (демон линейной печати), и
ссылается в разных контекстах и на программу-демона и на весь набор
программ которые работают с системой печати. Это:
lpd
Демон системы печати. Один из них работает для контроля действий
на машине, И запускается один на каждый принтер пока принтер
печатает.
lpr
Пользовательская команда печати. Lpr контактирует с lpd и выдает
новое задание печати в очередь печати.
lpq
Перечисляет
задания в очереди печати.
lpc
Команда
контроля системы lpd. С помощью lpc вы можете останавливать,
начинать, переупорядочивать и т.п. очереди печати.
lprm
lprm
удаляет задание из очередей печати.
Теперь как это работает вместе? Когда система загружается,
стартует процесс под названием lpd. Он сканирует файл
/etc/printcap чтобы узнать какие принтера он будет
обслуживать. Каждый раз при запуске lpr, lpr контактирует с lpd
через именованный сокет /dev/printer, и передает lpd и
файл для печати и некоторую информацию о том кто печатает и как
печатать файл. Затем lpd печатает файл на соответствующем принтере
в порядке очереди.
Система lp была спроектирована когда большинство принтеров было
линейными принтерами -- так что люди в большинстве печатали
чистый ascii. Как показало время, только небольшое добавление было
необходимо чтобы заставить lpd работать довольно хорошо с заданиями
сегодняшнего дня, которые часто идут в формате PostScript, или текст,
или dvi, или..
Вперед
Назад
Содержание