Подключение принтера расшаренного в windows на linux

Расшаривание принтера в Ubuntu для Windows и наоборот

Главная → Просто о сложном → Для веб-программистов → Расшаривание принтера в 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/Printer sharing. Дата последней синхронизации: 13 июля 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Эта статья содержит инструкции по совместному использованию принтеров между системами, будь то между двумя системами GNU/Linux или между системой GNU/Linux и Microsoft Windows.

Создание класса для нескольких принтеров

‘Класс’ в CUPS имеет значение группы. Когда у вас есть несколько принтеров, подключенных к одному серверу CUPS, вы можете захотеть их сбалансировать (задания на печать автоматически помещаются в очередь для разных принтеров). Это также дает преимущество в том, что пользователи на удаленной машине работают с одним ‘принтером’. Что особенно полезно, когда один принтер вышел из строя, вы просто исключаете его из класса, но для конечных пользователей ничего не изменится — печать заданий, поставленных на другой принтер сервером CUPS, продолжает обрабатываться. Создание и управление классами можно выполнять из веб-интерфейса CUPS.

Внутри систем GNU/Linux

Сервер можно настраивать с помощью веб-интерфейса или путем ручного редактирования файла /etc/cups/cupsd.conf.
Смотрите статью CUPS (Русский) для настройки клиента.

Использование веб-интерфейса

Для доступа к странице администрирования CUPS, откройте в браузере адрес: http://localhost:631.

В верхней части находится вкладка Администрирование — кликните по ней, нажмите на кнопку добавления принтера, при этом будут автоматически определены подключенные принтеры. Если этого не произойдет, отключите принтер и подключите его снова.

После создания принтера зайдите в раздел Сервер и установите флажок напротив «Разрешить совместный доступ к принтерам, подключенным к этой системе». После клика по Сохранить, сервер будет перезапущен автоматически.

Для более детальной настройки вы можете отредактировать файл /etc/cups/cupsd.conf, нажав кнопку «Редактировать конфигурационный файл». Для получения дополнительной информации смотрите #Ручная настройка.

Ручная настройка

На сервере (тот, который управляет и подсоединён к принтеру) разрешите доступ к серверу, изменив строчки с тэгом Location. Например:

/etc/cups/cupsd.conf
<Location />
    Order allow,deny
    Allow localhost
    Allow 192.168.0.*
</Location>
...

Также убедитесь, что серверу для адресации доступен IP-адрес клиента:

/etc/cups/cupsd.conf
...
Listen <hostname>:631
...

Есть другие возможности для настройки, включая автоматические способы, которые детально описаны в Использование сетевых принтеров и cupsd.conf(5).

После внесения каких-либо изменений перезапустите службу org.cups.cupsd.

Если CUPS запускается с помощью активации сокета, создайте drop-in сниппет для org.cups.cupsd.socket, чтобы активация сокета работала и с удаленными подключениями:

/etc/systemd/system/org.cups.cupsd.socket.d/override.conf
[Socket]
ListenStream=631

Включение обнаружения

Чтобы включить отображение (обнаружение) общего принтера, необходимо установить Avahi и запустить его на сервере.
Если вам не нужно обнаружения принтера, тогда Avahi не требуется ни на сервере, ни на клиенте.

Чтобы включить отображение, выберите Показывать общие принтеры, подключенные к этой системе в веб-интерфейсе, или вручную включите Browsing и введите BrowseAddress:

/etc/cups/cupsd.conf
...
Browsing On
BrowseAddress 192.168.0.*:631
...

затем перезапустите службу org.cups.cupsd.

Обратите внимание, что «обнаружение» на сервере — другая вещь по сравнению с «обнаружением» на удаленном сетевом хосте. На сервере печати cupsd предоставляет поддержку протокола DNS-SD, который транслируется avahi-daemon. Служба cups-browsed не нужна на сервере печати за исключением, если будет транслироваться старый протокол CUPS’а, или если сервер печати также будет «обнаруживать» другие сетевые принтеры. На удаленном сетевом хосте служба cups-browsed требуется для «обнаружения» сетевой трансляции служб печати, а также запущенная служба cups-browsed будет автоматически запускать cupsd.

Служба org.cups.cupsd.service запускается автоматически при подключении USB-принтера, но это может быть не так для других типов подключений. Если cupsd не запущен, тогда avahi-daemon не транслирует службу печати, поэтому в этом
случае service-файл юнита systemd должен быть изменен при запуске во время загрузки, а затем служба снова должна
быть «включена/установлена» с новой зависимостью. Чтобы сделать это, отредактируйте раздел файла службы [Install], добавив зависимость WantedBy=default.target, а затем включите и запустите службу org.cups.cupsd.service.

Между GNU/Linux и Windows

Сервер Linux — клиент Windows

Общий доступ для клиентов Windows может быть достигнут, используя #Общий доступ с помощью Bonjour, #Общий доступ с помощью IPP или #Общий доступ с помощью Samba.

После настройки сервера установите драйвера для принтера на компьютере под управлением Windows. Если принтер сервера CUPS настроен на использование собственных драйверов вместо raw (raw — когда cups просто передает на принтер полученное задание для печати без какой-либо обработки), вы можете просто выбрать общий драйвер postscript для клиента Windows (например, ‘HP Color LaserJet 8500 PS’ либо ‘Xerox DocuTech 135 PS2’, либо ‘Microsoft PS Class driver’).

Общий доступ с помощью Bonjour

Службы печати Bonjour позволяет клиентам Windows легко подключаться к серверам печати Unix с включенным обнаружением.

Общий доступ с помощью IPP

Internet Printing Protocol является широко поддерживаемым стандартом среди операционных систем, который также прост в настройке. Он имеет функцию переадресации портов, туннелирования и т.д.

Примечание: Возможно, вам придется добавить Internet Printing Client в Windows (Панель управления > Программы > Включение или отключение компонентов Windows > Службы печати и документов)

Сначала, настройте сервер как описано в разделе #Внутри систем GNU/Linux.

На компьютере с Windows, перейдите в Панель управления > Просмотр устройств и принтеров и выберите в контекстном меню ‘Добавить принтер’. Если у вас Windows 10, нажмите кнопку «Принтер, который я хочу, не указан». Далее, выберите ‘Выбрать общий принтер по имени’ и тип расположения принтера:

http://hostname:631/printers/printer_name

(Где hostname — это имя хоста или IP-адрес сервера GNU/Linux, а printer_name — это имя подключенного принтера. Вы также можете использовать полное доменное имя сервера, если оно есть, но вам может потребоваться установить ServerAlias my_fully_qualified_domain_name в /etc/cups/cupsd.conf, чтобы это заработало).

Примечание:

  • Диалоговое окно ‘Добавить принтер’ в Windows предлагает формат http://computername/printers/printername/.printer, который Windows не примет. Вместо этого используйте синтаксис, предложенный выше.
  • Если вы используете прокси, тщательно проверяйте все использованные прокси исключения. Неправильная настройка здесь может привести к невозможности добавления принтера до следующей перезагрузки, даже если вы отключите прокси-сервер после этого (по крайней мере, в Windows 7).

Общий доступ с помощью Samba

Samba — реализация протокола обмена файлами Windows и принтерами, даже самых старых.

Обратите внимание, что общий доступ с помощью Samba обычно более сложный для настройки и сопровождения.

Для настройки Samba на сервере Linux, отредактируйте файл /etc/samba/smb.conf, это даст возможность предоставить общий доступ к принтерам. Файл smb.conf может содержать примерно следующее:

/etc/samba/smb.conf
[global]
workgroup=Heroes
server string=Arch Linux Print Server
security=user

[printers]
    comment=All Printers
    path=/var/spool/samba
    browseable=yes
    # разрешите это, чтобы пользователь 'гостевой учетной записи' мог пользоваться печатью.
    guest ok=no
    writable=no
    printable=yes
    create mode=0700
    write list=@adm root ваше_имя_пользователя

Этого должно быть достаточно для организации совместного доступа, но все-таки рекомендуется добавить для принтера отдельную запись:

/etc/samba/smb.conf
[ML1250]
    comment=Samsung ML-1250 Laser Printer
    printer=ml1250
    path=/var/spool/samba
    printing=cups
    printable=yes
    printer admin=@admin root ваше_имя_пользователя
    user client driver=yes
    # разрешите это, чтобы пользователь 'гостевой учетной записи' мог пользоваться печатью.
    guest ok=no
    writable=no
    write list=@adm root ваше_имя_пользователя
    valid users=@adm root ваше_имя_пользователя

Учтите, что при таких настройках, должна существовать учетная запись с правами доступа к принтеру. Для публичного принтера установите guest ok в yes, и удалите строку valid users. Для добавления учетных записей, создайте действующую учетную запись GNU/Linux, а затем установите на Samba-сервере пароль. Например:

# useradd ваше_имя_пользователя
# smbpasswd -a ваше_имя_пользователя

Затем перезапустите демон Samba:

Естественно, имеется множество дополнительных настроек сервера печати Samba, поэтому, для получения дополнительной информации, следует обратиться к справочной документации Samba и CUPS. Образцы и примеры можно посмотреть в файле smb.conf.example.

Сервер Windows — клиент Linux

Важно: Любые особые символы в URI принтера должны быть соответствующим образом процитированы, или, если в имени вашего принтера Windows или в пароле есть пробелы, тогда CUPS выдаст ошибку «lpadmin: Bad device-uri».

Например:

smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6

станет:

smb://BEN-DESKTOP/HP%20Color%20LaserJet%20CP1510%20series%20PCL6

Такая строка может быть получена в результате выполнения следующей команды:

$ python -c 'from urllib.parse import quote; print("smb://" + quote("BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6"))'

Общий доступ с помощью LPD

В Windows 7, 8 и 10 имеется интегрированный LPD-сервер, то, возможно, будет намного проще использовать именно его, поскольку не придется для клиента устанавливать Samba, а на сервере — можно будет обойтись без сложных настроек. Это можно включить в разделе Службы печати и документов, находящего в Панель управления -> Программы -> Включение или отключение компонентов Windows. В свойствах принтера должен быть включен общий доступ. Используйте общее имя без особых символов, таких как пробел, запятые и др.

Затем, принтер можно будет добавить в CUPS просто выбрав протокол LPD. Адресс принтера будет выглядеть следующим образом:

# lpd://windowspc/имя_общего_принтера

Перед добавлением вам, скорее всего, понадобиться установить для своей модели принтера соответствующий драйвер. Драйвера Generic PostScript или RAW тоже должны работать.

Общий доступ с помощью IPP

Как и в предыдущем случае, для организации общего доступа к принтерам протокол IPP является предпочтительным, но он работает только с версиями Windows Server. Версия Windows Server (например Server 2016) включаюет поддержку IPP (функции «Службы печати и документов», служба «Интернет-печати»). Клиентские версии (например, Windows 10) включают поддержку только клиента IPP и не поддерживают совместный доступ через IPP.

Общий доступ с помощью Samba

Гораздо проще использовать стандартные возможности Windows по предоставлению общего доступа к принтерам с помощью Samba. Ручная настройка практически не требуется и все можно выполнить через бэкенд CUPS. Однако, как было замечено выше, в Windows могут возникнуть проблемы с аутентификацией и ограничением доступа.

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

В следующем разделе будут описаны настройки клиента с обоими (cupsd и smbd) запущенными демонами.

Настройка через веб-интерфейс

Samba CUPS бэк-енд должен быть включен по умолчанию, но если этого не происходит — введите следующую команду и перезапустите CUPS.

# ln -s $(which smbspool) /usr/lib/cups/backend/smb

Затем, просто зайдите в веб-интерфейс CUPS и добавьте новый принтер. В качестве устройства выберите «Windows Printer via SAMBA».

Для местоположения устройства, выберите:

smb://имя_пользователя:пароль@имя_хоста/имя_принтера

Или, если пароля нет:

smb://имя_пользователя@имя_хоста/имя_принтера

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

smb://имя_пользователя:пароль@домен/имя_хоста/имя_принтера
Ручная настройка

При ручной настройке: остановите демон CUPS и добавьте свой принтер в /etc/cups/printers.conf, который, к примеру, может выглядеть так:

/etc/cups/printers.conf
<DefaultPrinter MyPrinter>
AuthInfoRequired username,password
Info My printer via SAMBA
Location In my Office
MakeModel Samsung ML-1250 - CUPS+Gutenprint v5.2.7        # <= для получения списка доступных моделей запустить 'lpinfo -m'
DeviceURI smb://username:password@hostname/printer_name   # <= URI сервера, выбирать согласно описания в предыдущем разделе
State Idle
Type 4
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
AllowUser yourusername                                    # <= не забудьте изменить это
OpPolicy default
ErrorPolicy stop-printer
</Printer>

Перезапустите демон CUPS и распечатайте тестовую страницу.

Поиск URI для серверов печати Windows

Иногда имя хоста Windows (усеченно) меньше предстоящего точного URI устройства (расположение устройства) (Sometimes Windows is a little less than forthcoming about exact device URIs (device locations)). Если возникли проблемы с указанием правильного расположения устройства в CUPS, выполните следующую команду, чтобы вывести список всех общих ресурсов, доступных для определенного имени пользователя windows:

$ smbtree -U имя_пользователя_windows

В этом списке будет отображаться только общие URI для определенного имени пользователя Windows в локальной подсети локальной сети, если Samba настроен и работает правильно. Команда должна вернуть что-то вроде этого:

 WORKGROUP
	\REGULATOR-PC   		
		\REGULATOR-PCZ              	
		\REGULATOR-PCPublic         	
		\REGULATOR-PCprint$         	Printer Drivers
		\REGULATOR-PCG              	
		\REGULATOR-PCEPSON Stylus CX8400 Series	EPSON Stylus CX8400 Series

Здесь требуется первая часть последней строки — ресурс, соответствующий описанию принтера. Поэтому для печати на принтер EPSON Stylus введите:

smb://имя_пользователя:пароль@REGULATOR-PC/EPSON%20Stylus%20CX8400%20Series

как URI в CUPS.

Удаленное управление

Однажды сервер настроенный, как описано в #Внутри систем GNU/Linux, может также быть настроенным так, чтобы им можно было управлять удаленно. Добавьте разрешенные хосты в блок <Location /admin> в /etc/cups/cupsd.conf, используя тот же синтаксис, что и в #Ручная настройка. Обратите внимание, что доступны три уровня доступа:

<Location />           #доступ к серверу
<Location /admin>	#доступ к страницам администратора
<Location /admin/conf>	#доступ к файлам конфигурации

Чтобы дать удаленным хостам доступ к одному из этих уровней, добавьте оператор Allow в этот уровень. Оператор Allow может принимать одну или несколько форм, перечисленных ниже:

Allow from all
Allow from host.domain.com
Allow from *.domain.com
Allow from ip-address
Allow from ip-address/netmask
Allow from @LOCAL

Отрицательный оператор также может быть использован. Например, чтобы предоставить полный доступ ко всем хостам на локальных сетевых интерфейсах, отредактируйте /etc/cups/cupsd.conf:

# Ограничить доступ к серверу...
# По умолчанию возможны только локальные подключения
<Location />
   Order allow,deny
   Allow from @LOCAL
</Location>

# Ограничить доступ к страницам администратора...
<Location /admin>
   Order allow,deny
   Allow from @LOCAL
</Location>

# Ограничить доступ к файлам конфигурации...
<Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow from @LOCAL
</Location>

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Вам также может потребоваться добавить:

DefaultEncryption Never

Это должно помочь избежать ошибки: 426 — Upgrade Required when using the CUPS web interface from a remote machine.

Kerberos

Kerberos может использоваться для аутентификации пользователей, обращающихся к удаленному серверу CUPS. Это предполагает, что на вашем компьютере есть keytab, и ему понадобится билет для «HTTP». Вместо этого http://localhost:631 вы должны использовать https://host.example.co.uk:631 т.к. требуется шифрование для auth (следовательно, https), и требуется полное имя хоста, чтобы Kerberos/Negotiate могли работать. Кроме того, сервер должен быть настроен в /etc/cups/cupsd.conf, чтобы использовать DefaultAuthType Negotiate.

Если вы используете поддержку NSS в Samba winbind, вы можете добавить имя группы AD в /etc/cups/cups-files.conf — в следующем примере sysadmin может быть группой AD:

SystemGroup sys root sysadmin

Решение проблем

Общие советы по устранению неполадок смотрите в CUPS/Решение проблем.

Не удается отправить на печать из приложений GTK

Если ты получил сообщение getting printer information failed (ошибка получения информации о принтере), когда пытался отправить на печать из приложения GTK, тогда добавь эту строку в свой /etc/hosts:

 # serverip 	some.name.org 	ServersHostname

Ошибки разрешений в Windows

Некоторые пользователи исправили ошибки ‘NT_STATUS_ACCESS_DENIED’ (Windows клиенты), используя несколько иной синтаксис:

smb://рабочая_группа/имя_пользователя:пароль@имя_хоста/имя_принтера

Другие операционные системы

Более подробную информацию о взаимодействии CUPS с другими системами печати можно найти в руководстве CUPS, например, на http://localhost:631/help/network.html


Прочитано:
14 031

Есть USB принтер HP LaserJet P2055d который подключен через USB шнур к компьютеру с осью Windows 7 Pro x64 Russian и он расшарен. Так вот нужно из рабочей станции Ubuntu Trusty подключить данный принтер дабы не перетыкать USB от компьютера с Windows к Ubuntu.

У меня рабочее окружение: Gnome Classic on Ubuntu Trusty

Запускаю: ПриложенияСистемные утилиты — Параметры системы — (Оборудование) ПринтерыДобавить — разворачиваю «Сетевой принтер» и в выводе почему-то отсутствует строка мастера: Windows Printer via SAMBA которая должна идти после «Узел LPD/LPR или принтер».

Чтобы это дело поправить нужно:

aollo@system:~$ sudo apt-get install python-smbc smbclient -y

aollo@system:~$ sudo service cups restart

и снова запустив мастер по управлению принтера вижу, что строка/меню теперь доступно для настройки:

Меню по подключению расшаренного принтера с Windows системы добавлено.Нажимаю на «Принтер Windows через SAMBA» и вписываю значения на подключение к расшаренному принтеру Windows

  • Принтер SMB: smb://10.7.8.178/ITUSB
  • Аутентификация: Запросить у пользователя, если требуется проверка подлинности

После нажимаю «Проверить» и ввожу данные для авторизации на доменной станции где был расшарен принтер HP LaserJet P2055, поля авторизации следующие:

  • Имя пользователя: <domain_user>
  • Домен: <domen>.local
  • Пароль: <domain_user_password>

и нажимаю OK, сразу же последовал ответ: «Общий принтер проверен. Этот общий принтер доступен

Ubuntu Trusty успешно видит общий принтер с Windows системы

Нажимаю OkВперед, после идет поиска драйверов, на выбор дается три варианта:

  1. Выберите принтер из базы данных
  2. Предоставить PPD-файл
  3. Поиск драйвера принтера для загрузки

Выбираю первый вариант.

После указываю драйвер:

Выберите драйвер: LaserJet p2055d

и нажимаю Вперед, Вперед, затем именую принтер:

  • Имя принтера: itusb
  • Описание: itusb

и нажимаю «Применить» — «Печать пробной страницы», но печать почему-то не пошла, открыв снова мастер настройки принтеров в системе: «Принтеры» и на добавленном принтере щелкнув левой кнопкой мыши для перехода в меню «Просмотр очереди печати» обнаружил, что «Состояние» со значением «Отложено до аутентификации»

При печати почему-то нужно пройти аутентификациюЩелкаю по данному состоянию посредством правой кнопки мыши и нахожу пункт «Авторизовать» и нажимаю на него, передо мной предстает окно аутентификации уже в текущей системе Ubuntu Trusty, указываю:

  • Имя пользователя: aollo
  • Пароль: <мой_пароль_на_системе_trusty_desktop>
  • Запомнить пароль: отмечаю галочкой

и нажимаю OK

Для проверки подлинности указываю свои login & passwd Ubuntu Trusty системы

Не помогло, все равно пишет «Отложено до аутентификации».

aollo@system:~$ sudo nano /etc/cups/printers.conf

<DefaultPrinter itusb>

#AuthInfoRequired username,password

</Printer>

aollo@system:~$ sudo service cups restart

И это тоже не сработало, в итоге заново настроил принтер, но

  • Принтер SMB: smb://<domen>.local/10.7.8.178/itusb
  • Марка и модель: HP LaserJet p2055

после авторизовался и отправляю на печать печать идет, а содержимое файла /etc/cups/printers.conf вернулось к исходному состоянию без правок выше.
Но вот, что да тестовая страница отправляется, но когда мне потребовалось отправить на печать документ у меня снова окно «Проверки доступа», ввел идентификационные данные от моей системы Ubuntu Trusty и документ успешно был распечатан.

Для проверки подлинности указываю свои login & passwd Ubuntu Trusty системы

Также спустя пару часов, печать пошла и без какого либо запроса ввода логина и пароля для проверки подлинности.

Делаю вывод, что разобрал шаги по добавлению расшаренного принтера с Windows системы которая к тому же имеет место быть в домене. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.


В этой статье я расскажу как сделать принтер общим, в операционной системе Linux, для локальной сети. Это даст возможность печатать с любого компьютера, локальной сети, на этом принтере.

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

Когда принтер подключен к компьютеру с операционной системой Windows сделать это не составит труда.

Достаточно в свойствах принтера поставить галочку в поле — разрешить общий доступ к принтеру.

На другом компьютере локальной сети вы просто устанавливаете сетевой принтер. Система найдет его в сети и вы сможете указать его для установки.

Рассмотрим вариант когда принтер подключен к машине с операционной системой Linux.

Вот тут не все так просто, для обычного пользователя.

Теоретически, принцип такой же как и в windows. Делаем принтер общедоступным в компьютере к которому он подключён. Потом настраиваем его на нужном нам компьютере как сетевой принтер.

Как я настраивал свой принтер Canon LBP 6000 — подробно в этой статье.

Для дальнейших действий:

  • принтер должен быть у вас подключен к компьютеру
  • настроен для печати, на этом компьютере.

Открываем общий доступ к принтеру.

В Linux печатью управляет CUPS.

Из википедии:

CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.

Состав CUPS:

диспетчер печати

планировщик

система фильтрации, преобразующая данные печати в формат, понятный принтеру

Back-end — система, отправляющая данные на устройства печати.

Чтоб сделать принтер общедоступным нам необходимо зайти в настройки службы CUPS .

Для этого вам необходимо в браузере зайти по адресу:

http://localhost:631/ 

Открыть вкладку Администрирование и поставить галочку в чек боксе — разрешить совместный доступ

принтер в linux - служба управления  печатью

При внесении различных изменений, система может спросить логин и пароль — нужно вводить логин и пароль администратора этой системы Linux.

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

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

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

Вам может в этом помочь статья про команды в линукс.

Как посмотреть свой MAС и IP описано в этой статье.

Теперь открываем браузер на компьютере, которому будем настраивать принтер.

Не зависимо от того какая операционная система на нем стоит, для всех систем это работает одинаково.

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

Например, если пк с принтером имеет адрес 192.168.1.41

http://192.168.1.41:631/printers

Перед вами откроется страница сервиса печати компьютера с общедоступным принтером.

Вам необходимо зайти на вкладку принтеры и выбрать нужный вам принтер.

В результате в адресной строке браузера вы увидите полный путь к нашему общедоступному принтеру.

сетевой путь до общедоступного принтера в linux

Теперь открываем мастер установки принтеров, на компьютере в котором нужно его настроить.

Для этого открываем панель управления, выбираем принтеры и устройства , установка сетевого принтера.

Внизу нажимаем — нужный принтер отсутствует в списке и в поле Выбрать общий принтер по имени — вставляем или прописываем этот путь.

настраиваем общедоступный принтер

Нажимаем далее, если спросит какой принтер указываем его из списка и далее.

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

Если у вас windows 10

Открываете параметры, устройства, принтеры и сканеры.

Выбираете пункт — необходимый принтер отсутствует в списке и указываете путь вручную.

установка расшаренного из linux принтера в windows 10

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

Если, что то Вам не понятно пишите в комментариях — отвечу и постараюсь помочь.

Если есть кому, что дополнить или поделиться опытом пишите в комментариях.

Всем Удачи!

3 августа 2021

Задача: есть принтер, подключённый к машине 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

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

Ссылки:
Решение было найдено, страшно сказать, на ЛОРе. Что поражает, так это то, что такую простую вещь никто нигде не освещает. Надеюсь, это поможет кому-то ещё.

Здравствуйте, читатели моего блога.
Имеем в наличии:

  • Fedora 31 Server edition на отдельном компьютере в локальной сети;
  • Windows 10 на отдельном компьютере в той же сети;
  • Принтер Kyocera FS-2100D.

Введение

Задача: наладить печать на принтере при подключении его к серверу Linux.

Т.к. у принтера нет сетевого интерфейса, подключаем его по USB к нашему серверу на базе Fedora 31. Скачиваем драйвер на сайте производителя по этому адресу
https://www.kyoceradocumentsolutions.ru/index/service_support/download_center.false.driver.FS2100D._.RU.html
Качаем из раздела Windows 7 файл KXDrv_6.3.0909.zip размером 74 Мбайт и еще архив из раздела Linux, он там один, нужно всего лишь прокрутить страницу вниз.
Устанавливаем драйвер под Windows 10, проверяем работоспособность принтера. Позже мы его укажем для использования, после подключения принтера по сети.

Переходим к настройке Linux

Копируем архив на сервер и извлекаем из него rpm-файл. Я сделал это с помощь ftp, а извлек в MC

kyodialog-0-0-x86-64-rpm


Прежде чем установить этот rpm необходимо разрешить ее зависимости.

Устанавливаем их командой:
dnf –y install cups-filters python-reportlab qt5-qtbase-gui&lt

Теперь kyodialog-0-0.x86_64.rpm установится без видимых проблем, кроме того, что qt.qpa.xcb не сможет подключиться к display, т.к. графической подсистемы на сервере нет.

Проверяем наличие cups в системе:
dnf install cups

Это можно сделать еще командой:
which cupsd

Запускаем сервис:
systemctl start cups

Даем доступ к web-админке не только на локальной машине:
sed -i -e 's/^Listen localhost:631$/Port 631/' /etc/cups/cupsd.conf

Настраиваем удаленное администрирование:
cupsctl --remote-admin --remote-any --share-printers --user-cancel-any

Добавляем правило в файерволл:
firewall-cmd --add-service=ipp
firewall-cmd --add-service=ipp --permanent

Перезапускаем сервис:
systemctl restart cups

Последний этап в настойке принтера на Linux-сервере

Переходим в браузере по адресу https://192.168.1.174:631/admin
У вас может быть другой IP компьютера с Fedora. Авторизуемся на странице.

cups-dobavit-printer-pervyj-shag

Нажимаем кнопку «Добавить принтер» и выбираем из списка «Установленные принтеры» конкретную модель принтера, в нашем случае это Kyocera FS-2100D.

cups-dobavit-printer

Разрешаем совместный доступ и запоминаем(записываем) его название.
Настройка принтера под Linux закончена.

Добавление принтера в Windows 10

Нажимаем кнопку «Пуск», пишем фразу «принтеры», видим пункт «Принтеры и сканеры». В открывшемся окне нажимаем «Добавить принтер или сканер» и далее нажимаем на «Необходимый принтер отсутствует в списке»
В открывшемся окне отмечаем радиокнопку «Выбрать общий принтер по имени» и указываем к нему путь (у вас может быть другой IP).
http://192.168.1.174:631/printers/Kyocera_FS-2100D

vybrat-obshchij-printer-po-imeni

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

Полезные ссылки:
https://docs.fedoraproject.org/en-US/fedora/f31/system-administrators-guide/servers/File_and_Print_Servers/

Понравилась статья? Поделить с друзьями:
  • Подключение принтера по локальной сети windows 11 pro
  • Подключение принтера по локальной сети windows 10 ошибка 0x0000011b
  • Подключение принтера по локальной сети windows 10 не видит принтер
  • Подключение принтера по tcp ip windows 10
  • Подключение принтера к ноутбуку windows 10 через сетевой кабель