LINUX.ORG.RU

Начата работа над новым диспетчером очереди печати printerd

 ,


1

3

Автор утилиты system-config-printer Тим Воу (Tim Waugh) объявил о начале работы над новым диспетчером очереди печати printerd. В отличие от CUPS, printerd предоставляет единственный интерфейс через систему D-Bus. Такой интерфейс упростит интеграцию с десктопными приложениям. Поддержку протокола IPP планируется реализовать с помощью промежуточного демона, работающего в отдельном процессе.

Было принято решение, что единственным входным форматом печатаемых файлов будет PDF. Также заявлено, что будут поддерживаться все существующие драйверы и бекенды системы CUPS.

Уже реализован базовый каркас приложения и простая консольная утилита для управления демоном. Исходный код доступен здесь.

>>> Подробности

anonymous

Проверено: DoctorSinus ()

Ответ на: комментарий от vaino

необходимые патчи без проблем были приняты в CUPS

Патчи Redhat? Ты явно не понимаешь, о чём говоришь.

Юристы красношапки несколько месяцев разбирались с юристами Яббла, как бы им так отдать патчи, чтобы не подписывать не устраивающее их соглашение. В результате, договорились, но патчи в апстрим CUPS так до сих пор и не попали.

AP ★★★★★ ()
Ответ на: комментарий от vaino

Уточню на всякий случай: я про патчи на тему colord.

AP ★★★★★ ()
Ответ на: комментарий от sv75

Спрашивали про дистр!

Тогда это практически всё равно, что спросить про дистр, в котором нет grep и awk.

Любой более-менее кроссплатформенный и распространенный софт будет в любом дистре.

А так - в openwrt ещё не поставляется по умолчанию и для роутеров не нужен.

Кстати, для роутеров действительно необходим более вменяемый сервер печати с очередями, чем cups.

Lothlorien ★★★ ()
Ответ на: комментарий от Quasar

У яббла нет и никогда не было корпоративного рынка.

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

У яббла - рынок недобитых хипстеров в первую очередь.

Которые составляют основной источник пополнения нынешнего айти персонала.

LamerOk ★★★★★ ()
Ответ на: комментарий от GotF

Довольно странное решение, КМК. Почему не PS?

Потому что PS - это полный по Тьюрингу язык программирования, а PDF - нет. Следствия:

1) интерпретатор PostScript можно зациклить, PDF - нет

2) по PDF-файлу можно заранее узнать количество страниц, по PS - нет

т.е. это элементарные соображения безопасности.

У меня вопрос другой: почему не растр?

AEP ★★★★★ ()
Ответ на: комментарий от AEP

почему не растр?

Потому что приличные принтеры имеют собственные аппаратные растеризаторы (и интерпретаторы постскрипта), которые фигачат во все 600/1200 ppi.

LamerOk ★★★★★ ()
Ответ на: комментарий от LamerOk

А некоторые, так и 2400. И это я об обычных офисных ящиках говорю, не о типографских машинах.

LamerOk ★★★★★ ()
Ответ на: комментарий от AlexM

Вообще, некоторый смысл в том, чтобы разделить локальную и сетевую компоненты есть. Например, для локальной компоненты существенно проще управлять правами: грубо говоря, управление правами либо уничтожается вовсе, либо минимизируется,

Сделаем из Linux однопользовательский MacOS!

Несомненно, сетевой сервис необходим. Но если с него снять бОльшую часть работы по конфигурированию драйверов, то и его код упростится. Такая вот декомпозиция и лэйер сепарэйшн.

Ну да, если грязь замести под коврик, ее не будет заметно. Декомпозиция и layer separation - это здорово, но я подозреваю, что они есть и в CUPS.

Пока что dbus-сервер выглядит как велосипед сомнительной полезности, а сам dbus, похоже, стараются сделать новым стандартом RPC, только непонятно - внутимашииным или межмашинным.

Разумеется, это всё умозрительные рассуждения человека, не программировавшего низкоуровневую печать. В реальности может оказаться, что из-за особенностей протокола придётся проделывать кучу сквозных ... технологических отверстий.

Придется. IPP включает в себя управление, заданиями на печать, так что проверять права таки нужно.

tailgunner ★★★★★ ()
Ответ на: комментарий от AEP

Довольно странное решение, КМК. Почему не PS?

Потому что PS - это полный по Тьюрингу язык программирования, а PDF - нет.

Вообще-то внутри у PDF находится PS.

tailgunner ★★★★★ ()

Отличная новость. CUPS в Linux уже давно представляет из себя монструозное, труднонастраиваемое, говно. Шаг влево, шаг вправо - и нет у тебя больше печати в системе, потому что CUPS постарался.

А про то, как научить CUPS цеплять драйвера принтеров, это вообще отдельная песня.

anonymous ()
Ответ на: комментарий от Trieforce

будут поддерживаться все существующие драйверы и бекенды системы CUPS.

А зачем тогда нужен сам printerd?

За тем что apple будет менять: API или какой-то другой интерфейс и продукт для линукса будет не пригоден.

Совсем недавно Поцеринг бодро выступал «да все, кто не хочет пользоваться systemd из-за того, что его контролирует Redhat - лохе, ниасилившие Git», а сейчас ты полагаешь, что Redhat пишет свой сервер печати, потому что не контролирует CUPS. Любопытно.

tailgunner ★★★★★ ()

А по мне так парни стремятся к unix-way, в отличии от Mr.Poettering. Если поддержка фильтров и драйверов от CUPS останется, то всё норм.

daemonpnz ★★★★★ ()

Автор утилиты system-config-printer Тим Воу (Tim Waugh) объявил о начале работы над новым сервером печати printerd. В отличие от CUPS, printerd предоставляет единственный интерфейс через систему D-Bus.

<стандартный комментарий про Поттеринга, systemd, велосипеды, просер полимеров, лялекс-катится-в-сраное-говно и Божественный Unix-Way>

Deleted ()
Ответ на: комментарий от tailgunner

Вообще-то внутри у PDF находится PS.

Не надо путать весь язык и набор графических операторов. Набор графических операторов действительно похож, и в спецификации PDF даже есть таблица перевода. По поводу конструкций самого языка - в PDF нет циклов (которые, собственно, и представляют опасность зацикливания), в PostScript есть.

AEP ★★★★★ ()
Ответ на: комментарий от Quasar

Можно же дистрибутив слепить с jack вместо PulseAudio.

можно, даже где-то была софтина под KDE, которая сама настраивает KDE на работу через jack(ну, это если лень десяток строк в ~/.asoundrc прописать).

Сделал вывод, что Jack удобнее в обращении и намного лучше, чем PulseAudio. Даже при применении на десктопе пользователя, который не занят обработкой звука.

+1, и проц жрёт не больше пульсы (то бишь, на буках тоже без проблем можно использовать)

lazyklimm ★★★★★ ()
Ответ на: Re: Да. А в это время до третьих идиотов... от anonymous

Re: Да. А в это время до третьих идиотов...

Хотя, возможно я и не прав.

Просто они запущены на разных компьютерах. Авторы DBUS не в курсе что так можно поэтому и заявляют про «Communication between desktop applications in the same desktop session; to allow integration of the desktop session as a whole»

Eshkin_kot ★★ ()
Ответ на: Re: Да. А в это время до третьих идиотов... от Eshkin_kot

Re: Да. А в это время до третьих идиотов...

Ей-богу такое предположение (про две разные машины) было. Но я его отмел изначально. Авторы dbus говорят прямо — в пределах одного дтопа все у вас будет хорошо. В пределах разных — используйте более приличествующий случаю механизм. На самом деле, лично мне по-фигу как там в кедах/кутах реализованы средства IPC. Мне хватает гномово-гткшных (см. такую часть Glib как gio, например).

В результате что, мне нужно пересесть на Вашу реализацию? Или Вам на ту, которую использую я? Где общий знаменатель-то найти? Его просто не ищут. Сказано — пользуйтесь чем хотите и не выносите мозг.

С другой стороны, а кто сказал что тот же DCOM в самом оффтопе в почете? Был бы в почете, тогда единственная установка говноподелия на офисную тему приводила бы к полному заражению сети этим м$ офисом. Не было бы проблем с тем, чтобы функционал ворда как обьекта интегрировать в свой мега-пупер редактор. Однако вот как-то не срастается.

Правы авторы dbus. 1000 раз правы. Они четко понимают разницу между тем, что предоставляет (должна предоставлять) ОС и тем, что должно работать на десктопе.

anonymous ()
Ответ на: комментарий от Quasar

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

OldWiseCat ★★ ()
Ответ на: комментарий от tailgunner

Потому что PS - это полный по Тьюрингу язык программирования, а PDF - нет.

Вообще-то внутри у PDF находится PS.

Чо?!™ Ну как бе да, издалека в stream'е объекта Contents страницы что-то, что может спьяну показаться PS, разглядеть можно. Только вот это даже подмножеством не назовёшь.

anonymous ()
Ответ на: комментарий от Quasar

предложат гонять огроменный растр по сети, из-за чего будут дикие тормоза

А ты не думал, что сетевую прозрачность можно сделать на уровне ГУИ тулкита и/или на уровне OpenGL?

Хотя что конкретно мешает прямо сейчас пускть иксы в окошке вейленда для достижения этой самой пресловутой прозрачности?

Macil ★★★★★ ()

Надеюсь, хоть в этом поделии наконец появится уведомление:

«В принтере закончилась бумага, для продолжения вставьте бумагу и нажмите ОК».

Xintrea ★★★★★ ()
Ответ на: комментарий от Deleted

Зоопарк - это хорошо.

Зоопарк хорош только тогда, когда ресурсы разработчиков стремятся к бесконечности. В тех же случаях, когда они ограничены, лучше показывает себя стандартизация и уменьшение количества «животных» до минимального разумного количества, при котором они становятся «принципиально разными».

Проще говоря: 20 кривых и хромых животных плохо. 10 только кривых (или 10 только хромых) животных чуть лучше, но всё равно плохо. 1 здоровое животное хорошо, но вот если оно погибнет станет очень плохо Разумный выбор это 2-3 животных, пусть и не идеально здоровых, но к тому стремящихся.

И этот принцип можно применить ко всему: к библиотекам, программам, дистрибутивам, ...

D_Lans ()
Ответ на: комментарий от Xintrea

Надеюсь, хоть в этом поделии наконец появится уведомление:
«В принтере закончилась бумага, для продолжения вставьте бумагу и нажмите ОК».

Отчаянно плюсую данного господина. Далеко не у всех домашних принтеров есть хардварная кнопка продолжения печати. Сейчас приходится продолжать печать по-колхозному: поднятием и опусканием крышки картриджа.

D_Lans ()
Ответ на: комментарий от Quasar

RedHat определённо выкинет CUPS из лёгкого выбора.

Fedora-проблемы, но вполне можно собрать пакет самому. Невижу ничего плохого в том, что кто-то пытается сделать нечто новое, потому что старые, исторически-сложившиеся решения не всегда идеальны и часто имеют недостатки.

m0rph ★★★★★ ()
Ответ на: комментарий от D_Lans

Сейчас приходится продолжать печать по-колхозному: поднятием и опусканием крышки картриджа.

Окак, не знал. Я выключаю принтер, очищаю очередь и печаю заново с нужной страницы.

Xintrea ★★★★★ ()

Просто классика линукс-мира! Найти старую перделку и переписать её на новый лад. Полученное гуано обязательно кто-то раскритикует и сделает своё, чуть улучшенное и несовместимое гуано. В результате имеем ТРИ кучки гуано, одна из которых поддерживает оборудование из 80-ых, другая - последнюю модель 2012 года, а третья - через Ж, но все. :) Мрак...

matumba ★★★★★ ()
Ответ на: комментарий от D_Lans

Нельзя применять ваш принцип, он не подходит. Программа не может «погибнуть», максимум - стагнация разработки, НО РАБОТАТЬ-ТО БУДЕТ! Мне кажется, вся проблема линупс-перделок в их БАЗЕ. Ибо начинают писать кто - те, кому нечем заняться! (дилетанты) Затем база разрастается, архитектуру распирает от костылей, но оно работает и поэтому продолжает пухнуть. До тех пор, пока.... правильно - новый дилетант не перепишет своё! :)

БАЗА должна делаться ПРОФЕССИОНАЛАМИ (RedHat, Canonical, IBM, etc). И только потом чайники могут примкнуть к общему руслу и дописывать свои убожества.

matumba ★★★★★ ()
Ответ на: комментарий от tailgunner

Совсем недавно Поцеринг бодро выступал «да все, кто не хочет пользоваться systemd из-за того, что его контролирует Redhat - лохе, ниасилившие Git», а сейчас ты полагаешь, что Redhat пишет свой сервер печати, потому что не контролирует CUPS.

Хм, а APPle является опенсорной компанией, а не проприетарным монстриком?

AVL2 ★★★★★ ()
Ответ на: комментарий от matumba

Как-то один дилетант...

... да какое там дилетант! Студент! В группу Usenet news закинул мессагу с примерным смыслом (дословно уже не помню), типа «посоны, я тут типа ядрышко и малость обвеса к нему нарисовал, развивайте кому будет интересно...» Все верно. Того студента звали Линус Торвальдс. :)))

Ну и да... Ноев ковчег построил как ни крути, а полный дилетант. Профессионалы запилили «Титаник». Дилетант дилетанту рознь. Пусть лучше будет адаптивный хаос как тут выразились, привносимое дилетантами (просто праздник жизни), чем унылое оффтопоподобие, когда нет Б-га кроме Гейтса и Баллмер пророк его. И когда есть «единственно правильный» Путь.

Ну и да... По-моему Грег Кроа-Хартман заметил что процентов 90 ядра написано корпоративными профессионалами. 10 процентов для эволюции вполне достаточно... :)))

anonymous ()
Ответ на: комментарий от Legioner

По-моему PDF не очень удачный стандарт для этого. Как минимум должно быть чётко выделенное подмножество PDF, а то там много чего, даже JavaScript есть, такие наверное этот printerd не осилит.

В PDF уже есть даже встроенный флеш и 3d-объекты. Так что современным принтерам будет непросто.

bloodredfrog ★★ ()
Ответ на: комментарий от lucentcode

CUPS и без яблок прекрасно жил. Даже лучше, чем с яблони.

Quasar ★★★★★ ()
Ответ на: комментарий от pacify

Это не проблема cups под win аналогично не печатает, проблема в прошивке принтера, решение - установка в акробате в диалоге печати галки «печать как изображение» («print as image»).

anonymous ()
Ответ на: комментарий от Macil

YНифига сетевая прозрачность на уровне тулкита? Чтобы админство сладким не казалось и куча несовместимых велосипедов была? Сетевая графическая оконная подсистема тут - лучшее решение.

Quasar ★★★★★ ()
Ответ на: комментарий от AlexM

имхо все это приведет к тому, что печать раздробиться на тысячу независимых кусочков, склеенных через dbus,avahi etc и каждый будет на своей машине из этих кусочков с переменным успехом составлять работающюю цепочку.

AVL2 ★★★★★ ()
Ответ на: комментарий от tailgunner

Если верить википедии PostScript предполагает лицензирование и выплату лицензионных отчислений Adobe с каждого контроллера RIP.

at ★★ ()
Ответ на: комментарий от Quasar

А нафига тогда вяленд нужен, если кроме оверхеда он ничего не делает?

Если рассуждать подобным образом, то композитор (Compiz, его аналоги в маке и винде) тоже ничего не делает.

Игры, браузеры, WYSIWIG, и прочие медиаплееры скорее испытывают оверхед от иксов. Появится возможность запуска нескольких иксов без сопутствующих проблем. Появится возможность запускать приложения в различных доменах гипервизора с взаимодействием через разделяемую память. И в довершение ко всему из иксов можно будет выпилить драйверы видеокарт, архитектуру которых за последние несколько лет только ленивый не критикует.

Macil ★★★★★ ()

Кстати, все современные хорошие принтеры умеют печатать PDFки напрямую, даже без участия компа. В очень хороших, так даже есть почтовый сервак ;) Так что архитектура сабжа логически обоснована.

D-Bus то еще г... Хотя бы потому что умеет самостоятельно стартовать свои сервисы помимо init-системы. А это очень и очень хреново с т. зр. безопасности, да и злостное нарушение юникс-вея. Но другого ничего нет, и не предвидится. Так что и это тоже обосновано.

Macil ★★★★★ ()
Ответ на: комментарий от Macil

D-Bus то еще г... Хотя бы потому что умеет самостоятельно стартовать свои сервисы помимо init-системы. ... Так что и это тоже обосновано.

а чем обоснован самостоятельный старт без init-а?

разве с systemd в качестве init-а оно тоже стартует себя само?

VoDA ★★ ()
Ответ на: комментарий от Ttt

не могу сказать, что так уж и насолила. Вроде бы workaround есть.

dotbg ★★★★ ()
Ответ на: комментарий от VoDA

разве с systemd в качестве init-а оно тоже стартует себя само?

Оно стартует не себя, а то, что прописано в /usr/share/dbus-1/{system-,}services (подробности в man dbus-daemon). Независимо от того, какой init используется. AFAIU, интеграция с systemd нужна в т. ч. для наведения порядка — демонов запускает init, шину обеспечивает d-bus

dexpl ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.