Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Next Previous Contents

6. Как это работает, основы

Для того чтобы печать работала хорошо, вам необходимо понять как работает система буферизации.

6.1 PDQ

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. Задания, которые не смогли быть выполнены показаны красным цветом и могут быть посланы заново.

6.2 LPD

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, или..


Next Previous Contents