su13@pochta.ru

| Первый | Второй | Третий | Четвёртый | Пятый | Шестой | Седьмой |


Подключение принтера

Компьютер без принтера сегодня представляется каким-то полуфабрикатом. А резкое падение цен на матричные, струйные и лазерные принтеры в течение последних двух лет способствуют массовому распространению технологии "персональной печати". Конечно, первая мысль, ассоциируемая с принтером сегодня - это MS Word. Однако, как я постараюсь показать, Linux предоставляет пользователю более широкие возможности по управлению ресурсами принтера, чем мы привыкли видеть в Windows.

Первое подключение устройства печати

Прежде всего нам необходимо убедиться, что Linux видит ваш принтер. Как правило, принтер подключается к единственному параллельному порту компьютера, который размещается либо на плате устройств ввода/вывода, либо непосредственно на материнской плате компьютера. Но "по теории" IBM PC может поддерживать до четырех параллельных портов, и в Linux им соответствуют символьные устройства /dev/lp0 - /dev/lp3.

Поэтому первый ваш шаг состоит в проверке - есть ли в вашей системе соответствующие устройства. Если нет, их придется создать самостоятельно. Для этого учтем, что во-первых, устройства в UNIX являются просто специальными файлами, которые можно создать с помощью программы mknod, а во-вторых, за параллельными портами зарезервированы номера устройств - старшее 6 и младшие с 0 до 3 и соответствуют номеру устройства.

Вот синтаксис команд mknod для всех параллельных портов, поддерживаемых Linux (в скобках приведены базовые адреса портов ввода/вывода):
mknod /dev/lp0 c 6 0(0x3BC)
mknod /dev/lp1 c 6 1(0x378)
mknod /dev/lp2 c 6 2(0x278)
mknod /dev/lp3 c 6 3(0x......)

Обратите внимание на адреса портов! Как правило, в составе IBM PC входит порт с адресом 0x378, который соответствует не /dev/lp0, а /dev/lp1. И если вы по привычке будете соотносить "первый" порт DOS с "нулевым" портом UNIX, то искать причину неисправности вам придется довольно долго. Как же избежать этой ошибки?

Наиболее простой путь состоит в экспериментальной проверке конфигурации. Во-первых, вы можете воспользоваться утилитами из DOS типа sysinfo или MSD, а во-вторых, можете просто попытаться "выбросить на печать" текущий каталог, например:

ls -l > /dev/lp0

Если порта lp0 на вашей машине нет вы получите сообщение:

? /dev/lp0 unknown device

после чего вы можете попробовать использовать другое устройство. Если же все в порядке, то на принтер будет выведена "лесенка" примерно следующего вида:

This is 1 line
This is 2 line
This is 3 line

Причина этого явления состоит в том, что ориентированные для работы в DOS принтеры требуют для завершения строки два символа - возврата каретки <CR> (0x13) и перевода строки <LF> (0x10). А вот UNIX традиционно обходится одним символом - <LF>.

Бороться с этим неприятным эффектом вы можете двумя способами - либо отключить режим раздельного управления <CR> и <LF> - в этом случае принтер будет распознавать приход любого из этих символов как команду перейти к новой строке. Этот режим поддерживает большинство современных моделей принтеров, но его целесообразно использовать лишь в том случае, если вы используете только Linux. Если же вам приходится время от времени обращаться к старушке DOS, целесообразно использовать специальные программы-фильтры, о которых речь пойдет ниже. А сейчас, после того, как мы убедились в работоспособности принтера, мы организуем поддержку системных средств печати, общепринятых для UNIX.

Поддержка принтера в ядре Linux

Драйвер печати
Корректировка настроек принтера - tunelp

Системное управление принтером

lpd
lpq
lprm
lpc

lpr - стандартная пограмма печати

/etc/printcap - конфигурирование принтера

Фильтры печати

Борьба с "лесенкой"

apsfilter - автоматический распознаватель типа входного файла

Подключение кириллических шрифтов Postsript

[Назад] [Содержание] [Вперед]

GNU OCXE GNU LINUX
Сайт управляется системой uCoz