Файл 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. Такие проблемы решаются применением фильтров.