Linux windows принтеры cups

Linux/BSD Проще не бывает!

Печать из CUPS на розшаренный в Windows принтер.

Простенькая задачка — необходимо настроить печать по сети из Linux на принтер физически подключенный к машинке с Windows XP и розшаренный по samba. Простенькая потому, что рещается за пару минут 🙂 Итак, оглашу все вводный данные перед началом «плясок с бубном».

WinXP:

  • ip — 192.168.0.5
  • принтер розшарен под именем HP1320
  • Пользователь — print (от имени этого пользователя мы будем печатать на винде)
  • Пароль — 123 (это пароль вишеупомянутого пользователя print)

Linux:

  • hostname — ws4.intranet
  • cups — версия 1.4.2

В моем случае обе машинки были удаленные. Но это не составляет труда, поскольку попасть в админку CUPS можно просто набрав в браузере URL https://ws4.intranet:631/admin

Тут возможны как минимум 3 варианта. Или вас не пустит с ошибкой 403 Forbidden, либо пустит но спросит при первом же действии логин/пароль пользователя имеющего право управлять системой печати и последний вариант — не пустит совсем! Итак лечится каждый вариант посвоему:

  • 403 Forbidden — Нужно разрешить удаленное администрирование CUPS. Сделать это можно поправив по ssh на сервере с CUPS конфиг /etc/cups/cupsd.conf (добавить Allow From в нужные вам секции) или зайдя браузером непосредственно с машинки где установлен CUPS на URL https://localhost:631/admin и поставить галочку «Разрешить удаленное администрирование»
  • Пускает но при попытке чтолибо поменять/удалить/добавить сразу спрашивает Login/Password — так и должно быть! Просто вводим login/password рута или другого уполномоченного на управление системой печати пользователя.
  • Совсем никакой реакции! Висит а потом браузер говорит что немогу подключиться к серверу — Просто надо проверить запущен ли CUPS и разрешено ли ему слушать чтолибо кроме localhost. Не закрыто ли фаерволом? Ну и логи CUPS никто не отменял 🙂

У меня с подключением никаких приколов небыло, просто ввел URL в браузере https://ws4.intranet:631/admin и все прекрасно загрузилось (вернее, уже во время добавления принтера спросило login/password — рутовых данных хватило с головой). Короче, увидел такую вот web админку:

Дальше жмем кнопочку слева «Добавить Принтер» и попадаем к выбору типа принтера.

Тут я выбрал Windows Printer via SAMBA (видно на картинке). Жмем «Продолжить». После этого попадаем на этап указания сервера и строки подключения вцелом. Тут самое интересное — строка подключения 🙂 В ней используется имя пользователя/пароль виндового пользователя для авторизации по SAMBA на виндовой машине. Вобщем, все видно на скриншоте:

Жмем «Продолжить». Попадаем в дополнительные настройки подключаемого принтера. Тут можно прописать название принтера (под этим именем он будет подключен в систему) а также расположение и описание. Пишим то что считаем нужным. Я заполнил так:

Прописали? Жмем «Продолжить». Отрывается следующая страничка мастера подключения принтеров в которой уже предлагается выбрать производителя нашей железки (принтера) ну или сразу ppd файл 🙂

У меня небыло ppd-шки — выбрал просто HP и нажал «Продолжить». Заключительным шагом был выбор драйвера для принтера. Делается все также просто:

Читайте также:  Браузер 360 extreme explorer для windows

Выделяем нужный нам драйвер и жмем «Добавить принтер». Если все сделано как надо, то в списке принтеров должен появиться принтер 🙂 В этом можно убедиться просто зайдя на вкладку «Принтеры». Притом можно ходить как по http так и по https. К примеру я зашел используя такой URL: http://ws4.intranet/printers Вот что там увидел:

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

Всем удачи и безглючной печати в придачу 😉

Печать из Windows 7 на принтер в Mac OS (Linux)

Попробуем разобраться, как можно организовать печать из 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 это
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 устанавливается отдельная функция с аналогичным именем).

Читайте также:  Голосовой движок алена для windows

Установка и настройка сетевого 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.

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

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

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

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


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

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

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

Сервер печати CUPS

Содержание

Сервер печати CUPS

Первичный (основной) механизм для печати и сервисов печати в Ubuntu — это Общая система печати UNIX (Common UNIX Printing System — CUPS). Данная система печати — это свободный, доступный и переносимый слой, который стал новым стандартом печати для большинства дистрибутивов Linux.

Читайте также:  Windows swap com window swap com

CUPS управляет заданиями печати и обеспечивает сетевую печать с использованием стандарта IPP (интернет протокол печати), поддерживая огромный список принтеров от матричных до лазерных и любых других. CUPS также поддерживает PostScript описание принтеров (PPD) и автоопределение сетевых принтеров, а также простую настройку и администрирование через web интерфейс.

Установка

Для установки CUPS на ваш Ubuntu компьютер просто используйте sudo для выполнения команды apt-get, передав ей названия пакетов в качестве параметра. Полная установка CUPS содержит много зависимостей, но они все могут быть определены в одной команде. Введите следующее в терминале для установки CUPS:

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

При необходимости решения проблем, вы можете получить доступ к ошибкам сервера CUPS через файл журнала /var/log/cups/error_log. Если журнал ошибок не дает достаточно информации для решения какой-либо проблемы, уровень журналирования CUPS можно повысить изменением директивы LogLevel в файле настроек (описывается ниже) до debug или даже debug2 со стандартного info, что будет сохранять в журнал абсолютно все. Если вы проведете такое изменение, не забудьте вернуть все обратно после решения проблемы, чтобы избежать излишнего разрастания файла журнала.

Настройка

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

Скопируйте и защитите от записи файл /etc/cups/cupsd.conf.original с помощью следующих команд в терминале:

1. ServerAdmin: Для настройки email адреса назначенного администратора CUPS сервера, просто откройте на редактирование файл /etc/cups/cupsd.conf с помощью своего любимого текстового редактора, и добавьте или измените строку ServerAdmin соответствующим образом. Например, если вы администратор CUPS сервера и ваш email адрес ‘bjoy@somebigco.com’, вам следует изменить строку ServerAdmin следующим образом:

2. Listen: В Ubuntu по умолчанию установленный CUPS сервер слушает только интерфейс обратной петли по адресу 127.0.0.1. Чтобы заставить CUPS сервер прослушивать актуальный IP адрес сетевого адаптера, вы должны указать сетевое имя или пару IP адрес/порт добавочной директивой Listen. Например, если ваш сервер находится в локальной сети с IP адресом 192.168.10.250 и вы хотите сделать его доступным для других систем в этой подсети, отредактируйте /etc/cups/cupsd.conf, добавив директиву Listen, как показано ниже:

В приведенном примере вы можете закомментировать или удалить ссылки на адрес обратной петли (127.0.0.1), если вы не хотите, чтобы cupsd прослушивал этот интерфейс, а только Ethernet интерфейсы локальной сети. Чтобы разрешить прослушивать все сетевые интерфейсы, назначенные определенному сетевому имении, включая обратную петлю, вы можете создать такую запись Listen для имени (например) socrates:

или опустить директиву Listen и использовать вместо нее Port:

Для дополнительных примеров по директивам в файле настройки CUPS, смотрите ассоциированную страницу системного руководства, введя в терминале следующую команду:

Web интерфейс

Чтобы выполнить административную задачу через web интерфейс, вы должны либо разрешить учетную запись root на своем сервере, либо авторизоваться как пользователь из группы lpadmin. По соображениям безопасности CUPS не авторизует пользователей с пустыми паролями.

Чтобы добавить пользователя в группу lpadmin, выполните в терминале следующую команду:

Дальнейшая документация доступна через закладку Documentation/Help web интерфейса.

Оцените статью