Библиотека сайта rus-linux.net
Выполнение заданий NetWare на печать
Пакет ncpfs
содержит маленькую утилиту
nprint, которая посылает задания по выводу на печать
через подключения NCP в очередь печати NetWare. Эта команда создает
подключение, если оно в настоящее время не существует и использует файл
/.nwclient
, чтобы скрыть имя пользователя и
пароль. Параметры командной строки, используемые, чтобы управлять процессом
входа в систему такие же, как и у ncpmount, так что
мы не будем их изучать второй раз. Наиболее важные параметры командной строки
nprint
будут показаны в примерах.
Единственная требуемая опция для nprint имя файла
для печати. Если имя файла не задано, nprint примет
задание по выводу на печать из stdin
. Наиболее
важные параметры nprint определяют сервер и очередь.
Таблица 15-4
перечисляет наиболее важные параметры.
Таблица 15-4. Опции команды nprint
Опция | Описание |
---|---|
-S
server_name |
Имя сервера печати. Удобно иметь
соответствующую запись в файле |
-q
queue_name |
Очередь печати, в которую надо послать задание по выводу на печать. Эта опция обязательна. |
-d
job_description |
Текст, который появится в консоли печати при показе списка поставленных в очередь работ. |
-l
lines |
Число строк на страницу. По умолчанию 66. |
-r
columns |
Число столбцов на страницу. По умолчанию 80. |
-c
copies |
Число копий работы, которая будет напечатана. Значение по умолчанию 1. |
$ nprint -S REDS01 -q PSLASER -c 2 /home/matt/ethylene.ps |
/home/matt/ethylene.ps
на принтере
PSLASER
на сервере REDS01
,
используя имя пользователя и пароль из файла
/.nwclient
.Использование nprint с Line Printer Daemon
Раньше я упомянул, что опция -c
программы
ncpmount полезна для печати.
Linux обычно использует программное обеспечение принтера BSD-стиля. Line printer daemon (lpd) является демоном, который проверяет локальный каталог буфера в поисках поставленных в очередь работ, которые должны быть напечатаны. Пакет lpd читает имя принтера и некоторые другие параметры из указанного файла форматирования и пишет данные на принтер, факультативно передавая данные через фильтр, чтобы трансформировать их или управлять печатью.
Демон lpd использует простую базу данных, названную
/etc/printcap
, чтобы сохранить конфигурацию
принтера, включая то, какие фильтры должны выполняться.
lpd обычно выполняется с правами специального
системного пользователя lp.
Вы могли бы конфигурировать nprint как фильтр для lpd, который позволяет пользователям Вашей Linux-машины выводить данные непосредственно на удаленные принтеры, которые установлены на сервере NetWare. Чтобы сделать это, пользователь lp должен быть способен писать запросы на NCP-подключение к серверу.
Простой способ достичь этого: определить lp как владельца подключения, установленного другим пользователем. Полный пример того, как устанавливать Linux-печать, чтобы обработать задания по выводу на печать клиентов NetWare состоит из трех шагов:
- Написать скрипт-обертку (wrapper script).
Файл
/etc/printcap
не разрешает передавать параметры фильтрам. Следовательно, Вы должны написать короткий скрипт, вызывающий команду, которую Вы хотите выполнить, с нужными параметрами:#!/bin/sh # p2pslaser - simple script to redirect stdin to the # PSLASER queue on the REDS01 server # /usr/bin/nprint -S REDS01 -U stuart -q PSLASER #
Сохраните его в файле
/usr/local/bin/p2pslaser
. - Введите новую запись в
/etc/printcap
.Мы будем должны конфигурироватьp2pslaser
как выходной фильтр в/etc/printcap
. Это делается так:pslaser|Postscript Laser Printer hosted by NetWare server:\ :lp=/dev/null:\ :sd=/var/spool/lpd/pslaser:\ :if=/usr/local/bin/p2pslaser:\ :af=/var/log/lp-acct:\ :lf=/var/log/lp-errs:\ :pl#66:\ :pw#80:\ :pc#150:\ :mx#0:\ :sh:
- Добавьте опцию
-c
к команде ncpmount.ncpmount -S REDS01 .... -c lp ....
Наш локальный пользователь stuart должен определить пользователя lp как владельца подключения, когда он устанавливает связь с сервером NetWare.
Теперь любой пользователь Linux может указать
pslaser
как имя принтера при вызове
lp. Задание по выводу на печать будет послано на
указанный сервер NetWare и помещено в очередь для печати.
Управление очередями печати
Команда pqlist показывает все очереди печати,
доступные Вам на указанном сервере. Если Вы не определяете сервер в командной
строке, используя опцию -S
или логин с паролем, они
будут приниматься из заданной по умолчанию записи в файле
/.nwclient
:
#
|
Пример показывает список очередей печати, доступных пользователю
guest
на сервере ALES_F1
.
$ pqstat -S ALES_F1 NPI223761_P1 Server: ALES_F1 Queue: NPI223761_P1 Queue ID: 6A0E000C Seq Name Description Status Form Job ID ---------------------------------------------------------------------- 1 TOTRAN LyX document - proposal.lyx Active 0 02660001 |
Вы может видеть только одно задание по выводу на печать в очереди,
принадлежащей пользователю TOTRAN
. Остальная часть
параметров включает описание работы, состояние и идентификатор работы.
Команда pqrm используется, чтобы удалить задания по выводу на печать из определенной очереди печати. Чтобы удалить работу в очереди, скомандуйте:
$ pqrm -S ALES_F1 NPI223761_P1 02660001 |
Команда довольно проста, но неуклюжая для того, чтобы использовать ее в спешке. Было бы неплохо написать скрипт, чтобы упростить эту операцию.
Назад | Глобальное оглавление | Вперед |
Утилиты IPX | Локальное оглавление | Эмуляция сервера NetWare |