Путь к LINUX

         

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


Прежде всего нам необходимо убедиться, что

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.


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