- Печать из Windows 7 на принтер в Mac OS (Linux)
- Получаем адрес очереди печати на сервере CUPS
- Поддержка IPP/CUPS печати в Windows
- Установка и настройка сетевого CUPS принтера в Windows
- Внешняя память админа
- вторник, 6 апреля 2010 г.
- Принт-сервер для Windows клиентов на базе CUPS
- Linux/BSD Проще не бывает!
- Печать из CUPS на розшаренный в Windows принтер.
Печать из 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 устанавливается отдельная функция с аналогичным именем).
Установка и настройка сетевого 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 процедура аналогична).
Внешняя память админа
вторник, 6 апреля 2010 г.
Принт-сервер для Windows клиентов на базе CUPS
Раз уж вспомнили про анализ статистики CUPS и WEB-интерфейс для него, заодно расскажу как этот самый CUPS настраивать для возможности печати как с Linux, так и Windows машин.
К тому же самому недавно пришлось переносить на новый сервер и, как выяснилось, сам кое что подзабыл, пришлось помучиться.
Добавил сюда инструкцию как прикрутить к Windows 7.
Что используем:
Gentoo
CUPS 1.3.11
SAMBA 3.0.37
hplip 3.9.12 (linux драйверы принтеров и утилиты от HewlettPackard)
foomatic 3.0 (linux драйверы принтеров)
cups-windows, adobeps (драйверы для Windows)
Установка
Обновляем дерево портеджей:
# USE=»jpeg tiff png ppds samba ssl slp tiff zeroconf» emerge -av cups
# USE=»hpcups hpijs snmp» emerge -av hplip
# USE=»cups» emerge -av foomatic-db foomatic-db-engine foomatic-db-ppds foomatic-filters foomatic-filters-ppds
application/octet-stream application/vnd.cups-raw 0 —
Order Deny,Allow
Deny From All
Allow From 192.168.0.*
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 192.168.0.*
# /etc/init.d/cupsd start
# rc-update -a cupsd default
Теперь можно подключиться к WEB-интерфейсу CUPS, настроить все необходимые параметры и установить принтеры. Тут уже можно подключать Linux клиентов.
В случае использования принтеров HewlettPackard, запускаем hp-setup и следуем указаниям мастера установки. Все необходимые настройки CUPS будут сделаны автоматически. В процессе работы, мастер попытается установить плагин для CUPS, в моем случае ему это не удалось, ругнулся на то, что установщик плагина не понимает ключа -i. Пришлось установить его в ручную, предварительно установив пакет dbus-python, без него ставиться не захотел. Скачанный мастером плагин можно найти в папке /var/tmp, называется он hplip-3.9.12-plugin.run
samba:
Редактируем /etc/samba/smb.conf
[global]
#Имя рабочей группы/домена
workgroup = MSHOME
#Имя сервера в сети
netbios name = samba
#Комментарий
server string = file and printer server
hosts allow = 192.168.0.
#security обязательно user!
#по завершении всех ниже описанных операций можно изменить на share
security = user
load printers = yes
printing = cups
printcap name = cups
use client driver = no
[share]
#Путь к папке, которую нужно расшарить
path = /home/shared-folder
comment = shared files
read only = no
browseable = yes
guest ok = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
printable = yes
writable = no
guest ok = yes
[print$]
comment = Printer Drivers
path = /usr/share/cups/drivers
browseable = yes
guest ok = yes
read only = yes
write list = root
# /etc/init.d/samba start
# rc-update -a samba default
# cupsaddsmb -H localhost -U root -h localhost -a
в секцию [global] .
Настройка принтера в Windows 7
Устанавливаем в Windows драйвер принтера.
Заходим в меню «Пуск», запускаем пункт «Устройства и принтеры». В открывшемся окне нажимаем кнопку «Установка принтера»:
Нажимаем «Нужный принтер отсутствует в списке».
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 и нажал «Продолжить». Заключительным шагом был выбор драйвера для принтера. Делается все также просто:
Выделяем нужный нам драйвер и жмем «Добавить принтер». Если все сделано как надо, то в списке принтеров должен появиться принтер 🙂 В этом можно убедиться просто зайдя на вкладку «Принтеры». Притом можно ходить как по http так и по https. К примеру я зашел используя такой URL: http://ws4.intranet/printers Вот что там увидел:
Как видите, принтер подключился и ожидает задания 🙂 Ну как пользоваться принтером вы уже и сами разберетесь. Такчто на этом мой рассказ пришел к логическому завершению 🙂
Всем удачи и безглючной печати в придачу 😉