9.6. Принтер

9.6. Принтер

9.6.1. Традиционные средства печати UNIX

Исторически для печати в UNIX-системах существовали две системы печати: LPD (Line Printer Daemon) [RFC1179], разработанная для Berkeley UNIX (или BSD-система), и ATT Line Printer system. Эти системы печати были созданы в 70-х годах для печати текстов на построчно-печатающих (линейных) принтерах. Принимая во внимание, что аппаратные средства печати (проще говоря, принтеры) с тех пор существенно изменились, можно было бы предположить, что существенно переработаны и программные средства для управления печатью. Однако, этого не произошло. Хотя и были созданы различные улучшенные системы печати [LPRng, Palladin, PLP], однако ни одна из этих новых разработок не изменяла фундаментальные возможности этих систем. Впрочем, как показало время и практика, возможности этих систем вполне достаточны и при небольших доработках удовлетворяют и современные потребности.

Как и во всех UNIX-системах, в Linux файл, предназначенный для печати, вначале пересылается во временную область (проще говоря, временный каталог), которая называется областью спулинга. Дело в том, что принтеры являются относительно медленными устройствами, и система заботится о том, чтобы не задерживать работу на время распечатки файла. Фоновый процесс - демон печати - постоянно сканирует область спулинга в ожидании файлов, предназначенных для печати. Для каждого принтера, подключенного к системе, заводится своя область спулинга. Таким образом, область спулинга представляет собой очередь заданий на печать, дожидающихся того момента, когда освободится соответствующий принтер и демон печати отправит данное задание на печать (в фоновом режиме).

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

• lpd - демон системы печати. Обычно запускается на этапе загрузки системы из файла rc, но может быть запущен и пользователем.

• lpr - пользовательская команда печати. Программа lpr принимает подлежащие печати данные и помещает их в буферный каталог, где их находит lpd и выводит на печать. Программа lpr - единственная программа, которая может ставить новые задания в очередь печати. Другие программы, которым необходимо использовать печать, обращаются для этого к lpr.

• lpq - программа, позволяющая просматривать очередь заданий, ожидающих печати на указанном принтере.

• lpc - команда контроля системы lpd. С помощью lpc можно отключать принтеры, останавливать или переупорядочивать очереди печати и т.п. Некоторые из функций этой команды доступны пользователям, но в основном это средство для администратора.

• lprm - эта команда позволяет удалить одно или несколько заданий из очереди печати. При этом стираются соответствующие файлы данных и из системы печати удаляются все ссылки на них.

Взаимодействие lpr и других программ этого набора с демоном lpd осуществляется с использованием сетевых средств, так что они могут запускаться и на других компьютерах. Рассмотрим вкратце, как осуществляется печать файла в системе LPD.

Когда вызывается программа lpr, она первым делом выбирает принтер, на который будет производиться печать. Этот выбор определяется либо параметром командной строки Pprinter, либо значением переменной окружения PRINTER, либо же используется общесистемный принтер, заданный по умолчанию (это принтер с именем lp). Как только lpr узнает, на какой принтер отправлять текущее задание, она ищет описание этого принтера в базе данных об имеющихся принтерах, которая хранится в файле /etc/printcap. Из этой базы lpr получает имя каталога (области спулинга), в который следует помещать задания для найденного принтера. Обычно этот буферный каталог имеет имя /var/spool/lpd/printer. Такой каталог (область спулинга) должен существовать, если вы хотите печатать на принтере с именем printer.

Для каждого задания программа lpr помещает в буферный каталог два файла: cfxxx и dfxxx, где xxx - номер текущего задания. Файл cfxxx содержит справочную информацию и информацию об обработке задания. Источником этих сведений являются командная строка запуска программы, переменные среды процесса, который запустил эту программу, и глобальная конфигурация системы. Файл dfxxx содержит данные, подлежащие печати.

После постановки задания в очередь lpr уведомляет демона lpd о появлении задания на печать. Взаимодействие lpr с lpd происходит через именованный сокет /dev/printer. Демон lpd тоже обращается к файлу /etc/printcap, чтобы узнать, какой принтер должен использоваться для печати, и является он локальным или удаленным. Если в /etc/printcap указано, что принтер подключен локально, lpd проверяет наличие демона печати, обрабатывающего соответствующую очередь. Дело в том, что для обработки каждой очереди lpd создает отдельную копию самого себя. Если такой копии еще не имеется, она создается и ей передается обработка очереди. Если соответствующий принтер подключен к другой машине, lpd устанавливает соединение с демоном lpd удаленной машины и пересылает туда файл данных и управляющий файл.

Обслуживание заданий печати осуществляется по правилу "первым пришел - первым обслужен" (FIFO). Системный администратор может при желании изменить порядок печати с помощью программы lpc.

Начиная с ядра 2.1.33 устройство lp является клиентом нового устройства parport. Введение parport решает некоторые проблемы, связанные с lp - теперь можно разделять параллельные порты с другими драйверами, динамически связывать порты с устройствами, не устанавливая жесткого соответствия между адресами I/O и номером порта и т. д. Подробнее об этом вы можете прочитать в статье [П11.11].

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Принтер

Из книги автора

Принтер page-break-afterУстанавливает, будет ли после текущего элемента при печати Web-страницы производиться прогон листа.page-break-after: auto|always|empty string;Поддерживается IE начиная с 4.0page-break-beforeУстанавливает, будет ли перед текущего элемента при печати Web-страницы производиться прогон


9.6. Принтер

Из книги автора

9.6. Принтер 9.6.1. Традиционные средства печати UNIX Исторически для печати в UNIX-системах существовали две системы печати: LPD (Line Printer Daemon) [RFC1179], разработанная для Berkeley UNIX (или BSD-система), и ATT Line Printer system. Эти системы печати были созданы в 70-х годах для печати текстов на


9.6.7. Печать на удаленный принтер

Из книги автора

9.6.7. Печать на удаленный принтер Если ваш компьютер подключен к локальной сети, то не обязательно иметь принтер, непосредственно к нему подключенный, можно пользоваться принтером, подключенным к какому-то другому компьютеру. Настройка такого принтера на вашем компьютере


13.8.2 Принтер NVT

Из книги автора

13.8.2 Принтер NVT В течение основного сеанса NVT сервер telnet посылает алфавитно-цифровые и управляющие символы на клиентский принтер NVT, т.е. на экран терминала пользователя. Вывод на экран ограничен 95 символами USASCII, соответствующими кодам ASCII от 32 до 126.Для управления экраном


1.5.11. Не работают принтер или звуковая плата

Из книги автора

1.5.11. Не работают принтер или звуковая плата В более ранних версиях Red Hat Linux настройка принтера происходила при установке операционной системы. Теперь принтер и звуковую плату нужно конфигурировать отдельно. В Red Hat Linux для этого служат графические конфигураторы


4.3.3. Принтер по умолчанию

Из книги автора

4.3.3. Принтер по умолчанию Для того чтобы печатать на только что установленном принтере в ОpenOffice, нужно сделать его принтером, выбираемым по умолчанию Для этого выберите ваш принтер в окне конфигуратора и щелкните на кнопке Сделать принтером по умолчанию (рис. 4.14). Рис. 4.14.


4.3.6. Виртуальный PDF-принтер в Fedora

Из книги автора

4.3.6. Виртуальный PDF-принтер в Fedora Формат PDF (Portable Document Format) чрезвычайно популярен во всем мире. И это не удивительно: документы в формате PDF можно прочитать на любом компьютере - будь это древний компьютер под управлением DOS или самая современная графическая станция,


Вывод на принтер

Из книги автора

Вывод на принтер С помощью команды File ? Print (Файл ? Печать) или комбинации клавиш Ctrl+P открывается окно настройки параметров распечатки документа (рис. 10.3). Рис. 10.3. Окно настройки параметров печатиВ данном окне расположены элементы управления печатью. Смысл их достаточно


Вывод на принтер

Из книги автора

Вывод на принтер При выполнении команды File ? Print (Файл ? Печать) или нажатии сочетания клавиш Ctrl+P открывается окно параметров печати документа (рис. 13.3), вид которого зависит от активного окна проекта. Рис. 13.3. Окно настройки печатиВ число элементов управления,


Как подключить сетевой принтер?

Из книги автора

Как подключить сетевой принтер? Если при создании или настройке домашней группы флажок Принтеры установлен, принтеры, подключенные к этому компьютеру, становятся доступны по сети.Компьютеры сети обычно обнаруживают и подключают доступные принтеры


3.5. Как подключить принтер и сканер

Из книги автора

3.5. Как подключить принтер и сканер Все современные принтеры можно подключить к USB-порту. Правда, некоторые современные принтеры работают и через LPT-порт (по старинке). Если ваш принтер можно подключить к LPT-порту, а разъемов USB у вас немного, лучше подключить к LTP.А вот


Принтер

Из книги автора

Принтер Принтер – это устройство, предназначенное для вывода информации (текста и изображений) на бумагу. Другого способа получить бумажную копию данных пока не существует.Сегодня распространены два типа принтеров – струйные и лазерные. Каждый из них имеет свой принцип


Принтер

Из книги автора

Принтер Принтер ломается часто – засоряется его печатающая головка или выходят из строя фотобарабан и печки.Починить принтер, особенно лазерный, в домашних условиях сложно, хотя некоторые неполадки можно исправить. Главное – иметь представление об устройстве принтера.


Принтер-газонокосилка Николай Маслухин

Из книги автора

Принтер-газонокосилка Николай Маслухин Опубликовано 26 марта 2014 Рассматривая финалистов международного конкурса по промышленному дизайну Red Dot, трудно пройти мимо концепта принтера-газонокосилки. Тем более что тему фанатичного увлечения


Мобильный принтер

Из книги автора

Мобильный принтер Вы, вероятно, слышали словосочетание «мобильный офис». Оно предполагает, что вы сможете выполнять свою работу практически где угодно с помощью вещей, которые достаточно легко перевозятся. Очевидно, что ноутбук будет как нельзя кстати для организации


Принтер

Из книги автора

Принтер Ну, вот мы и подошли к тому месту, когда начнем изучать дополнительные приборчики, которые можно подключить к компьютеру и которые должны облегчить нашу жизнь. И первый из этих приборчиков – принтер.Принтер – это незаменимая вещь в домашних условиях. Принтер,