• Иллюстрированный самоучитель по Linux

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

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.