Печать linux клиент 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.

Читайте также:  Intelligent provisioning установка windows

В поле 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 процедура аналогична).

Сетевая печать из Ubuntu в Windows

Сетевая печать из Linux в Windows

настройка сетевой печати из Ubuntu в Windows

Windows принтер — Ubuntu

1. Устанавливаем стандартным образом принтер в Windows.
2. Проверяем печать.
3. Делаем общий доступ к данному принтеру.
4. В Ubuntu: Система -> Администрирование -> Печать
5. В открывшемся окне «Печать» кнопка «Добавить»: Сетевой принтер -> Windows Printer via Samba. Кнопка «Browse» открывает окно с выбором сети, компьютера и принтера.

Ubuntu принтер — Ubuntu (без Samba)

Если у Вас куплен принтер Hewlett Packard, желательно обновить пакет Hewlett-Packard’s Linux Imaging and Printing software (HPLIP). Инструкция по установке.Чтобы избежать проблем с печатью графики, советую поменять драйвер, устанавливаемый по умолчанию на pcl3.

1. Устанавливаем принтер в Ubuntu (192.168.0.1): Система -> Администрирование -> Печать
2. В открывшемся окне «Печать»: кнопка «Добавить». Система определяет подключенный к компьютеру принтер и устанавливает его. Если этого не произошло, обратитесь к документации по установке Вашего конкретного принтера.
3. Делаем общий доступ к данному принтеру. В окне «Печать» меню Сервер -> Settings. Ставим галки в пунктах:
-Show printers shared by other systems
-Pablish shared printers connected to this system
4. Нажимаем на установленный принтер и проверяем галки Shared

Читайте также:  Лончеры для windows 10

Теперь установим сетевой принтер на Ubuntu (192.168.0.2): Система -> Администрирование -> Печать
5. В открывшемся окне «Печать»: кнопка «Добавить».
6. В открывшемся окне «Печать» кнопка «Добавить»: Сетевой принтер -> Проткол сетевой печати (ipp). В поле «Host» пишем: http://192.168.0.1:631/printers/Laserjet-2300 . Вместо «Laserjet-2300» пишем название Вашего принтера (точно так, как назван на компьютере 192.168.0.1). Поле «Queue» оставляем пустым. Нажимаем на кнопку «Verify» для проверки доступности принтера.

Ubuntu принтер — Windows

1. Устанавливаем принтер в Ubuntu (192.168.0.1): Система -> Администрирование -> Печать
2. В открывшемся окне «Печать»: кнопка «Добавить». Система определяет подключенный к компьютеру принтер и устанавливает его. Если этого не произошло, обратитесь к документации по установке Вашего конкретного принтера.
3. Делаем общий доступ к данному принтеру. В окне «Печать» меню Сервер -> Settings. Ставим галки в пунктах:
-Show printers shared by other systems
-Pablish shared printers connected to this system
4. Нажимаем на установленный принтер и проверяем галки Shared

Теперь установим сетевой принтер на Windows (192.168.0.2): Пуск -> Настройка -> Принтеры и факсы.
В открывшемся окне «Принтеры и факсы»: «Установка принтера» -> Далее -> Сетевой принтер или принтер подключенный к другому компьютеру -> Подключиться к принтеру в Интернете, в домашней сети или в интрасети. В поле вводим http://192.168.0.1:631/printers/Laserjet-2300 . Вместо «Laserjet-2300» пишем название Вашего принтера (точно так, как назван на компьютере 192.168.0.1).

Данная статья внесена в Ubuntu Wiki по-русски: Предоставление общего доступа к принтеру

Проблемы при печати в Ubuntu linux

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

Давайте рассмотрим ситуацию, пусть у нас есть компьютер c Ubuntu 192.168.0.2 на нёмSamba с системой печати CUPS и он по локальной сети подключен к компьютеру с Windows XP192.168.0.1 у которого в свою очередь есть принтер LaserJet 6P на LPT1 порту, расшарен и имеет сетевое имя HPLaserJ. Нам надо печатать документы с машины Ubuntu на этом принтере.

Попытаемся решить эту задачу тривиальным способом Система -> Администрирование -> Печать тамСоздать — Принтер выскакивает окошко Новый принтер -> в Укажите подключение левая панельУстройства выбираем Windows Printer via Samba жмём кнопку Обзор выбираем машину с XP 192.168.0.1 и о ужас там нет нашего расшаренного принтера! Что же делать? Можно например руками прописать в строкуsmb://[рабочая_группа/]сервер[:порт]принтер. Новички в использовании Ubuntu спросят а где им взять рабочую группу? Cервер понятно 192.168.0.1, порт где его брать? Принтер тоже вроде понятно это его расшаренное имя т.е. HPLaserJ.

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

Аутентификация оставил такой пользователь Запрашивать, если требуется аутентификация

вроде всё, но если нажать кнопку Проверить то связь с принтером отсутствует и значит введённые нами значения не верны! И как бы мы не изгалялись и не рвали свою жопу на фашистский знак связи нет с принтером и не будет и как быть? Чтобы больше не видеть

при попытке отправить задание на печать!

Решения есть два!

Первое пригодно для случая когда на виндовз машинке есть пользователь Guest, т.есть включена запись гостя.

Тогда всё сводится к тому что в строку

Аутентификация -> Ввести параметры аутентификации -> Имя пользователя guest Пароль не вписываем жмём проверить, о ура ура принтер подключен!! Жмём кнопку Далее указываем производителя принтера HP ещё далее выбираем драйвер для LserJet 6P и т.д.
Не забываем после установки зайти в свойства принтера Управление доступом и там задать Разрешить печать всем, кроме указанных пользователей!

Читайте также:  Не устанавливается windows драйвер оптического привода

Решение второе пригодно для случая когда на виндовз машинке нет пользователя Guest, т.есть выключена запись гостя.

Тогда всё сводится к тому, что в строку smb:// записываем WORKGROUP/192.168.0.1/HPLaserJ

Аутентификация -> Ввести параметры аутентификации -> Имя пользователя winpolzovatel на машине192.168.0.1 Пароль пароль winpolzovatelя и если проверить даёт положительный результат дальше действуем по известной схеме.

Правда бывают моменты, когда и этих действий недостаточно, что же тогда?

Тогда собираем свою волю в кулак и поступаем следующим образом.
Для начала проверяем действительно ли на Windows машине рабочая група WORKGROUP если нет выясняем какая на самом деле и ставим такую же на машине с Ubuntu для этого в терминале

Теперь открываем браузер Firefox и пишем 127.0.0.1:631 в строке адресса жмём Enter попадаем Common UNIX Printing System
здесь жмём Add Printer указываем
Name: HPLaserJet6P
(May contain any printable characters except «/», «#», and space)
Location: HPLaserJet 6P Windows Comp
(Human-readable location such as «Lab 1»)
Description: Printer который меня замучал
(Human-readable description such as «HP LaserJet with Duplexer»)

Далее Device for HPLaserJet6P
Device: Windows Printer via Samba

Далее Device URI for HPLaserJet6P

Для первого случае есть guest

Device URI:smb://guest@192.168.0.1/HPLaserJ

для второго случая нет guest или guest не пашет ка нужно или авторизация через домен
используем формулу 🙂

для нашего случая

далее выбираем имя производителя на странице Make/Manufacturer for HPLaserJet6P это в нашем случаеHP

далее драйвер модели на странице Model/Driver for HPLaserJet6P — понятно что это драйвера HPLaserJet6P

далее выскакивает окно аутентификации проверяющее вас на принадлежность sudo вводите данные суперпользователя Ubuntu и пароль

Printer HPLaserJet6P has been added successfully.

Переходим на вкладку Printers и печатаем тестовую страницу — Print Test Page

Сетевая печать из Linux на Windows принтер используя SAMBA

Задача: есть принтер, подключённый к машине Windows по локальной сети, и есть компьютер с Linux и установленной там системой печати CUPS. Нужна печатать с Linux-машины на Windows-машину.
Решение: с помощью веб-формы CUPS добавляем принтер в Linux и указываем логин guest для печати на Windows машину.

Рассматривать будем на рабочем примере: есть компьютер под Windows XP по адресу 192.168.1.1, на нём по SAMBA виден расшаренный принтер LaserJet 1200, который имеет сетевое имя HPLaserJ. С других машин под Windows печать на него идёт, но через CUPS при попытке отправить задание на печать вылезает ошибка.

При использовании SMB протокола пишет:
Connection failed with error NT_STATUS_ACCESS_DENIED

Если пытаюсь печатать через IPP, получаю:
Unable to connect to SAMBA host, will retry in 60 seconds. foomatic-rip version $Revision$ running.

Пароля на принтеры нет.

Решение проблемы просто до смешного. Добавляем в веб-форме CUPS принтер, как сказано здесь, выбираем способ подключения Windows printer via Samba. Далее в строке адреса пишем:

И всё! Печать пошла!

И почему в гигантской, хотя и бестолковой, документации CUPS это не выделено ярким шрифтом?

В приложениях KDE нужно выставить адрес службы печати на локальный: 127.0.0.1:631.

Если же в вашей Windows-машине используется авторизация через домен, то надо в строке адреса указывать пароль и имя пользователя.

Во избежание излишних нервных перенапряжений, не рекомендую пользоваться именами принтеров с пробелами и кириллицей.

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