[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: lpr & CUPS system



On Fri, Apr 11, 2003 at 10:48:54PM +0400, Victor B. Wagner wrote:
> On 2003.04.08 at 14:29:24 +0400, Иван Лох wrote:
> > > нафига CUPS? я лично так и не понял чем она лучше
> > 
> > Если у Вас что-то не получилось поставить, то не значит, что это надо
> > "давить"...
> 
> Вопрос по-моему ставился несколько не так. Вопрос ставился "а нафига
> лично мне на моей конкретной машине менять работающую систему печати на
> более другую и заново учиться ее настраивать" Так что давить никто

Насколько я понимаю, человек поставил CUPS и не сумев его настроить
поставил lpr(ng)... Хотя это без разницы, конечно.

> (здесь) не предлагал. Давить некоторое время назад предлагал я, и в
> ru.linux. Причем агитировал не за lprng а за "старый добрый Berkley lpd,
> настройки которого описаны во всех руководствах".

> > Я, конечно, могу ошибаться, так как слез с lprng 3 (?) года назад, но:
> > 
> > 1) Он способен "из коробки" понимать *.ppd файлы и предоставлять
> > _пользователю_ все опции/функции принтера (плотность, экономичную
> > печать, "зеркало", duplex...)?
> 
> > 2) Он умеет предоставлять библиотечный интерфейс пользовательским
> > программам? Нет, конечно, можно создать 33 виртуальных принтера, но
> 
> Библиотечный интерфейс это какой-то не unix-way. Unix way - интерфейсы
> потоковые. У меня была идея (правда не собрался реализовать) сделать
> взаимодействие пользователя с принтером следующим образом:
> 1. В качестве lpr подсовывается графическая приблуда (вернее, приблуда

UNIX way это конечно здорово... Но бывают программы с достаточно
сложными диалогами (и соответственно внутренней логикой) подсистемы
печати. The Gimp, Scribus, etc и пользоватателю удобно смотреть/менять 
настройки прямо там. Конечно, их можно посмотреть в файле PPD, но при
этом хорошо бы знать настройки конкретного принтера по умолчанию...
Тем более, что библиотечный интерфейс никто не навязывает, все
программы без него прекрасно обходятся.

Кроме того, UNIX way предполагает наличие _пользовательских_ настроек. В
CUPS это делается элементарно через lpoptions и ~/.lpoptions 
А в LPD Вы это хотите дописать...

> Можно эти две веши - диалог и .lpsetup разнести. Если есть диалог,
> то эта квази-lpr передает данные непосредсвенно демону печати. А если
> нет - она читает этот файлик.
> 
> Решение отличается от предлагаемого cups тем что не требует модификации
> программ для своей поддержки. 

Именно lpoptions не требует модификации программ, имеет кучу графических 
приблуд и делает все, что надо... 

> > показать ему *.ppd файл. Такая вот сетевая технология...
> Предполагается что человек знает типы всех своих принтеров. Это
> достаточно естественное предположение, так как от того что написано в
> ppd зависят результаты печати. 

Это смелое предположение ;-} Особенно если в принтерной стоит 8 принтеров,
а ты приехал день назад (из моей личной практики). IMHO lpoptions -l более 
простой путь узнать их возможности, чем чтение 8 ppd файлов. Кроме того,
у них есть системные настройки... Их я тоже хочу посмотреть...

> > 3) Его авторы уже осознали, что в одной комнате может стоять больше
> > одного принтера и некоторые из них взаимозаменяемые? Миграция очередей,
> Это есть в System V системе спулинга. Но до чего ж оно там криво... 
> > остановка на профилактику и так далее? Или Вы рассылаете пользователям
> > письма, на каком принтере и когда не надо печатать?
> 
> Зачем? Выставить PRINTER в /etc/environment или rp в /etc/printcap и
> voila.

Особенно если в сети сотня компьютеров и на половине из них Windows...
Да и мигрируют ли существующие очереди?

> > 5) lprng уже не требует внешних примочек для делегирования форматов сторонним
> > программам?
> 
> Что? А когда-то требовал? По-моему if в princap - самая что ни на есть
> внутренняя примочка.

Во-первых, if - не примочка, это просто интерфейс для примочки. Примочка 
apsfiter или apsmagick (забыл название) ставится отдельно. 

> > CUPS это мощное сетевое решение. Работает из коробки на ура... Как его 
> > можно _не суметь_ поставить я и вовсе не понимаю...
> 
> Очень просто. До недавнего времени он таскал с собой, например свой
> растеризатор. Поэтому все проблемы со шрифтами приходилось решать
> отдельно. Сейчас, говорят, он от этого отучился. Но вот умеет ли он не
> пытаться пропустить задание через ghostscript - не знаю.

Это правда в нем есть ghostscript-esp. Кстати, только лень майнтейнера в
Debian не позволяет ставить его в систему как базовый. Но, разумеется,
если у Вас postscript принтер, то он Вам не нужен. Раньше растеризатор
выглядел немного по другому, но его все-равно можно было выкинуть.

Просто есть вы послаете PJL на принтер, то он по умолчанию (есть такая
запись в magick файл), конвертирует его в PS! Отсюда масса легенд. На самом
деле, разумееся, строчку можно убрать или посылать его с -o raw...
 
> Во всяком случае у меня есть подозрение что посылать на один и тот принтер 
> Postscript (выдав соответствующую PJL ENTER LANGUAGE), PCL и Unix text
> (поменяв в нем концы строк и кодировку) научить его будет трудновато.

Postscript и PCL я посылаю регулярно и все работает. Unix text я
посылать даже не пробовал, ибо есть a2ps... Но, вообще, степеней свободы
настраивать CUPS много и он очень хорошо документирован.
 
-- 
Иван Лох



Reply to: