Печать на cups из windows

Наткнулся на простую инструкцию: настройка печати из-под Windows в CUPS.

Там даже много написано. Чтобы настроить печать в Windows на принтер, подключённый к CUPS, надо:

  1. Включить доступ к принтерам CUPS снаружи
  2. Добавить в Windows сетевой принтер, адрес которого совпадает с URL, с помощью которого вы настраиваете принтер в CUPS
  3. Выбрать драйвер принтера «MS Publisher Imagesetter»

Всё!

Теперь подробнее. Принтер Cups-PDF на машине grail (имя домена опускаю).

  • Заходим на машине с принтером на http://localhost:631/admin (или удалённо на http://grail:631/admin, если разрешено), включаем галочку «Разрешить совместный доступ к принтерам, подключенным к этой системе». Сохраняем.
  • Заходим в раздел «Принтеры», тыкаем в нужный принтер. Получаем примерно такой URL: http://grail:631/printers/Cups-PDF . Запоминаем его
  • В Windows вызвать «Мастер установки принтеров» («Принтеры и факсы» → «Установка принтера»). «Далее» → «Сетевой принтер…» → «подключиться к принтеру в Интернете…». Сюда вбиваем URL (в примере http://grail:631/printers/Cups-PDF); стоит обратить внимание на то, что адрес принтера — не localhost :). «Далее» → изготовитель «Generic» → принтер «MS Publisher Imagesetter» → «Ok» → «Готово».

Проверить можно, ткнув правой кнопкой в образовавшийся принтер → «Свойства» → «Пробная печать». Кстати, в нашем случае результат (файл .pdf) попадает довольно глубоко: в каталог /var/spool/cups-pdf/ANONYMOUS.

Автор заметки подсказывает на всякий случай проверить ещё 631 порт в брандмауэре на обеих машинах и настройки прокси Windows.

Примечание: Аналогичная настройка на Линуксе описана тут

Попробуем разобраться, как можно организовать печать из Windows на принтер, установленный на системе с UNIX / Linux / Mac OS X. Стандартная подсистема печати для UNIX называется CUPS (Common UNIX Printing System). Одни из способов организовать сетевую печать на CUPS принтере – открыть к нему общий доступ (расшарить) с помощью Samba. Однако в этой статье мы не будем рассматривать этот способ, т.к. несмотря на то, что этот способ является «родным» для Windows-клиентов, не всегда целесообразно разворачивать и настраивать самбу, если помимо организации сервера печати, другой необходимости в ней нет (скорее всего придется решить целый ряд проблем, в основном, конечно, связанных с авторизацией).

Предпочтительным методом подключения клиента Windows к серверу печати CUPS на UNIX-подобной операционной системе — является протокол IPP (Internet Printing Protocol), используемый в CUPS в качестве основы для управления заданиями и очередями. IPP это стандартный протокол, основанный на HTTP, позволяющий управлять печатью, поддерживает аутентификацию и шифрование (SSL), контроль доступа, а также позволяющий использовать переадресацию портов и туннелированние. По сравнению с Samba конфигурация сервера печати CUPS через IPP является более простой, и менее подвержена ошибкам.

В Windows встроенная поддержка IPP появилась только начиная с версии Windows 2000.

Итак, предположим, у нас имеется компьютер с OS X Lion, на котором развернут сервер CUPS с принтером Canon, сетевой доступ к которому открыт (в данном примере доступ открыт для всех без авторизации по логину/паролю).

Получаем адрес очереди печати на сервере CUPS

Предположим, что адрес нашего компьютера с OS X (и, соответственно, нашего сервера печати) 192.168.11.211, по умолчанию сервера CUPS использует TCP-порт 631. В адресной строке браузера перейдите по адресу , а затем на вкладку Printers. Во вкладке будет отображен список всех установленных в системе OS X и доступных нам принтеров. Имя каждого принтера представляет собой ссылку, адрес которой и является адресом очереди печати принтера в системе CUPS.

Общий принтер на cups сервере с os x lion

Таким образом мы узнаем (и сразу копируем его в буфер обмена), что адрес очереди интересующего нас принтера в системе CUPS это
http:// 192.168.11.211:631/printers/Canon_iP4000_series

Поддержка IPP/CUPS печати в Windows

Для того, чтобы включить поддержку печати IPP в Windows, необходимо установить соответствующую роль. Как правило, в Windows XP/Vista/ Windows 7 поддержка протокола печати через интернет (IPP) уже установлена. Если нет, в Windows 7 установить клиента IPP можно сделать через панель управления. Перейдите в Control Panel ->Programs and Features -> Turn Windows feautures on or off. В появившемся окне разверните ветку Print and Document Services, отметьте опцию Internet Printing Client и нажмите Ок, после чего будет установлен клиент поддержки IPP печати (в Windows 2008/2008 R2 устанавливается отдельная функция с аналогичным именем).

Включить поддержку IPP печати в windows7

Установка и настройка сетевого CUPS принтера в Windows

Установку и настройку IPP принтера мы будем осуществлять в Windows 7 (процедура в других версиях Windows аналогична, отметим, что в данном случае мы настраиваем именно сетевой принтер, а не локальный как описано в статье Печать из Windows 7 на сетевой принтер XP). Перейдите в панель управления принтерами (Control Panel\Hardware and Sound\Devices and Printers) и создайте новый сетевой принтер (Add a network, wireless or Bluetooth printer). Запустится автоматический поиск принтеров, но скорее всего, нужный принтер найден не будет, поэтому нажмите на кнопку The printer what I wont isn’t listed.

Установка принтера в windows 7

В поле Select a shared printer by name вставьте скопированный ранее адрес очереди печати принтера и нажмите Next.

Подключаем IPP принтер в windows 7

Windows попытается соединится с принтером, причем не факт что удачно, это зависит от многих факторов и разобрать их все вряд ли получится. Из практики, отметим, что если процесс подключения к принтеру затянется (более 3-5 минут), попробуйте проверить доступность сервера CUPS, перейдя на тот же адрес с помощью любого браузера, и попробуйте подключить принтер опять.

В случае успешного подключения система предложит вам установить драйвер принтера. На этом моменте немного остановимся. Система CUPS принимает от клиентов файлы печати, являющиеся обычными PostScript документами. Язык печати PostScript поддерживается системой Windows прямо «из коробки», главная проблема в том, что имя стандартного драйвера PS звучит Microsoft Publisher Color Printer (забавная маскировка, не правда ли), но на некоторых системах может использоваться именование MS Publisher Imagesetter.

Итак, выбираем драйвер, для чего переходим в секцию Generic, выбираем MS Publisher Color Printer и жмем ОК (если в системе имеется «родной» драйвер принтера, все равно выбираем MS Publisher!).

Простой PostScript драйвер в Windows

Если все прошло успешно (а обычно проблем на этом этапе не возникает), то далее следует типовая процедура настройки принтера (имя, описание, нужно ли давать общий доступ). Нажав, Next попытайтесь распечатать тестовую страницу печати. Как правило, тестовая страница печати без каких либо затруднений выводится на печать на принтере, подключенном к Unix-like клиенту.
В некоторых случаях стоит попробовать установить родной драйвер принтера, хотя все же предпочтительно сначала убедится, что с простым драйвером PS задания печати выводятся корректно. Но следует понимать, что реально для печати используется драйвер, установленный в системе CUPS, а установленный в Windows драйвер PostScript всего лишь формирует PS файл и передает его на сервер.

Примечание. Не забудьте проверить, что между машиной с OS X и Windows порт 631 не блокируется сетевым экраном.

Итак, мы разобрались, как в Windows 7 настроить печать на принтер, установленный в Mac OS X (в UNIX/Linux процедура аналогична).

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Appearance settings

Всем привет!

У меня возникла необходимость сделать общий доступ к принтеру, который подключается только по сети и не имеет драйверов для Linux.

Что у меня есть:

  1. Raspberry Pi (ОС — Raspbian Lite «Bookworm») с CUPS версии 2.4.2
  2. Принтер RICOH MP 2014AD — подключен к Raspberry Pi через USB (у принтера нет ни Wi-Fi, ни Ethernet).
  3. Принтер Samsung для тестирования, что CUPS работает.
  4. Компьютер с Windows.

Задача — распечатать что-нибудь с компа Windows на принтере Ricoh.

Raspberry Pi и Windows находятся в одной сети.
CUPS вроде бы настроен правильно — я могу получить доступ к CUPS из браузера Windows через порт 631, могу управлять принтерами и всем остальным.
К этому же CUPS подключен другой принтер Samsung (он по WiFi подключен).
Я могу из винды печатать документы на принтере Samsung, таким образом я делаю вывод, что и сам CUPS на Raspberry у меня работает, и связь между ним и виндой есть.

Дальше, что касается принтера Ricoh. Насколько я знаю, RICOH MP 2014AD не поддерживает IPP и все эти «бездрайверные» штуки.
У него есть только драйверы для Windows (ну, на самом деле у него есть драйверы для Debian, но мне не нужно ничего печатать с компьютеров на Unix и вроде бы как эти драйверы устаревшие… короче я пока для себя считаю, что их нет).

Если я настраиваю этот принтер с драйвером «Raw» в интерфейсе CUPS, я не вижу этот принтер в списке принтеров на винде (имеется в виду через стандартное добавление принтеров «Добавить новый принтер» в разделе «Принтеры и сканеры» в Windows).

Но если я ставлю этот принтер с любым другим драйвером, например «Универсальный -> PCL 6…», то Windows видит этот принтер, но он ничего не печатает.

Но из того, что я узнал о системах печати за эти три дня, я решил, что мне нужен всё таки «Raw». То есть на винде будет драйвер принтера, который преобразует всё в нужный формат и отправит в CUPS, чтобы тот всё передал в принтер «как есть».
Возможно я всё понял неправильно, конечно же…

Дальше, пытаясь заставить этот Ricoh обнаруживаться в сети с компа Windows, я узнал о сервисе «Samba».
Значит, установил Samba на Raspberry. Сразу он не заработал, и я выяснил, что мне также нужен сервис «wsdd».

К слову замечу, что для меня эти samba и wsdd — практически бессмысленный набор букв, я просто по инструкциям из интернета вбивал команды в консоль и правил соответствующие конфиги, когда надо было.

Так вот, установил я этот WSDD, и тогда Raspberry появился в разделе «Сеть» в проводнике Windows. А принтер Ricoh появился как бы внутри Raspberry.

В Windows я попытался «подключить» этот принтер, выбрал для него официальные драйверы под Windows — в названии драйверов, кстати, есть аббревиатура DDST.

Но он всё равно не работает — когда я нажимаю «Пробная печать», ничего не происходит.
CUPS не показывает никаких заданий в своём веб-интерфейсе для этого принтера — но я не уверен, что он должен что-то показывать.

И в общем на этом, дорогие друзья, у меня идеи закончились и я прошу вашей помощи.

Правильным ли я вообще иду путём? Может вообще это сделать невозможно? Или нужен не CUPS, а что-то другое?
Или в целом всё верно но где-то недокрутил?

А то я даже не знаю, какие логи и как (ну «как» — это можно нагуглить) снять для дебага.

Всем заранее спасибо.

Время на прочтение7 мин

Количество просмотров8.3K

Вам будет интересно ознакомиться с данным отчётом, если картина развития Вашей ЛВС подходит под следующее описание

  • Новый терминальный сервер MS Windows Server 2008 R2 — на смену старенькому Windows Server 2003 R2
  • Клиентские рабочие станции на MS Windows 2000 или на MS Windows XP с подключенными к ним принтерами, к которым открыт доступ через сеть Microsoft, нормально работающими как автономно, так и при подключении к ним с других клиентов, так и при подключении к терминальному серверу на базе Windows Server 2003 R2 через сеть Microsoft
  • Принтеры — старые, возможно даже не HP, для которых нет драйвера для MS WS 2008 R2
    • Либо сам принтер HP и поддерживается универсальным драйвером, но ОС, стоящая на клиентской машине — MS Windows 2000, т.е. не подразумевает его установку
    • Либо принтер — HP, и ОС клиентской машины совместимы с универсальным драйвером, и проблема его установки решила бы проблему несовместимости с MS Windows Server 2008 R2, но на одной из клиентских машин есть, к примеру, виртуальая машина с унаследованной системой на базе ОС MS Windows 98, также использующая этот принтер, что также не подразумевает установку HP Universal Printer Driver, т.к. его реализации для Win98 нет
  • Очевидно, что печатаете на Ваш принтер не только Вы, но и Ваши соседи по кабинету, т.е. редирект с средствами клиента удалённого рабочего стола здесь не рассматривается; да и не всегда, как показывает практика, работает: как по причине несовместимости драйверов, так и из-за неизученности применимости нюансов таких узкоспециализированных технологий, как EasyPrint
  • В сети появляются новые клиенты, на базе ОС Windows 7, которым, возможно, и не нужен доступ к терминальному серверу, но которым надо будет печатать по сети на такие старые принтеры
  • Предполагается, что даже для таких проблемных принтеров есть драйвера в системе CUPS
  • Вы, как администратор системы, не боитесь использовать UNIX-подобные операционные системы в повседневных задачах, и имеете с ними опыт общения

Также, пожалуйста, согласитесь с тем, что нефункциональные вопросы — например, вопросы безопасности — здесь не затронуты.

Практическая необходимость данного решения

Несколько экземпляров печатающих устройств подпали под некоторые случаи, рассмотренные в преамбуле отчёта. К примеру: один XEROX DocuPrint P8ex (клиентская ОС Windows XP) и два экземпляра HP LaserJet 1005 (один подключён к клиентскому компьютеру на базе Windows 2000, другой — на базе Windows XP).

Маршрут, по которому проходит задание на печать

  1. Прикладная программа на сервере Windows 2008 R2 или на рабочей станции Windows 7; клиент IPP
  2. Шлюз на GNU/Linux с системой печати CUPS и с клиентом SAMBA
  3. Клиентское рабочее место Win 2k/XP с локально подключённым принтером, к которому предоставлен доступ из сети Microsoft

Идея шлюза

Пришла в голову после ознакомления с [1] и поиском альтернативы установки GNU/Linux на клиентские машины; вероятно, также, подсознательно на возникновение такой архитектуры повлияло знакомство с трёхзвенной архитектурой доступа к БД [2] и поиск вариантов использования её как таковой, так и её аналогий.
Само понятие шлюза не вполне подходит к данному контексту, а только по аналогии: согласно [3, с.313]

«Шлюз — ретрансляционная система, обеспечивающая взаимодействие двух информационных сетей.»

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

Самое интересное уже изложено, пора переходить к рутине. Далее приводится…

Концепт инструкции по развёртыванию шлюза

  1. На клиентской машине с адресом 192.168.a.b есть пользователь prn_user с паролем secret — для печати через сеть Microsoft, подсистема печати настроена и работает в существующем виде в среде Windows 2000/XP/2003. Смотрим имя принтера в сети: контекстное меню принтера, пункт «Свойства», вкладка «Доступ», поле «Общий ресурс:» xerox. %computername% этого клиента: UHost01 — он будет нам нужен, например для генерации осмысленного имени в системе CUPS; хотя, если он совпадает с именем DNS внутри локальной зоны, и у Вас в хозяйстве хорошо работает разрешение имён в IP-адреса, и включен поиск внутри суффикса домена этой зоны, то его, возможно, можно использовать и в качестве замены адресу 192.168.a.b далее по тексту.
  2. Настраиваем шлюз печати
    1. Общесистемные работы с сервером CUPS
      1. Базовая часть шлюза. Выглядит так
        1. Железо шлюза: старенький серверный системный блок DELL PowerEdge 1400 2xCPU iP-III-800/1536 MB RAM/18 GB HDD
        2. ОС: Debian GNU/Linux 6.0 i386
        3. Адрес шлюза: 192.168.a.c
      2. Установка пакетов
        Если CUPS еще не установлен, даём команду на его установку

        # aptitude install cups

        0 пакетов обновлено, 52 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
        Необходимо получить 26,7 MB архивов. После распаковки 83,2 MB будет занято.
        Хотите продолжить? [Y/n/?] Y

        Cмотрим, запущен ли CUPS

        # /etc/init.d/cups status
        Status of Common Unix Printing System: cupsd is running.

        Что и требовалось, идём дальше.
        Также, в системе необходимо наличие пакета smbclient, т.к. вывод на сетевой принтер будет по протоколу SMB, и в этом пакете есть backend для CUPS.

      3. Необходимо убедиться, что CUPS настроен на приём заданий извне
        Идём в админку, например, так: 192.168.a.c:631/, жмём на вкладку «Администрирование», далее, в секции «Сервер» — «Параметры сервера:» необходимо, чтобы стояли галочки «Разрешить совместный доступ к принтерам, подключенным к этой системе» и «Разрешить печать из Интернета»; если нет, то жмём «Сохранить», после нажатия которой нас спросят логин и пароль, по умолчанию это логин/пароль от нашей линуксовой системной учётной записи суперпользователя, т.е. от root.
    2. Подключаем принтер в CUPS
      1. Вкладка «Администрирование», в секции «Принтеры», жмём кнопку «Добавить принтер»
      2. В секции «Другие сетевые принтеры:», выбираем значение радиокнопки «Windows Printer via SAMBA» и жмём «Продолжить»
      3. Секция «Добавление принтера», В поле «Подключение:» вводим значение «smb://prn_user:secret@192.168.a.b/xerox» (здесь и далее: вводить значение без кавычек) и жмём «Продолжить»
      4. Заполняем далее поля таким образом
        Название: вбиваем «Uhost01_xerox» — это будет именем принтера в системе CUPS
        Следующие два поля не так критичны, их значения должны быть придуманы Вами для Вашего же удобства:
        Описание: «Xerox DocuPrint P8ex«
        Расположение: «1 этаж, комната 13, Парфюмерия, пользователь Сидорова А.И.«
        Подключение: «smb://prn_user:secret@192.168.a.b/xerox» (уже вбито, выводится для справки)
        «Совместный доступ:» — «Разрешить совместный доступ к этому принтеру» — сюда надо поставить галочку
        Жмём кнопку «Продолжить»
      5. Выбираем драйвер принтера с таким же именем, что и у нас, если же нет — то ближайший по названию; такой подход работает практически в большинстве случаев
        Создать: «Xerox» — жмём «Продолжить»
        Модель: выбираем «Xerox DocuPrint P8e Foomatic/hpijs-pcl5e (recommended) (черно-белый, дуплексная печать)», и внизу жмём кнопку «Добавить принтер»
      6. Попадаем на страницу «Установить параметры по умолчанию для Uhost01_xerox» — тут различные параметры лотков и размера бумаги; я оставил всё как есть и нажал на «Сохранить параметры по умолчанию»
      7. На несколько секунд появится окно, где сообщается, что наш принтер использует параметры по умолчанию
      8. Попадаем на страницу вновь добавленного принтера и даём команду «Обслуживание — печать пробной страницы»
    3. Если пробная страница напечаталась ОК, то принтер готов для работы в CUPS, можно идти далее
  3. Настраиваем сервер MS WS 2008 R2 или клиент Windows 7
    1. Предварительная настройка
      1. Включаем Клиент интернет-печати
        1. Для случая с ОС Windows 7
          Проверяем: в компонентах должен быть включен клиент интернет-печати: Пуск — Панель управления — Программы и компоненты — в появившемся окне нажать на надпись слева «Включение или отключение компонентов Windows» далее по дереву: «Службы печати и документов» — «Клиент интернет-печати» — у последнего галка должна стоять; если не стоит, то ставим. Нажимаем «ОК» для подтверждения внесённых изменений либо «Отмена», если изменения не вносили.
        2. Для случая с ОС MS Windows Server 2008 R2
          Этот компонент по умолчанию отключен [4, Tuesday, March 15, 2011 1:49 AM], и мне пришлось повозиться, чтобы понять, почему не работает добавление принтера, описанное в п.3.2.
          Пуск — Панель управления — Программы — Включение или отключение компонентов Windows
          В появившемся окне выбрать слева пункт «Компоненты» найти кнопку с зелёным плюсиком «Добавить компоненты» и в списке поставить галочку напротив «Клиент интернет-печати», нажать «Далее» «Установить».
      2. Если компонент «Клиент интернет-печати» был выключен, и мы его включили, т.е. выполняли пункт 3.1.1., то после этого перезапускаем сервер печати, для чего в командной строке:

        > net stop spooler
        > net start spooler

      3. Меняем настойки на прокси-сервер
        Все пользователи данного принтера должны отключить у себя прокси в свойствах обозревателя, либо прописать исключение, т.е. 192.168.a.c или для его подсети в целом, т.е. для 192.168.a.*.
    2. Настройка принтера
      Данный пункт делаем также с правами администратора; изначально, принтер будет доступен всем пользователям.

      1. Пуск — устройства и принтеры
      2. Установка принтера (появится окно мастера)
      3. Для MS Windows Server 2008 R2 будет дополнительный шаг, в котором жмём на «Добавить локальный или сетевой принтер от имени администратора.»
      4. Добавить сетевой, беспроводной или bluetooth принтер
      5. Нажать «нужный принтер отсутствует в списке»
      6. Радиокнопка должна стоять в позиции «Выбрать общий принтер по имени», рядом с ней — поле, куда вбиваем «192.168.a.c:631/printers/Uhost01_xerox«, жмём «Далее»
      7. При удачном контакте с принтером появится «Мастер установки принтера», при неудачном — сообщение об ошибке. Если строка, указанная выше, открывается в браузере, то связь по сети есть, и мы просто забыли установить Клиент интернет-печати и/или перезагрузить спулер.
      8. Выбираем принтер: изготовитель «Generic», принтеры «MS Publisher Imagesetter». ОК
      9. «Вы успешно установили ….» — значит всё ок. жмём «Далее»
      10. Жмём «Печать пробной страницы» для распечатки пробной страницы. «Пробная страница была отправлена на принтер» — нажимаем «Закрыть». «Готово» — для закрытия мастера
  4. Радуемся вместе с пользователями

Источники

  1. avz.org.ua/wp/2011/06/17/printing-to-cups-from-windows
  2. ru.wikipedia.org/wiki/Трёхзвенная_архитектура
  3. Якубайтис Э.А. Информационные сети и системы. Справочная книга. — М.: Финансы и статистика, 1996. — 386с.: ил.
  4. social.technet.microsoft.com/Forums/en-US/winserverprint/thread/8e6130df-acba-4a8c-b984-a455667e9e49

Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как установить корневые сертификаты windows
  • Как перекинуть файлы с windows на ubuntu
  • Дисплей неактивен windows 10
  • Журнал сетевой карты windows
  • Как выключить ноутбук в безопасном режиме windows 10