Как найти принтер в локальной сети linux

Сетевой принтер (значок)

В этом небольшом руководстве мы будем шаг за шагом объяснять добавить новый сетевой принтер в наш дистрибутив GNU / Linux. Конфигурация этого типа принтеров может кому-то показаться сложной, но, как вы увидите, в большинстве случаев это не так уж и сложно, особенно если это принтеры популярных марок и моделей, с официальными драйверами для Linux и т. Д.

Что ж, если вы думаете о добавлении нового принтера, который есть у вас дома или в офисе и который используется как еще один сетевой ресурс, вам нужно будет только выполнить следующие шаги, чтобы оставить его полностью работоспособным и настроенным для начала его использования. . Для описания мы собираемся использовать два разных метода на основе дистрибутива Ubuntu, хотя в других это может быть аналогичная процедура …

Индекс

  • 1 Метод 1 (Инструмент настройки Ubuntu):
  • 2 Метод 2 (CUPS):

Метод 1 (Инструмент настройки Ubuntu):

Если вы используете свой инструмент настройки принтеров из панели управления Ubuntu, просто выполните следующие действия:

  1. Запустите инструмент принтера из панели конфигурации Ubuntu.
  2. Нажмите кнопку «Добавить».
  3. Щелкните «Сетевые принтеры» или сетевые принтеры на панели устройств.
  4. Затем «Найдите сетевой принтер» или найдите сетевой принтер.
  5. Если принтер уже подключен и подключен к вашей сети, введите URL-адрес вашего сетевого принтера в текстовом поле «Хост» и нажмите «Далее». Обычно URL-адрес — это IP-адрес вашего принтера в вашей сети. Например, если IP-адрес принтера 192.168.1.11, тогда URL-адрес будет http://192.168.1.11.
  6. Затем выберите производителя вашего принтера из имеющихся и нажмите «Далее».
  7. Следующим шагом мастера будет добавление модели вашего принтера, и мы продолжим …
  8. Теперь мы собираемся ввести имя, которое мы хотим дать сетевому принтеру, местоположение и описание, когда его спросят.
  9. Продолжаем и при применении данных все должно быть ОК. Вы можете распечатать тестовую страницу в соответствии с инструкциями мастера, нажав соответствующую кнопку. Если процесс прошел успешно, тестовая страница должна печататься …

Но эта процедура не будет одинаковой во всех дистрибутивах …

Метод 2 (CUPS):

Если вы ищете что-то более общее для других дистрибутивов, мы собираемся дать вам шаги процедуры настройки с использованием CUPS:

  1. Прежде всего, убедитесь, что ваш принтер подключен и правильно настроен в сети, в которой вы будете его использовать. Возможно, вам будет интересно установить такие пакеты, как Samba, для совместного использования ресурсов в гетерогенных сетях, если у вас также есть компьютеры с Windows. Если нет, переходите к следующему шагу …
  2. Теперь откройте часто используемый браузер, неважно какой.
  3. В адресной строке введите: «localhost: 631» без кавычек и нажмите ENTER, чтобы перейти к этому адресу, который будет вашим собственным IP через порт 631.
  4. Теперь вы увидите веб-интерфейс конфигурации CUPS и щелкните вкладку «Администрирование».
  5. Затем перейдите в Добавить принтер, чтобы добавить новый принтер.
  6. Теперь вы должны ввести имя пользователя и пароль администратора и нажать ENTER.
  7. Выберите, хотите ли вы принтер, в разделе «Обнаруженные сетевые принтеры» или выберите «Протокол печати через Интернет» и нажмите, чтобы продолжить.
  8. Теперь настало время ввести адрес сетевого принтера в текстовое поле, которое отображается для него. URL-адрес, как я объяснил ранее, будет IP-адресом принтера типа «http://192.168.1.11» и нажмите «Соединение» и «Продолжить».
  9. Теперь введите правильное имя принтера, описание и местоположение в соответствующие поля. Наконец, «Добавить принтер» и «Продолжить».
  10. Пришло время выбрать производителя принтера в Makes and Continue.
  11. Затем модель нашего принтера выбираем из списка драйверов и «Добавить принтер».

После этого все готово … Попробуйте распечатать тестовую страницу.

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

В этой статье я расскажу как сделать принтер общим, в операционной системе 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

Содержание

Если к компьютеру подключен принтер, к нему можно предоставить общий доступ для любого пользователя сети. Тип принтера не имеет значения, если он установлен и подключен к компьютеру с помощью кабеля универсальной шины USB или кабеля другого типа. Любой выбранный пользователь сети сможет использовать принтер, если ему удастся найти в сети компьютер, к которому подключен принтер.

Термины и названия пунктов меню сделаны для Windows XP и Ubuntu 10.04 Lucid Lynx.

Принтер установлен на Windows (samba)

~ Подключаем принтер к компьютеру и устанавливаем на него драйвера в ОС Windows;
~ Проверяем корректно ли функционирует принтер, если все порядке переходим к следующему шагу;
~ Делаем общий доступ к данному принтеру. //Панель управления->Принтеры и факсы// щелкаем правой клавишей мыши по установленному принтеру, и выбираем в появившемся меню пункт "Общий доступ". В появившемся окне напротив пункта "Общий доступ к данному принтеру" ставим флажок и нажимаем кнопку "ОК".
~ В Ubuntu: //Система->Администрирование->Печать// в открывшемся окне нажимаем кнопку "Добавить": //Сетевой принтер->Windows Printer via Samba//. Кнопка "Browse" открывает окно с выбором сети, компьютера и принтера.

Принтер установлен на Ubuntu

Если у Вас принтер фирмы Hewlett Packard, желательно обновить пакет Hewlett-Packard’s Linux Imaging and Printing software.

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

~ Устанавливаем принтер в Ubuntu: //Система->Администрирование->Печать// нажмите кнопку "Добавить", система определит подключенный к компьютеру принтер и устанавит его. Если этого не произошло, обратитесь к документации по установке Вашего принтера. 
~ Делаем общий доступ к данному принтеру. В окне "Печать" меню //Сервер->Settings//. Ставим галочки в пунктах: 
  * Show printers shared by other systems;
  * Publish shared printers connected to this system.
~ Нажимаем на установленный принтер и проверяем галочки Shared.

Установка сетевого принтера на Ubuntu

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

  • Открываем окно печати: Система→Администрирование→Печать;

  • В окне «Печать» нажимаем кнопку «Добавить», затем переходим Сетевой принтер→Проткол сетевой печати (ipp) и в поле «Host» пишем:

http://192.168.0.1:631/printers/Laserjet-2300
  1. 192.168.0.1 — ip адрес компьютера к которому подключен принтер;

  2. Laserjet-2300 — имя подключенного принтера (точно такое же наименование, как и на компьютере c ip адресом 192.168.0.1).

Если вы не уверены какой ввести адрес для доступа к принтеру, просто откройте браузер, введите адрес

http://<адрес сервера>:631/

(в нашем примере адрес сервера 192.168.0.1) и на появившейся странице найдите ссылку «принтеры», а на открывшеся странице выберите нужный принтер. Полученный адрес в браузере и будет искомым.

  • Нажимаем на кнопку «Verify» для проверки доступности принтера.

Установка сетевого принтера на Windows

  • Теперь установим сетевой принтер на Windows: Пуск→Настройка→Принтеры и факсы

  • В открывшемся окне «Принтеры и факсы»: Установка принтера→Далее→Сетевой принтер или принтер подключенный к другому компьютеру→Подключиться к принтеру в Интернете, в домашней сети или в интрасети и вводим в поле такой же адрес, как и в примере для ubuntu.

  • Возможно придется поставить драйвер для подключаемого принтера.

Ссылки

  • МАРДЖОРИ — печать в Ubuntu и Windows.

Состояние перевода: На этой странице представлен перевод статьи 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

Contents

  1. Overview
  2. Background
  3. Ubuntu print server

    1. Ubuntu print server compatible with Windows (Samba)
  4. Printing from Ubuntu
  5. Printing from Windows
  6. Troubleshooting

Overview

Ubuntu supports printer sharing over networks, so you can print from your Ubuntu machine, your Windows machine, etc, to another Ubuntu or Windows machine that has a printer attached (ie a «Ubuntu print server» or «Windows print server»).

Background

printingScheme.png

Ubuntu uses the Common UNIX Printing System («CUPS») to handle printing. CUPS uses the Internet Printing Protocol («IPP») as the basis for managing print jobs and queues. Other protocols are also supported (LPD, SMB, AppSocket a.k.a. JetDirect), some with reduced functionality.

CUPS printer configuration and management is handled by the Printer Admin utility launched from the Gnome menu — System -> Administration -> Printing (If the menu item does not exist you need to add the command system-config-printer to the menu). Also IPP provides web services so after you have configured CUPS appropriately, you can access the printers and jobs via your web browser.

When a locally attached printer is defined, eg using the Printer Admin utility, that printer is automatically published from this «print server» host to the network, depending on the server directives in the CUPS configuration file. A remote Ubuntu «client» host can then be able to see and use the printer attached to the server. The network printer automatically appears in the client’s Printer Admin utility. It simply pops up if CUPS is up and configured correctly and disappears if you stop CUPS at either the Print Server or your local machine.

Ubuntu print server

The Print Server is the Ubuntu computer that is directly connected to the printers.

  1. On the server machine (the one the printer is attached to), open System -> Administration -> Printing (If the menu item does not exist you need to add system-config-printer to the menu). . This will open the Printer Configuration window. system-config-printer.png

  2. Select Server in the menu bar, and then Settings. This will open the Basic Server Settings window.

  3. Check the second box:

    Publish shared printers connected to this server If this computer acts as both a Print Server and a client (it does need access to a printer connected to another computer), select also the first box, «Show printers shared by other systems».Server-setting.png

  4. OK

  5. Right click the printer and check the Shared option, if not checked yet

  6. Check that users that you want to be able to use the printer are not excluded. See Properties>Access Control. The default settings may be set to «deny printing for everyone except …»

inkjet_settings1.png.

But you might want to «allow printing for everyone».

access_control_allow_everyone.png

Ubuntu print server compatible with Windows (Samba)

If your Ubuntu print server shall be able to work also with Windows clients, you must first make sure that the SAMBA package is installed (e.g. using Synaptic package manager). Then, do a little configuration change to SAMBA. In brief, you must uncomment the following lines in /etc/samba/smb.conf — open terminal and run:

gksudo gedit /etc/samba/smb.conf

In the [printers] section:

   browseable = yes
   guest ok = yes

When done, restart Samba:

sudo service smbd restart
sudo service nmbd restart

There is a dedicated page in the official documentation which gives more details.

Also, one would want to allow the following ports through a firewall (ufw for example) via:

sudo ufw allow 139/tcp
sudo ufw allow 445/tcp
sudo ufw allow 137/udp
sudo ufw allow 138/udp

For more on this, please see here.

Printing from Ubuntu

Now let’s configure the client (the Ubuntu computer from where you want to print):

  1. System -> Administration -> Printing

  2. Add — Network printer

    • Click Find network printer

      • Specify the host IP address or name. (It may also work without, try) (IP address worked for me, hostname did not.)
      • Click Find

    • Printers on the target machine should be found, no matter whether they are connected using CUPS or SAMBA.
      • BUT if both protocols are available, e.g. because you have shared your printer on a Linux box both using CUPS and Samba, prefer CUPS (ipp://) over Samba (smb://), because you won’t be prompted to install a driver in general.

      findNetworkPrinterScreenshot.png

  3. You **may** be prompted to select a driver. Select your model in the list.
    • (to be done) What to do if driver is not in the list

Printing from Windows

Once your Ubuntu print server is set up using SAMBA as described above, you can add the printer in Windows as follows:

  1. Start
  2. Devices and Printers
  3. Add a printer
  4. Add a network, wireless or Bluetooth printer
  5. Click The printer that I want isn’t listed (unless a miracle happens)

  6. Enter the address manually (\servernameMyPrinter). Be sure to respect uppercase/lowercase.

Step 1

Step 2

Note that searching or browsing for printers in Windows is notoriously unreliable, as it heavily depends on the network setup. Therefore, it is recommended to enter the printer address manually as shown.

Windows will then probably complain about a missing driver, and offer you to choose one manually. This is the easiest option, so select your printer manufacturer and model from the dialog box. (Alternatively, the Samba configuration could be improved so that the driver would be automatically downloaded.) If your printer model isn’t listed, you may try the «Generic» printer.

Tips: You can avoid intermediate SAMBA buffer using direct connection to CUPS/IPP Ubuntu server from Windows workstation. You should manually specify «http://hostname:631/printers/MyPrinter» IPP URL and select printer driver.

Windows print dialog window (Ctrl-P) can take long time (about 30 seconds) to appear. You can reduce the connection time to CUPS IPP printer by disabling option Automatically detect settings in «Control Panel/Internet Explorer -> Internet Options -> Connections -> LAN settings».

Troubleshooting

1. Bypassing firewall.

If there is an firewall either on print server or the client side, there might appear a communications problem. Use this command to update the firewall to get through.

iptables -A INPUT -p tcp —dport 631 -j ACCEPT

  • This rule is used for IPP only. If you’re using other protocol, such as SAMBA, you have to adapt.

    You might need to use this rule on both sides (server & client) if the firewall is being used on both of them. To apply this rule after each start/restart of the system, use /etc/rc.local .

2. Networking issues.

Be careful about using different network masks/subnets on your network where you would like to share the printer.

If the subnets differs, e.g. on the print server there would be a /24 (255.255.255.0) netwok mask configured, and e.g. on the clients there would be a /16 (255.255.0.0) network mask — perhaps provided by the DHCP server, this might cause a problem that clients won’t be able to detect any shared printer on the server, even if other communications between print server and clients would be possible (e.g. ICMP, ssh) and successful.

If such situation happens, you have to unify the network masks/subnets on all of your stations, e.g. use /24 (255.255.255.

3. IP address

Generally, it is a good idea to assign your print server a static IP address. Instead, using its host name is also possible, but functionality will then depend on proper configuration of your home router, name service, etc.

4. IPv6 Windows (since XP) can print over IPv6 to Ubuntu Linux (tested between Windows XP SP3 and Ubuntu Linux 8.10). Make sure both the Windows and Ubuntu have IPv6 connectivity. You should tick «Allow Printing from the Internet» on the Ubuntu machine. Then use the URL (which resolves to IPv6) of the Ubuntu machine as described above.

5. Mac OS X 10.5.

Will not find your network printer unless you go to the terminal and run cupsctl BrowseRemoteProtocols=cups (see the CUPS 1.4 documentation at http://www.cups.org/documentation.php/doc-1.4/sharing.html). After doing so, you may need to set the network printer as your default printer for it to show up in program «print» menus.


CategoryNetworking

Понравилась статья? Поделить с друзьями:
  • Как правильно найти суть текста
  • Как найти радиус угла стола
  • Как найти музыку в стиме
  • Потерял айфон как найти через другой андроид
  • Как исправить текст в wordpress