Главная → Просто о сложном → Для веб-программистов → Расшаривание принтера в 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>
The factual accuracy of this article or section is disputed.
Вам также может потребоваться добавить:
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 через SAMBA» и вписываю значения на подключение к расшаренному принтеру Windows
- Принтер SMB: smb://10.7.8.178/ITUSB
- Аутентификация: Запросить у пользователя, если требуется проверка подлинности
После нажимаю «Проверить» и ввожу данные для авторизации на доменной станции где был расшарен принтер HP LaserJet P2055, поля авторизации следующие:
- Имя пользователя: <domain_user>
- Домен: <domen>.local
- Пароль: <domain_user_password>
и нажимаю OK, сразу же последовал ответ: «Общий принтер проверен. Этот общий принтер доступен.»
Нажимаю Ok — Вперед, после идет поиска драйверов, на выбор дается три варианта:
- Выберите принтер из базы данных
- Предоставить PPD-файл
- Поиск драйвера принтера для загрузки
Выбираю первый вариант.
После указываю драйвер:
Выберите драйвер: LaserJet p2055d
и нажимаю Вперед, Вперед, затем именую принтер:
- Имя принтера: itusb
- Описание: itusb
и нажимаю «Применить» — «Печать пробной страницы», но печать почему-то не пошла, открыв снова мастер настройки принтеров в системе: «Принтеры» и на добавленном принтере щелкнув левой кнопкой мыши для перехода в меню «Просмотр очереди печати» обнаружил, что «Состояние» со значением «Отложено до аутентификации»
Щелкаю по данному состоянию посредством правой кнопки мыши и нахожу пункт «Авторизовать» и нажимаю на него, передо мной предстает окно аутентификации уже в текущей системе Ubuntu Trusty, указываю:
- Имя пользователя: aollo
- Пароль: <мой_пароль_на_системе_trusty_desktop>
- Запомнить пароль: отмечаю галочкой
и нажимаю OK
Не помогло, все равно пишет «Отложено до аутентификации».
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 и документ успешно был распечатан.
Также спустя пару часов, печать пошла и без какого либо запроса ввода логина и пароля для проверки подлинности.
Делаю вывод, что разобрал шаги по добавлению расшаренного принтера с 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, в локальной сети, нам необходимо знать ip адрес компьютера к которому он подключен.
Вам может в этом помочь статья про команды в линукс.
Как посмотреть свой MAС и IP описано в этой статье.
Теперь открываем браузер на компьютере, которому будем настраивать принтер.
Не зависимо от того какая операционная система на нем стоит, для всех систем это работает одинаково.
Пишем путь к системе управления принтером, указав вместо localhost, IP адрес компьютера к которому принтер подключен.
Например, если пк с принтером имеет адрес 192.168.1.41
http://192.168.1.41:631/printers
Перед вами откроется страница сервиса печати компьютера с общедоступным принтером.
Вам необходимо зайти на вкладку принтеры и выбрать нужный вам принтер.
В результате в адресной строке браузера вы увидите полный путь к нашему общедоступному принтеру.
Теперь открываем мастер установки принтеров, на компьютере в котором нужно его настроить.
Для этого открываем панель управления, выбираем принтеры и устройства , установка сетевого принтера.
Внизу нажимаем — нужный принтер отсутствует в списке и в поле Выбрать общий принтер по имени — вставляем или прописываем этот путь.
Нажимаем далее, если спросит какой принтер указываем его из списка и далее.
Так же если нет вашего принтера в списке можно выбрать установить с диска и указать, на заранее подготовленный, файл — драйвер вашего принтера.
Если у вас 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
Прежде чем установить этот rpm необходимо разрешить ее зависимости.
Устанавливаем их командой:
dnf –y install cups-filters python-reportlab qt5-qtbase-gui<
Теперь 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. Авторизуемся на странице.
Нажимаем кнопку «Добавить принтер» и выбираем из списка «Установленные принтеры» конкретную модель принтера, в нашем случае это Kyocera FS-2100D.
Разрешаем совместный доступ и запоминаем(записываем) его название.
Настройка принтера под Linux закончена.
Добавление принтера в Windows 10
Нажимаем кнопку «Пуск», пишем фразу «принтеры», видим пункт «Принтеры и сканеры». В открывшемся окне нажимаем «Добавить принтер или сканер» и далее нажимаем на «Необходимый принтер отсутствует в списке»
В открывшемся окне отмечаем радиокнопку «Выбрать общий принтер по имени» и указываем к нему путь (у вас может быть другой IP).
http://192.168.1.174:631/printers/Kyocera_FS-2100D
Выбираем нашу модель, соглашаемся использовать установленный ранее драйвер.
Принтер готов к использованию.
Полезные ссылки:
https://docs.fedoraproject.org/en-US/fedora/f31/system-administrators-guide/servers/File_and_Print_Servers/