Файл printcap
Файл printcap находится в каталоге /etc и является основой конфигурации печати в Linux. Он содержит сведения обо всех принтерах, установленных в системе. Когда загружается демон печати Ipd (обычно при загрузке Linux), он считывает из этого файла информацию о принтерах, которые предстоит обслуживать.
Основная запись файла printcap следующая:
# LOCAL djet500lpjdj|deskjet:\ :sd=/var/spool/lpd/dj:\ :mx#0: :lp=/dev/lp0:\ :sh:
Каждая запись состоит из нескольких полей, разделенных двоеточиями. Если запись занимает несколько строк, то продолжение на следующей строке указывается обратной косой чертой.
В приведенном примере указаны три возможных варианта имени принтера: djet500lp, dj и deskjet. Принтеру назначен каталог спулинга /var/spool/lpd/dj, в котором демон-Ipd может хранить временные файлы очереди печати. Принтер подключен к первому параллельному порту (/dev/ lp0), печать заглавных страниц не задана (sh). Все это может показаться довольно сложным, впрочем, это соответствует действительности. Файл printcap иногда содержит десятки различных полей, и все они описаны на странице руководства printcap, которая открывается командой:
$ man printcap
Если бы этой информации было достаточно, чтобы заставить принтер работать, проблем с его конфигурированием не возникало бы. Но демон Ipd недостаточно сообразителен. Руководствуясь приведенной выше записью, Ipd без обработки отправляет все данные, предназначенные для печати, на принтер. Если принтер не в состоянии разобраться с этими данными, на выходе не получается ничего, кроме мусора. Рассмотрим возможные проблемы печати.
- Текстовый ASCII-файл не распечатывается на принтере PostScript.
- Текстовый АSCII-файл не распечатывается на принтере PCL в правильном формате без подстройки управляющих кодов в этом файле.
- Файл в формате PostScript, отправленный на принтер PCL, распечатывается в виде длинного списка команд PostScript, а не документа, определяемого этими командами.
Это лишь часть проблем, возникающих при печати с примитивной записью в файле printcap. Такие проблемы решаются применением фильтров.