Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite

Lines Club

Ищем достойных соперников.

И кроме того пропан бутан находится в балоне в сжиженом состоянии, при относительно небольшом.


Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Выполнение заданий NetWare на печать

Пакет ncpfs содержит маленькую утилиту nprint, которая посылает задания по выводу на печать через подключения NCP в очередь печати NetWare. Эта команда создает подключение, если оно в настоящее время не существует и использует файл /.nwclient, чтобы скрыть имя пользователя и пароль. Параметры командной строки, используемые, чтобы управлять процессом входа в систему такие же, как и у ncpmount, так что мы не будем их изучать второй раз. Наиболее важные параметры командной строки nprint будут показаны в примерах.

Единственная требуемая опция для nprint имя файла для печати. Если имя файла не задано, nprint примет задание по выводу на печать из stdin. Наиболее важные параметры nprint определяют сервер и очередь. Таблица 15-4 перечисляет наиболее важные параметры.

Таблица 15-4. Опции команды nprint

Опция Описание
-S server_name

Имя сервера печати. Удобно иметь соответствующую запись в файле /.nwclient. Она обязательна.

-q queue_name

Очередь печати, в которую надо послать задание по выводу на печать. Эта опция обязательна.

-d job_description

Текст, который появится в консоли печати при показе списка поставленных в очередь работ.

-l lines

Число строк на страницу. По умолчанию 66.

-r columns

Число столбцов на страницу. По умолчанию 80.

-c copies

Число копий работы, которая будет напечатана. Значение по умолчанию 1.

Простой пример использования nprint:
$ 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 состоит из трех шагов:

  1. Написать скрипт-обертку (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.

  2. Введите новую запись в /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:
    
  3. Добавьте опцию -c к команде ncpmount.
    ncpmount -S REDS01 .... -c lp ....
    

    Наш локальный пользователь stuart должен определить пользователя lp как владельца подключения, когда он устанавливает связь с сервером NetWare.

Теперь любой пользователь Linux может указать pslaser как имя принтера при вызове lp. Задание по выводу на печать будет послано на указанный сервер NetWare и помещено в очередь для печати.

Управление очередями печати

Команда pqlist показывает все очереди печати, доступные Вам на указанном сервере. Если Вы не определяете сервер в командной строке, используя опцию -S или логин с паролем, они будут приниматься из заданной по умолчанию записи в файле /.nwclient:

# pqlist -S vbrew_f1 -U guest -n
Server: ALES_F1
Print queue name   Queue ID
---------------------------
TEST               AA02009E
Q2                 EF0200D9
NPI223761_P1       DA03007C
Q1                 F1060004
I-DATA             0D0A003B
NPI223761_P3       D80A0031

Пример показывает список очередей печати, доступных пользователю guest на сервере ALES_F1.

Чтобы посмотреть задания по выводу на печать в очереди, используйте команду pqstat. Требуется имя очереди как параметр, и выводятся все работы в очереди. Вы можете факультативно задать другой параметр, указывающий сколько работ в очереди хотели бы внести в список. Следующий типовой вывод немного сжат, чтобы поместиться на странице:
$ 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

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


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют