Два известных разработчика из компании Red Hat, Тим Вог (Tim Waugh), разработчик конфигуратора system-config-printer, и Ричард Хьюз (Richard Hughes), создатель проекта PackageKit, представили проект printerd, в рамках которого создан новый современный диспетчер очереди печати для Linux. Код проекта доступен под лицензией GPLv2. В настоящее время проект находится на начальной стадии развития, пока реализован только базовый фреймворк и простая утилита для управления из командной строки.

Printerd реализован в виде процесса-демона, обеспечивающего взаимодействие как с локальными, так и c удалёнными принтерами. Для управления правами доступа задействован фреймворк авторизации PolKit, для взаимодействия с другими приложениями используется D-Bus. Примечательно, что будучи построенным с учётом концепций, реализованных в протоколе IPP (Internet Printing Protocol), printerd не является IPP-сервером и доступен только через D-Bus API. IPP-совместимый сервер предлагается разработать в качестве отдельной прослойки, которая будет транслировать обращения по IPP через D-Bus. Достоинством использования D-Bus, является возможность организовать процесс печати из приложений в асинхронном режиме.

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

Источник: http://www.opennet.ru/opennews/art.shtml?num=33911