На главную
Вы находитесь в Хранилище файлов Белорусской цифровой библиотеки

Система печати в Unix. LP spoolling

(описана система печати в 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 # Естественно!

Last-modified: Mon, 29 Jun 1998 09:14:32 GMT
World LibraryРеклама в библиотекеПроект для детей старше 12 лет!
Проект Либмонстра, партнеры БЦБ - Украинская цифровая библиотека и Либмонстр Россия
https://database.library.by