Сервер CUPS скомпилирован для Windows?

Доступна ли версия сервера CUPS для Windows? Глядя на исходный код CUPS, кажется, что он готов для компиляции Visual Studio, но я не нашел никаких следов фактического поддерживаемого пакета. Я хотел бы настроить сервер CUPS в Windows, чтобы я мог печатать с клиентов Linux/MacOSX/Win на принтеры, которые я установил на этом сервере.


person Peter Illes    schedule 16.05.2010    source источник


Ответы (4)


У меня есть новый ответ для вас:

  1. С некоторых пор на GitHub существует проект под названием ippsample. Он медленно приближается к выпуску зрелой версии 1.0.

  2. Вот первые два предложения, приведенные в качестве самоописания в обязательном файле README:

    "Этот код содержит примеры реализаций IPP-клиентов, принтеров и прокси-серверов. Он в значительной степени основан на программном обеспечении CUPS с существенными изменениями в реализациях ippproxy и ippserver, чтобы сделать их более универсальными. и настраиваемый." (выделено мной)

  3. Этот проект организован ISTO Printer Working Group (PWG), той же отраслевой организацией, которая разрабатывает и продвигает IPP как общий стандарт.

  4. Компоненты ippserver, ipptool, ippfind, ippproxy и ipptransform образца проекта IPP вместе составляют соответствующую стандарту IPP Everywhere, охватывающий как клиентскую, так и серверную часть печати.

  5. Код GitHub для проекта IPP Sample поддерживается тем же Майком Суитом, который также разрабатывает CUPS, так что это реальная вещь.

  6. Да, он компилируется и отлично работает в Windows, и есть куча .vclxproj< /em> и .sln файлы, чтобы максимально упростить процесс сборки с помощью MS Visual Studio.

  7. Да, пример кода IPP работает и может печатать на сервере CUPS (или получать оттуда задания на печать) под управлением macOS или любой комбинации Linux.

  8. Нет, это еще не полноценный сервер CUPS для Windows, который может заменить сервер печати Windows. В нем нет ВСЕХ необходимых функций.

  9. Но если вы хотите создать такого зверя:

    • this is the place were you would have to poke around first;
    • это то, где вы, возможно, могли бы разветвить код и начать добавлять функциональность, чтобы добраться туда, куда вы хотите.
  10. А знаете ли вы, что Apple недавно изменила условия лицензии на CUPS и сделала его более разрешительный, переход от GPL2 к лицензированию Apache 2.0?

  11. Вы никогда раньше не слышали об "IPP Everywhere"? Это будущее «бездрайверной» печати.

  12. Никогда не слышали о "печати без драйверов"? Его слегка измененная (и урезанная) версия уже реализована как "Apple AirPrint" для устройств iPhone и iPad.

  13. Текущая реализация стека печати на основе CUPS включает новые фрагменты кода в проекте cups-drivers, который недавно переехал на GitHub. Этот новый код реализует функциональность IPP Everywhere.

  14. Этот проект cups-filters находится под руководством отдела OpenPrinting Linux Foundation с тех пор, как Apple передала над этими частями исходного кода CUPS, когда они перестали быть полезными для macOS, но все еще были важны для Linux.

  15. Каковы основные идеи бездрайверной печати?

    • Устройства автоматически объявляют о своем присутствии и типе обслуживания в локальной сети. Используйте стандартные протоколы IETF mDNS и DNS-SD (которые реализованы в macOS под именем "Bonjour" и в Linux как "Avahi"), чтобы принять к сведению предлагаемые услуги. .

    • Сообщите клиентам печати, что они могут использовать протокол IPP для получения ответа на запрос при выполнении запроса get-printer-attributes. Этот запрос сообщит им, какой набор параметров печати поддерживает устройство. Затем клиенты печати могут отображать точно настроенный диалог печати, чтобы показать пользователю печати выбор вариантов. Клиенту печати также сообщается, какие форматы отправки заданий поддерживает каждое устройство. Это ДОЛЖЕН быть либо PDF, либо простой растровый формат под названием "PWG-Raster".

    • Итак... где в такой среде может понадобиться конкретный "драйвер принтера"? Сегодня все и каждый может создавать PDF-документы. Проверить! Нет необходимости в преобразовании конкретного устройства на любой другой язык печати.

  16. Существуют ли уже принтеры, поддерживающие IPP Everywhere? О да, посмотрите сюда — все они, как говорят, полностью соответствуют стандарту:

person Kurt Pfeifle    schedule 24.11.2017
comment
Почему минус, дорогой @anonymous_stackoverflower? Было бы неплохо прокомментировать и объяснить, что вам не понравилось в этом ответе? - person Kurt Pfeifle; 09.05.2018

Файлы .sln и .vcproj, которые вы видели в исходниках CUPS, не предназначены для компиляции всего CUPS для Windows.

Они служат для компиляции лишь некоторых его утилит (таких как ipptool.exe)...

Заставить полный сервер CUPS + код фильтрации работать в Windows было бы непростой задачей, поскольку буферизация и печать в Windows сильно отличаются от мира Unix.

person Kurt Pfeifle    schedule 05.06.2010

CUPS использует протокол интернет-печати для связи клиент-сервер. Согласно статье Technet, Windows может использоваться как хост IPP:

Чтобы компьютер под управлением Windows Server 2008 мог выступать в качестве сервера, поддерживающего печать через Интернет, необходимо установить роль веб-сервера (IIS), роль служб печати и службу роли печати через Интернет в роли служб печати.

Более того, кажется, что клиенты Windows, Linux и Mac OS X могут использовать принтеры, совместно используемые через SMB.

person el.pescado    schedule 05.06.2010
comment
Реализация IPP в Windows - это только версия 1.0 (которая никогда официально не приобретала статус Standard, а была только экспериментальной). Кроме того, Windows не использует порт 631 (хотя он уже определен в IPP-1.0)... - person Kurt Pfeifle; 02.04.2015

Заставить полный сервер CUPS + код фильтрации работать в Windows было бы непростой задачей, поскольку буферизация и печать в Windows сильно отличаются от мира Unix.

Еще во времена коммутируемого интернета я столкнулся с проблемой, когда у некоторых IPS была замена dll для функциональности модема. Проблема заключалась в том, что dll не позволяла законным программам получить доступ к модему, пока вы не удалили программу IPS.

Этот же метод можно использовать для создания сервера Windows CUPS, написав программу замены буферизации и печати Windows, которая вместо печати непосредственно на принтер передает задачи печати серверу CUPS.

Конечно, для этого потребуется кто-то, кто хорошо разбирается в протоколах буферизации и печати Windows.

person Scott Tovey    schedule 12.07.2020