In this blog post we will share a printer that is connected to a Windows PC with another system that runs Debian GNU/Linux.
Sharing the printer on Windows
First of all, on the Windows PC, it is required to have active the feature called File and printer sharing. This setting is within the Control Panel and it can be quickly found by pressing the Windows key and typing Manage advanced sharing settings. Having this feature checked will make the printers and other shared resources visible to the local network.
Setting up the printer on Debian GNU/Linux
In my experience, for adding a Windows printer on Debian GNU/Linux I needed to install first the Samba client by typing the following command on the Terminal.
apt-get install samba-client
Once this action is done, adding the printer using the CUPS web interface is the next step. CUPS (an acronym for Common UNIX Printing System) is the printing system for Unix-based operating systems. It can be accessed via web browser by typing http://localhost:631/.
Once there, we click on the Add Printer button. In case accessing CUPS prompts for User Name and Password, the default credentials are: User Name: root and Password: yourrootpassword.
In the next step, select Windows Printer via SAMBA (last option from the list):
The anatomy of a printer path
It’s very important to understand the parts of the URL that goes on the next step, where you’ll need to add the printer’s connection path.
This is how the URL will look like: smb://HOSTNAME:PASSWORD@192.168.56.1/HOSTNAME/PRINTERNAME
HOSTNAME: this is the static IP of the machine in the local network. It can also be a name. Eg. LIVINGROOM.
PASSWORD: the Window’s machine login password is written here.
HOSTNAME: same name or number as the previous one. In the case of the example it would be LIVINGROOM.
WINDOWS PRINTER NAME: the printer’s name (without spaces) that Windows has given to the device to be shared.
Think before you print
This was an experiment that has been done for fun. It was my curiosity to learn how to share a Windows printer not only on other Windows machines, but also on my corporate MacBook Pro and my Debian VM. On macOS the setup was fairly simple. For Debian, I had to do some research to get it up and running.
As always, please consider the environment before printing something.
November 22, 2021 | By the+gnu+linux+evangelist.
GNU/Linux Debian Bullseye Sharing Printer with Windows Guide
Hi! The Tutorial shows you Step-by-step How to Share Network CUPS Wifi Printer with Windows XP/7/8/10/11 in Debian Bullseye 11.x GNU/Linux Desktop.
And to Share Wifi Printer with Windows you may first see How to Setup a Network CUPS Printer on Debian Bullseye.
Then to achieve the Wireless Printing Share from Debian you basically dispose of 2 ways:
-
The Bonjour IPP Driverless Setup
-
The Samba Network Setup
So now first you should try the Printer sharing with the Apple Bonjour because is the quickest and easiest way to achieve this Setup.
Because the IPP Protocol is supported from most Network Printers and the Zeroconf Bonjour Avahi Linux Service implementation is available on most GNU/Linux Systems.
Else as an alternative solution look to the CUPS Samba Network Printer Sharing Setup Guide.
-
1. Installing Network Printer
How to Install Network Printer on GNU/Linux Desktops
Installing Wi-fi CUPS Printer on Linux
Contents
Главная → Просто о сложном → Для веб-программистов → Расшаривание принтера в Ubuntu для Windows и наоборот
Расшариваем в Убунту для Виндовс СПОСОБ 1
В Ubuntu проделываем следующее:
Заходим в Система — Администрирование — Печать…
Затем в Сервер — Параметры
Отмечаем галочкой «Публиковать общие принтеры, подключенные к этой системе»
В Windows проделываем следующее:
Заходим в браузер по адресу http://ip-адрес-компьютера-с-принтером:631/printers/
Копируем адрес вида http://192.168.1.2:631/printers/hp-LaserJet-1010
Заходим в раздел «Принтеры и другое оборудование» «Панели управления»
Выбираем пункт «Установка принтера»
Ставим галочку на «Сетевой принтер…». Жмем «Далее»
Ставим галочку на «Подключиться к принтеру в интернете, в домашней сети или в интрасети», вставляем полученный ранее адрес принтера
Выбираем драйвер и завершаем установку*
Расшариваем в Виндовс для Убунту СПОСОБ 2
Думаю как расшарить принтер в винде объяснять не нужно, главное попробуйте расшарить принтер, чтобы можно было печатать из другого виндового компьютера, убедитесь, что принтер действительно расшарен.
Включаем поддержку самбы в винде (как это сделать чуть позже напишу).
В убунту добавляем сетевой принтер, далее выбираем способ: виндовс принтер через самба,
Далее ищем, если не находит, то добавляем по форме: smb://guest@айпи-компьютера/имя_принтера_в_сети
Например: smb://guest@192.168.1.127/Canon_MP250_2
Кстати в Лубунту и ЮнибиксЛубунту по умолчанию нет возможности добавить виндовс принтер через самба, но это легко включить, установив три пакета: libsmbclient, smbclient, pyton-smbc
Расшариваем в Убунту для Убунту СПОСОБ 3
Установить и настроить локальный принтер на том компьютере к которому он подключен
ОТкрываем localhost:631 и нажимаем напротив принтера: Разрешить совместный доступ и Разрешить печать из Интернета (если надо)
Узнаем наш айпи командой «ifconfig -a»
Далее идем на второй компьютер с линуксом, пуск-администрирование-епчать-добавить принтер-найти сетевой принтер.
Если нашел — отлично, если нет то вбиваем ручками, например так: ipp://192.168.0.234:631/printers/blackstar
Расшариваем в Виндовс для Виндовс СПОСОБ 4
Это самый простой и детский спобоб, поэтому его распишу как будет время.
Для всех случаев:
должны быть установлены пакеты samba и cups
cups — интерфес печати для linux
samba — сервер общих ресурсов для windows
Команды установки для терминала
sudo apt-get install cups
sudo apt-get install samba
Команда рестарта cups
sudo /etc/init.d/cups restart
команда рестарта samba
sudo service smbd restart
Также есть хорошая инструкция для совсем нестандартных случаев:
http://forum.ubuntu.ru/index.php?.0
Расшарить принтер в для пользователей локальной сети (предоставить к принтеру общий доступ).
* Пример настройки актуален для компьютера (сервера печати) с графическим интерфейсом и интернет-браузером (CUPS будем настраивать через web-интерфейс).
Логика работы CUPS
На каждом компьютере локальной сети, с которого будет производиться печать, должен быть запущен демон cupsd. На компьютере с подключенным принтером этот самый принтер должен работать (как минимум должны быть установлены драйвера). CUPS имеет клиент-серверную архитектуру, однако любой сервер может также выступать в роли клиента.
Решение
1. На всех компьютерах, с которых будет выполняться печать, устанавливаем CUPS
(команда выполняется в терминале/консоли с правами root):
aptitude install cups
2. На компьютере, к которому подключен принтер, заходим в web-интерфейс системы CUPS — в строке браузера вводим http://localhost:631
3. Идём на вкладку администрирование и отмечаем галочкой как минимум один пункт:
Разрешить совместный доступ к принтерам, подключенным к этой системе
я обычно отмечаю ещё и этот:
Разрешить пользователям отменять любое задание (не только их собственное)
но это уже на вкус и цвет…
Жмём кнопку «Сохранить», система попросит подтвердить что вы root — вводим root и пароль, жмём ок.
4. Печатаем
P.S.: уточнения приветствуются.
Дополнительные ссылки:
Печать на CUPS из Windows
Задача: есть принтер, подключённый к машине 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. Далее в строке адреса пишем:
smb://guest@192.168.1.1/HPLaserJ
И всё! Печать пошла!
И почему в гигантской, хотя и бестолковой, документации CUPS это не выделено ярким шрифтом?
В приложениях KDE нужно выставить адрес службы печати на локальный: 127.0.0.1:631.
Если же в вашей Windows-машине используется авторизация через домен, то надо в строке адреса указывать пароль и имя пользователя.
smb://usrername:userpassword@domainname/computername/printername
Во избежание излишних нервных перенапряжений, не рекомендую пользоваться именами принтеров с пробелами и кириллицей.
Ссылки:
Решение было найдено, страшно сказать, на ЛОРе. Что поражает, так это то, что такую простую вещь никто нигде не освещает. Надеюсь, это поможет кому-то ещё.