Указание сервера на клиенте BSD LPD
В файле /etc/printcapсодержатся определения принтеров для системы BSD LPD ( printcapсокращенно означает printer capabilities — возможности принтеров). В этом файле содержатся записи для каждой очереди печати в системе, независимо от того, является ли очередь локальной (обслуживающей принтеры, подключенные через параллельный, последовательный или USB-порт) или сетевой (обслуживающей другие LPD-принтеры и даже принтеры, доступ к которым осуществляется посредством SMB/CIFS, AppleTalk или других протоколов). Определение каждого принтера располагается в одной строке, а опции разделяются символом :. На практике определение принтера занимает несколько строк; все строки, кроме последней, заканчиваются символом \, который означает, что следующая строка является продолжением предыдущей. Размещенные таким образом данные более удобны для чтения.
Большинство деталей настройки принтеров с помощью файла /etc/printcapне рассматриваются в данной книге. Как было сказано в начале данной главы, необходимую информацию по установке принтеров, включая вопросы использования фильтров печати и Ghostscript, вы можете получить, прочитав документацию на операционную систему, или узнать из книг, представляющих собой введение в систему Linux. Однако некоторые из опций, непосредственно использующиеся при конфигурации сетевого клиента печати, требуют отдельного рассмотрения. Эти опции перечислены ниже.
• lр. Указывает на файл устройства, к которому подключен принтер. Например, выражение lp=/dev/lp0сообщает системе о том, что для вывода на принтер должно быть использовано устройство /dev/lp0(первый параллельный порт). Если вы настраиваете сетевой принтер, вам следует удалить эту опцию или не указывать после знака равенства никакого значения (например, lр=).
• rm. Определяет имя сервера печати LPD. Например, если для данной очереди сервером печати является oak, вам надо включить в определение очереди опцию rm=oak. Заметьте, что для организации печати с помощью удаленной очереди этого недостаточно; данная опция лишь идентифицирует компьютер, на котором расположена очередь. Для определения удаленного компьютера можно использовать имя узла (с указанием или без указания доменного имени) или IP-адрес.
• rp. Действие опции rpначинается там, где заканчивается действие опции rm. Опция rpзадает имя удаленной очереди печати. Например, если очередь на сервере печати называется inkjet, в файл /etc/printcapна клиентском компьютере надо включить выражение rp=inkjet. Заметьте, что имя удаленной очереди не обязательно должно совпадать с именем локальной очереди. Допустима, например, ситуация, когда принтер inkjetсервера будет называться на стороне клиента lр1или canon. Рекомендуется во избежание недоразумений синхронизировать имена; в особенности это важно в больших сетях.
Таким образом, имея локальную очередь печати, вы можете преобразовать ее в сетевую очередь, заменив опцию lpопциями rmи rp. В этом случае вместо вывода данных на локальное устройство компьютер будет передавать задания на узел, заданный с помощью опции rm, в очередь, которая указана как значение опции rp. На сервере в описании очереди, вероятнее всего, будет присутствовать опция lp, но вместо нее могут быть включены опции rmи rp. Следует заметить, что такая конфигурация нежелательна, в этом случае лучше непосредственно указать в клиентской системе реальный сервер печати. (Исключением являются ситуации, когда средства обработки данных, например Ghostscript, выносятся с сервера печати на другой компьютер либо когда конфигурация сети не обеспечивает непосредственное взаимодействие клиента и сервера.)
Если сервер печати не поддерживает LPD-соединения, необходимо использовать более сложную конфигурацию. Например, сервер может быть настроен для обработки заданий на печать, передаваемых средствами SMB/CIFS или AppleTalk. В таком случае вам надо создать сценарий, который обрабатывал бы задания на печать, и вызывать его с помощью опции if. Примеры подобных решений приведены в документации на Samba и Netatalk.
С точки зрения пользователя система печати LPRng работает так же, как и BSD LPD. Это вполне закономерно, так как средства LPRng были разработаны для замены BSD LPD. LPRng использует файл /etc/printcap, в котором содержится такая же информация, как и в одноименном файле BSD LPD. Однако средства контроля доступа к серверу печати в LPRng реализованы совершенно по-другому. Вместо списка клиентов, которым разрешен доступ, в LPRng используется гораздо более сложная система печати, для управления которой служит файл /etc/lpd.perms.
Читать дальше