(описана система печати в System V)

     Печатать,  конечно,  можно и так: cat file > /dev/lp. Но в
многопользовательской системе такой фокус  не  всегда  пройдет.
Поэтому печатаемый файл ставят в очередь на печать.

     Имеем принтер. У принтера есть
     ИМЯ_ПРИНТЕРА - придумывается администратором.
     ПОРТ_ПРИНТЕРА   -   специальный   файл   в   который  надо
выталкивать данные для печати.
     ИНТЕРФЕЙСНАЯ_ПРОГРАММА  -  программа,  которая  как  раз и
будет этим заниматься.

     Если  у  нас  нормально  сконфигурена  система  печати, то
печататься можно так:

    lp -d ИМЯ_ПРИНТЕРА  file
        или,  если мы хотим напечатать на "default" принтере
    cat file | lp

    lpstat          Посмотреть в каком состоянии очередь печати

    cancel [идентификатор_запроса ...] [принтер ...]
                    Срубить запрос на печать

     lp  просто  складывает  файл в SPOOL КАТАЛОГ. ДЕМОН ПЕЧАТИ
lpsched обнаруживает  вновь  поступивший  файл,  ставит  его  в
очередь  на печать, и, когда очередь доходит, запускает наконец
ИНТЕРФЕЙСНУЮ ПРОГРАММУ, вход  которой  берется  из  печатаемого
файла, а ее вывод перенаправляется на ПОРТ_ПРИНТЕРА.



---------------------------------------------------------------
    lpshut    # на время реконфигурации надо "гасить" lpsched
    lpadmin -pLJ_printer -i/usr/lib/lp/model/lj_print -v/dev/lpt2
            или
    lpadmin -pNash_Nowyj_Printer -mstandard -v/dev/contty
    enable  Nash_Nowyj_Printer
    accept  Nash_Nowyj_Printer
    lpsched   # после реконфигурации надо вновь запустить lpsched
---------------------------------------------------------------
  accept - позволяет ставить в очередь печать на этом принтере
  enable - разрешает печатать стоящие в очереди задания

  ключи команды lpadmin
        -pИмя_Нового_Принтера
        -vПОРТ_ПРИНТЕРА
        -iИНТЕРФЕЙСНАЯ_ПРОГРАММА -  маршрутное  имя программы,
                                     которая печатает
        -mМОДЕЛЬ_ПРОГРАММЫ   -  имя "модели"  такой  программы,
                                лежащей  в  каталоге
                                /usr/lib/lp/model
        -o nobanner          - разрешить userу писать lp -o nobanner
              (рекомендую ампутировать banner в интерфейсном скрипте)
        -d printer           - сделать принтером по умолчанию
        -?Удаленный_хост     - можно подключать принтер удаленной машины
        -?Имя_принтера_на_удаленном_хосте
         (ключи не помню, посмотреть в man)
        -s host!printer - для Solaris - подключение удаленного принтера
                          # перед этим вписать принтер в /etc/lp/Systems
     Вместе   с   системой   накопления   вывода   на  принтеры
поставляются образцы интерфейсных  программ.  Они  представляют
собой shell-процедуры, перекодирующими печатаемый файл в формат
соответствующего принтера.




lpadmin -pstar1 -i/udd/print/inter -v/dev/xpit0    # локальный принтер
lpadmin -pstar1 -mdumb -v/dev/lpt1

Подключить к системе удаленный принтер
(ключи варьируются для разных версий Unix)
HP-UX:
    lpadmin -pLJ_printer  -?host -?printer
Solaris:
    вписать удаленную машину в /etc/lp/Systems а затем
    lpadmin -pLJ_printer  -s 'host!printer' ; accept LJ_printer

lpadmin -dstar1                          # Установить принтером по умолчани`

lpadmin -xstar1                          # Ликвидировать принтер star1



/usr/lib/lp/model     #  Образцы интерфейсных программ (модели)

/etc/lp               #  Каталог конфигурации системы LP

/var/spool/lp/*       #  Каталоги с очередями

man lpadmin           #  Естественно!



LinuxPrinting.org Printer Database
http://linuxprinting.org/printer_list.cgi

Популярность: 1, Last-modified: Wed, 01 Dec 2004 14:04:06 GmT