Добавление принтера
Категория: Печать | Автор: admin | 20-06-2010, 22:47 | Просмотров: 4807

В этом параграфе описаны детали конфигураций, специфичные для различных поставщиков принтеров. Для каждой операционной системы мы рассмотрим:

  • процедуру установки локального принтера, подключаемого к последовательному или параллельному порту;
  • печать в сети посредством демона печати lpd;
  • получение из сети заданий на печать для демона lpd.

Следует отметить, что мы будем рассматривать печать в сети только с точки зрения системы BSD. Это обусловлено тем, что не существует такой вещи, как "удаленная печать в системе System V"; системы, базирующиеся на последней и пытающиеся при этом осуществлять удаленную печать, адаптируют для этого фрагменты протокола BSD.

Далее мы предполагаем, что принтер физически уже подключен к компьютеру или включен в сеть. Чтобы вспомнить, как это делается, обратитесь к главе 7 за информацией относительно подключения соответствующих принтеров, а также к главе 15, где содержится общая информация о включении устройств в сеть.

Сетевые принтеры требуют определенного "внешнего" конфигурирования. В частности, им должны быть назначены IP-адреса. Обычно это делается одним из следующих методов.

Во-первых, многие современные принтеры могут загружаться по сети с ВООТР- или DHCP-сервера. Этот метод хорош, когда в сети имеется много однотипных принтеров.

 

Альтернативный метод — присвоение принтерам IP-адресов с консоли. Иногда "консолью" является последовательный порт, но чаще это просто несколько кнопок на передней панели принтера, которые нужно нажать в определенной последовательности. После того как принтер включен в сеть и отзывается на команду ping, позаботьтесь о соответствующей защите для него; как это осуществить, рассказано в конце данной главы.

Чтобы сделать материал следующих разделов более понятным, мы будем говорить о конкретном наборе оборудования. Сервер beast является "родным" lpd-спулером, подключенным к лазерному принтеру howler-lw.

 

Solaris

 

Начиная с версии Solaris 2.6, фирма Sun использует еще и другую систему печати. Наилучшим методом управления печатью при работе в данной системе является применение утилиты Solstice Printer Manager, входящей в состав пакета Solstice AdminSuite. Если данный продукт в вашей системе отсутствует, имеется еще один неплохой вариант — утилита Admintool (ее можно найти в каталоге /usr/bin/admintool). Для тех, кто хотел бы лучше разобраться в системе печати, мы опишем ниже весьма интригующие детали.

В системе Solaris используется несколько нестандартных команд печати. Команда lpfilter просматривает и добавляет в систему новые интерфейсные программы.

Команды lpset и lpget облегчают редактирование и обзор данных о конфигурации принтера. Команда lpset выполняет в основном те же функции, что и команда lpadmin, но ее уникальная особенность — способность работать с обеими конфигурациями файлов, используемыми как в системе, так и в конкретном принтере.

Команда lpusers управляет слегка улучшенной системой приоритетов и системой контроля доступа, а команда lpforms обеспечивает представление стандартизированных страниц посредством механизма групп пользователей. Ни одна из этих команд на практике не используется, поэтому рассматривать мы их не будем.

Система Solaris предоставляет команды печати системы BSD как составную часть пакета "SunOS/BSD Compatibility Package", который по умолчанию включается в дистрибутив системы Solaris. Следовательно, если понадобится, можно использовать демон lpd для нужд печати во всех случаях.

В системе Solaris информация о конфигурации принтера находится в файле, который аналогичен файлу printcap и называется /etc/printers.conf. Дополнительная информация находится в каталоге /etc/lp, а специфическая информация о принтере — в файле /etc/lp/ptinters/printername. Пользователи могут приспосабливать систему печати под свои нужды с помощью опционального файла ~/.printers, который позволяет им делать для принтера установки по умолчанию и создавать псевдонимы для команд печати. Сообщения об ошибках из спулера lpsched регистрируются по умолчанию в файле /var/lp/logs/lpsched.

В отличие от команд в традиционной системе печати System V, команды печати системы Solaris используют пробел между флагами опций и их значениями (т.е. пишется, например, lpstat -р anchor-lj, а не lpstat -panchor-lj).

Однако они принимают также и старый формат команд. Возможно, лучше все-таки придерживаться документированного (с пробелами) синтаксиса.

При работе в системе Solaris необходимо указывать, какого типа задания может принимать устройство. Располагая такой информацией, система печати определяет, может ли принтер принять данное задание на печать. Интерфейсная программа отвергает задания, не относящиеся к одному из специфицированных типов, так что если вы забыли указать какой-то тип, принтер будет простаивать. Чтобы указать нужное значение, используйте команду lpadmin -I. Опция -I PostScript,simple полезна в случае использования PostScript-принтеров. Для построчно-печатающих принтеров, "понимающих" только текст, следует выбрать опцию -I simple.

Требуется также указать тип принтера, используя в команде lpadmin флаг . Системе печати необходимо "знать" тип принтера, чтобы определить, как его инициализировать и как с ним связываться. Кроме того, некоторым фильтрам необходима эта информация, чтобы правильно установить свои параметры. Типом принтера может быть некоторое значение, которое содержится в базе данных terminfo, находящейся в каталоге /usr/share/lib. Ищите в нем запись, соответствующую принтеру. В случае использования PostScript-принтера можно применять тип PS:

 

# lpadmin -р howler-lw -Т PS
 

 

Система Solaris хранит новые интерфейсные программы в каталоге /etc/lp/interfaces, хотя никакие фильтры не предоставляются ею в этом каталоге сразу после инсталляции. Чтобы получить список всех интерфейсных программ, воспользуйтесь командой lpfilter:

 

# lpfilter -f all -l
 

 

Задание локального последовательного принтера

 

Прежде всего подключите последовательный принтер и определите устройство, с которым он ассоциируется. Обычно последовательные устройства Solaris называются /dev/term/а и /dev/term/b. Владельцем этих устройств должен быть пользователь , и права доступа следует установить так, чтобы только пользователь имел право чтения или записи для данного устройства:

 

# chown lp /dev/term/a

# chmod 600 /dev/term/а

 

 

Затем конфигурируйте принтер, зарегистрировавшись как пользователь lpadmin. Нужно указать имя принтера, имя устройства, тип принтера (PostScript или обычный) и типы данных, которые обязан принимать принтер. Команда lpadmin должна выглядеть примерно так:

# lpadmin -р имя_принтера -v /dev/term/а -Т тип_принтера -I тип_содержимого -D "описание"

 

Прикажите спулеру приступить к приему заданий на печать и распорядитесь, чтобы принтер начал их печатать:

 

# enable имя_принтера

# accept имя_принтера

 

 

И наконец, с помощью команды lpstat убедитесь в том, что установка принтера прошла успешно:

 

# lpstat -р имя_принтера
 

 

Печать из Solaris на BSD-сервер печати

 

Для того чтобы разрешить спулинг из системы Solaris на удаленный lpd-сервер (или запуск на другом компьютере либо сетевом принтере), используйте в команде lpadmin специфичный для системы Solaris флаг -s. Этот флаг позволяет определять удаленный принтер как сервер!принтер. Применяемый вами язык программирования shell, возможно, требует, чтобы вы избегали использования восклицательного знака после обратной косой черты, поэтому в действительности команда может выглядеть так:

 

# lpadmin -р howler-lw -з beast!howler-lw -I PostScript,simple -Т PS -D "howler-lw via beast"
 

 

Если принтер имеет одно и то же имя на сервере и на локальном компьютере, можно пропустить часть !принтер команды (в данном случае это "!howler-lw").

После того как удаленный принтер опознан, активизируйте его, как обычно:

 

# enable howler-lw

# accept howler-lw

 

 

И наконец, протестируйте новый принтер:

 

# lp -phowler-lw /etc/motd

# lpsfat -phowler-lw

 

 

Если сетевой принтер не понимает команду lpd, он, вероятно, ожидает, что вы подберетесь к нему напрямую, через TCP-соединение. Система Solaris поддерживает такую конфигурацию посредством интерфейсной программы netstandard; эта программа распределяет задания на печать по всей сети, так что имя локального устройства, определенного с помощью флага -v, может быть указано в файле /dev/null.

Команда lpadmin -о позволяет передать опции в команду netstandard. Например, следующая команда создает новый PostScript-принтер с именем dinger-lw для сетевого принтера, который принимает PostScript-файлы через ТСР-порт 9100:

 

# lpadmin -р dinger-lw -v /dev/null -I PostScript -T PS -m netstandard -o prttocol=tcp -o dest=dinger-lw:9100 -o timeout=15
 

 

Программа netstandard поддерживает также отправку заданий на lpd-сервер системы BSD; это достигается записью lpadmin -о protocol=bsd. Того же результата можно добиться посредством команды lpadmin -s.

 

Прием заданий на печать от BSD-систем

 

Система Solaris включает в свой состав демон in.lpd, который по умолчанию запускается из демона inetd. Этот демон понимает протокол демона lpd и может запросто получать буферизованные задания от lpr-клиентов на локальный или сетевой принтеры. Демон in.lpd берет параметры конфигурации из файла /etc/printers.conf, так что ни в каком другом конфигурировании, помимо выполняемого командой lpadmin, нет необходимости. Если вы не собираетесь предоставлять услуги печати lpd-клиентам, превратите в комментарий строку вызова демона in.lpd в файле /etc/inetd.conf.

 

HP-UX

 

Помимо выполнения в полном объеме команд обычной системы System V, система HP-UX предоставляет несколько уникальных клиентских команд и богатый особенностями сервер. Система HP-UX не любит, когда администратор вносит какие-то изменения во время работы демона lpsched.

Команда lpana анализирует характеристики буфера печати. Этот инструмент дает достаточно информации для того, чтобы можно было оптимизировать систему буферирования принтера; она включает такие статистические данные, как среднее время ожидания заданий в очереди и среднее время печати одного задания. Для записи учетных данных, выдаваемых командой lpana, запустите демон lpsched с флагом .

Команда lpfence определяет минимальный приоритет, который должны иметь задания, поступающие в очередь на печать. Этот приоритет устанавливается для принтера, в отличие от приоритета задания.

Задания, которые помещены в буфер, но еще не начали выполняться, могут быть изменены с помощью команды lpalt. Эта команда позволяет изменить большинство опций программы , благодаря чему пользователь избавлен от необходимости отменять, а потом заново помещать в буфер задания, которые нуждаются в корректировке.

Как и в системе Solaris, версия команды lpadmin системы HP-UX поддерживает флаг , позволяющий передать значения параметров в интерфейсную программу. Этот флаг очень полезен, потому что избавляет системного администратора от необходимости редактировать сценарии или перекомпилировать интерфейсные программы лишь для того чтобы изменить их опции. Соответствующий пример был приведен выше.

 

Задание локального последовательного принтера

 

Предположим, мы хотим подключить принтер HP LaserJet 4М к последовательному порту, указанному в файле /dev/ttyp2. Прежде чем выполнять команду lpadmin, нужно остановить все сервисы печати:

 

# /usr/sbin/lpshut
 

 

Какая-то интерфейсная модель всегда существует для печати на принтерах в каталоге /usr/lib/lp/model, поэтому для конфигурирования принтера мы будем использовать команду lpadmin -m:

# /usr/sbin/lpadmin -phowler-lw -mlaserjet4 -v/dev/ttyp2

 

Потом мы начнем прием заданий на печать в буфер, сделаем принтер доступным и перезапустим демон буферирования:

 

# /usr/lib/accept howler-lw

# /bin/enable howler-lw

# /usr/sbin/lpsched

 

 

Печать из HP-UX на BSD-сервер печати

 

Система HP-UX предоставляет в ваше распоряжение интерфейсный сценарий, называемый rmodel, который может посылать задания на удаленный сервер lpd. Опции сценария rmodel устанавливаются посредством команды lpadmin -о. Например, следующие команды делают принтер howler-lw на компьютере beast доступным для локальных пользователей:

 

/usr/sbin/lpshut

/usr/sbin/lpadmin -phowler-lw -v/dev/null -mrmodel -ormbeast -orphowler-lw -оbЗ 

/usr/lib/accept howler-lw

/bin/enable howler-lw

/usr/sbin/lpsched

 

 

Интерфейс rmodel использует аргументы orm, orp и ob для описания удаленного компьютера, удаленного принтера и применяемого BSD-стиля.

На самом деле для отправки задания на удаленный lpd-сервер интерфейс rmodel вызывает команду rip. К сожалению, команды rip, rcancel и rlpstat предназначены исключительно для использования другими частями системы, их никогда не должны вызывать непосредственно пользователи. Если эти ограничения оказались существенными для вас, рассмотрите возможность использования пакета rlpr, описанного в параграфе 23.8.

 

Прием заданий на печать от BSD

 

Спулер удаленной печати системы HP-UX, rlpdaemon, принимает задания от системы lpr/lpd. Демон rlpdaemon обычно запускается демоном inetd, но компьютер, который получает много заданий на печать, должен начинать свою работу во время загрузки; демон rlpdaemon принимает задания от любого из компьютеров, перечисленных в файле /etc/hosts.equiv или /usr/spool/lp/.rhosts.

 

Red Hat

 

Система печати, используемая в Red Hat, является прекрасным воплощением BSD-стандарта. Некоторые из инструментов, применяемых в Red Hat, являются весьма полезными, особенно графическая утилита printtool, которая автоматизирует редактирование файла /etc/printcap, и сценарий lpunlock, благодаря которому можно спасти заблокированные серверы печати. Замечательная утилита printtool поможет отконфигурировать множество принтеров, включая локальные, удаленные серверы lpd, SMB (Windows) и принтеры NetWare (NCP). Следует предостеречь вас от следующего: утилита printtool требует, чтобы файл /etc/printcap был сформирован очень тщательно, если отредактировать этот файл вручную, может случиться так, что его невозможно будет открыть утилитой printtool.

Известно, что Red Hat поддерживает относительно небольшое количество принтеров. Основной причиной этого является то, что Red Hat Linux использует GNU-версию программы ghostscript, которая поддерживает намного меньше принтеров, чем популярная версия Aladdin Enterprises. Свободно распространяемая, но псевдокоммерческая программа ghostscript, входящая в состав Aladdin и используемая в различных дистрибутивах, может растеризовать изображения для многих других принтеров, не относящихся к категории PostScript. Если вы обнаружите, что принтер не поддерживается системой Red Hat по умолчанию, рассмотрите вариант инсталляции версии Aladdin программы ghostscript с узла www.aladdin.com.

 

Задание локального последовательного принтера

 

В системе Red Hat используется пакет фильтров печати RHS, который трудно конфигурировать без помощи программы printtool. Запись в случае, когда фильтры не применяются, выглядит примерно так:

 

howler-lw|howl|laserjet:

   :sd=/var/spool/lpd/howler-lw:

   :mx#0:

   :lp=/dev/parportO:

:sh:

 

 

Эта запись определяет три имени для принтера, указывает каталог буфера и порт устройства, отменяет максимальный размер задания и подавляет печать их заголовков.

Из данного файла устройства видно, что он относится к параллельному принтеру. Последовательные принтеры конфигурируются аналогично. Это устройство, вероятно, могло бы быть устройством /dev/ttyS0 (или S1 для второго последовательного порта), а не устройством /dev/parport0, и могло бы использовать различные фильтры. Кроме того, можно было бы указать такие параметры для последовательного порта, как скорость передачи в бодах. Ищите данные о соответствующих установках в man-страницах, посвященных базе данных printcap.

 

Печать из Red Hat на сетевой сервер печати

 

Как и во всех системах печати BSD, для новых принтеров должна быть сделана запись в файле /etc/printcap клиентского компьютера:

 

howler-lw|lp|8-6["LaserJet 5M, called howler-lw on beast":

   :lp=/var/spool/lpd/howler-lw/.null:

   :rm=beast:rp=howler-lw:

   :sd=/var/spool/lpd/howler-lw:mx#0:

 

 

Затем следует создать каталог для буфера и файл .null на клиентском компьютере:

 

# mkdir /var/spool/lpd/howler-lw

# touch /var/spool/lpd/howler-lw/.null

# chown -R daemon /var/spool/lpd/howler-lw

# chgrp -R daemon /var/spool/lpd/howler-lw

# chmod 775 /var/spool/lpd/howler-lw

 

 

Если lpd-сервер является действительно компьютером (а не просто "умным" принтером), перед тем как конфигурировать сетевые клиенты, следует убедиться, что печать заданий с этой машины возможна. Для проверки функционирования печати со стороны клиента можно использовать последовательность команд, аналогичную следующей:

 

# lpc start howler-lw

# lpr -Phowler-lw /etc/motd

# lpq -Phowler-lw

 

 

Прием заданий на печать из сети

 

Прежде чем пытаться загрузить в буфер задания из сети, убедитесь в том, что имеется возможность печатать задания с локального компьютера. Затем добавьте в файл /etc/hosts.lpd клиентов, от которых вы хотите получать задания.

 

FreeBSD

 

По умолчанию в системе FreeBSD файл /etc/printcap поступает с некоторыми заранее подготовленными примерами локальной и сетевой конфигураций принтера, к которым можно обращаться при добавлении в систему принтеров. Образцы файла printcap, приведенные в разделе, касающемся системы Red Hat, также работают и в системе печати FreeBSD (хотя фильтры, о которых там говорилось, не поставляются вместе с FreeBSD).

По умолчанию сервисы печати в системе FreeBSD недоступны. Чтобы активизировать их, измените NO на YES в следующей строке, находящейся в файле /etc/rc.conf:

lpd_enable="NO"       # Run the line printer daemon.

 

Ни одна из команд печати, используемых в системе FreeBSD (за исключением, пожалуй, команды lptcontrol), ничем вас не удивит. Команда lptcontrol позволяет конфигурировать параллельный порт так, что становится возможным использование любого из нескольких различных режимов, таких как печать с прерыванием, печать по запросу, а также расширенного и стандартного режимов. Для того чтобы заставить первый параллельный порт (/dev/lpt0) работать в режиме печати с прерыванием, используйте команду lptcontrol следующим образом:

 

# lptcontrol -i -u 0
 

 

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

Несколько полезных примеров печати и сценариев включены в справочник по системе FreeBSD. Его можно найти на узле www.freebsd.org.

 

Задание локального принтера

 

Первый параллельный порт на компьютере с системой FreeBSD — это порт /dev/lpt0. Несмотря на разницу в именах устройств, конфигурация базы данных printcap локального последовательного или параллельного порта почти аналогична таковой в системе Red Hat (см. выше).

Дистрибутив FreeBSD включает в свой состав относительно простой текстовый фильтр, /usr/libexec/lpr/lpf, который выполняет основное форматирование, в частности формирует переходы на новую строку и отступы, а также преобразование из текстового в PostScript-формат.

 

Конфигурирование сетевой печати

 

Система FreeBSD поддерживает удаленные принтеры во многом аналогично тому, как это делает система Red Hat, хотя отвечающие за это фильтры различны. Предоставление локальных принтеров для печати по сети выполняется также аналогично.



 (голосов: 0)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page