On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru








 

КАК УСТРОЕНА СИСТЕМА ПЕЧАТИ?

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

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

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

Если у нас нормально сконфигурирована система печати, то печататься можно так:
lp -d имя_принтера file

или, если мы хотим напечатать на "default" принтере
cat file | lp

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

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

Подключить к системе новый принтер.

    lpadmin -p LJ_printer -i /usr/bin/lj_print  -v /dev/lpt2

или

    lpadmin -p Nash_Nowyj_Printer -m standard -v /dev/contty
    enable  Nash_Nowyj_Printer
    accept  Nash_Nowyj_Printer
  • accept - позволяет ставить в очередь печать на этом принтере
  • enable - разрешает печатать стоящие в очереди задания
  • -p Имя_Нового_Принтера
  • -v ПОРТ_ПРИНТЕРА
  • -i ИНТЕРФЕЙСНАЯ_ПРОГРАММА - маршрутное имя программы, которая печатает
    или
  • -m МОДЕЛЬ_ПРОГРАММЫ - имя "модели" такой программы, лежащей в каталоге /usr/lib/lp/model

    Вместе с системой накопления вывода на принтеры поставляются образцы интерфейсных программ. Они представляют собой shell-процедуры, обеспечивающие связь между планировщиком lpshed и устройствами. Образцы хранятся в каталоге /usr/lib/lp/model и доступны lpadmin с опцией -m

Примеры:

lpadmin -pstar1 -cstars -estar -v/dev/xpit0
lpadmin -pstar1 -cstars -i/udd/print/inter -v/dev/xpit0
lpadmin -pstar1 -cstars -mdumb -v/dev/xpit0
lpadmin -xstar1              #Ликвидировать принтер star1
/usr/lib/lp/interface        #Каталог интерфейсных программ
/usr/lib/lp/model            #Образцы интерфейсных программ
Назад       Содержание       Вперёд