Путь к Linux. Руководство по установке и настройке

         

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


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

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

и младшие с 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

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

This is 1 line

              This is 2 line

                             This is 3 line

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

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



Содержание раздела