Я искал ответ в течение нескольких дней, подумал, что пришло время спросить! Я только что установил свой первый сервер ubuntu, все работает отлично. У меня есть подключение к интернету, я могу пинговать каждый компьютер в нашей сети, но я не могу на всю жизнь понять, как добавить сетевой принтер в соответствии с CUPS или HPLIP.
У меня есть два принтера HP, один подключен к компьютеру по адресу 192.168.1.8 и один подключен к компьютеру по адресу 192.168.1.24. У нас в нашей сети 8 компьютеров Windows, каждый из которых может находить, просматривать и печатать. Я могу успешно выполнить ping оба этих IP-адреса из окна ubuntu, почему я не могу заставить эти принтеры работать?
Найдите кнопку «Новые принтеры» в возвратах CUPS: No printers found.
Любая помощь будет принята с благодарностью!
3 ответа
Вот как мои системы Ubuntu печатают на принтер, подключенный к Windows:
- Убедитесь, что у вас установлен smbclient ( sudo apt-get install smbclient );
- Открыть системные настройки / Принтеры / Добавить принтер;
- Выберите «Windows-принтер через Samba». На этом этапе вы сможете выполнять поиск по сети для принтеров с помощью кнопки «Обзор». Если кнопка «Обзор» выделена серым цветом и отображает сообщение о «pysmbc not installed», когда вы наводите на него курсор, вы попадаете в эта ошибка . В этом случае вам нужно будет указать правильное имя хоста и общее имя (вы можете найти их на машине Windows). Нажмите «Далее».
- Выберите HP из списка и нажмите «Далее».
- Выберите правильное имя модели из списка.
- Введите удобное имя.
Я не знаю, поможет ли это, но я печатаю в домашней сети принтер HP с CUPS, а сервер — это рабочий стол ubuntu, а не сервер ubuntu. Так я сделал это:
а. На серверной машине
- Системные настройки > принтеры
- В новом окне в меню на самом верху экрана: server > настройки
- В новом окне отметьте галочкой «публиковать общие принтеры, подключенные к этой системе «и нажмите OK
- В первом окне щелкните правой кнопкой мыши значок принтера и убедитесь, что «общий» отмечен галочкой.
В. На клиентской машине
Настройки системы > принтеры
Нажмите «добавить», «сетевой принтер», «найти сетевой принтер» и сервер был там.
Выберите его, нажмите «вперед» и убедитесь, что он использует CUPS (ipp: //).
Сервер Ubuntu может быть совершенно другим, и я не использую HPLIP, но могут быть сходства.
В отличие от большинства HP-принтеров, беспроблемно настраиваемых через hplip-gui HP LaserJet 1018/1020 — девайсы «удивительные», чтобы не сказать грубее. Они требуют, чтобы ему фирмварь загружали каждый раз при использовании. (чем и занимается виндовый драйвер).
Что надо сделать.
- Откройте консоль/терминал (ALT-F2 + «konsole») или «WIN + term»…
- Станьте рутом
- Подключите принтер
- Если драйвер не установлен — установите
-
- Кстати, не слушайте глупых советов отказаться для этого принтера от hplip и ставить foo2zjs — тут это не поможет, будет конфликт с модулем ядра usblp.
- Дальше нужно найти серийный номер принтера
- Выполните
(ну или зайдите через веб-интерфейс на http://localhost:631/printers/ и посмотрите свойства принтера)
- Заведите файл /etc/udev/rules.d/71-hplj.rules
- Перейдите в режим вставки — клавиша «I»
- Скопируйте туда следующий текст, где серийный номер принтера («serial=KP0XXXX») заменен на ваш ATTRS
- Где:
-device=hp:/usb/HP_LaserJet_xxxx?serial=KP0XXXX» — ищем в выводе команды lpinfo -v (у меня так: direct hp:/usb/HP_LaserJet_1020?serial=FN0BND3)
Установка cups
Запускаем и добавляем в автозапуск:
Проверяем — переходим на страницу http://localhost:631:

Файл настроек — /etc/cups/cups-files.conf .
Пользователя в неё:
Обновляем /etc/cups/cups-files.conf , меняем группу sys на printadmin :
Доступные в cups бекенды для подключения принтера:
Все утилиты cups — тут>>> .
Поиск принтера в сети
У нас принтер HP P1606dn, ищем:
Находим его DNS имя:
Резолвим его в IP:
Теперь — можно его подключить через веб-интерфейс cups , или использовать hplib . С cups у меня не получилось — не нашёлся ppd файл, а вот с htplib — заработало (правда — тоже не с первого раза).
Установка принтера с hplip

Но печать не идёт — «Filter failed«:

Проверяем лог /var/log/cups/error_log :
D [08/Dec/2017:11:49:50 +0200] [Job 4] Start rendering…
D [08/Dec/2017:11:49:50 +0200] [Job 4] Set job-printer-state-message to «Start rendering…», current level=INFO
D [08/Dec/2017:11:49:50 +0200] [Job 4] Processing page 1…
D [08/Dec/2017:11:49:50 +0200] [Job 4] Set job-printer-state-message to «Processing page 1…», current level=INFO
D [08/Dec/2017:11:49:50 +0200] [Job 4] STATE: +connecting-to-device
D [08/Dec/2017:11:49:50 +0200] [Job 4] STATE: +hplip.plugin-error
D [08/Dec/2017:11:49:50 +0200] [Job 4] prnt/hpcups/HPCupsFilter.cpp 486: m_Job initialization failed with error = 48
D [08/Dec/2017:11:49:50 +0200] [Job 4] *** Error in `HP_LaserJet_Professional_P1606dn’: free(): invalid pointer: 0x000055c586612c44 ***
D [08/Dec/2017:11:49:50 +0200] [Job 4] STATE: -connecting-to-device
D [08/Dec/2017:11:49:50 +0200] [Job 4] STATE: -media-empty-error,media-jam-error,hplip.plugin-error,cover-open-error,toner-empty-error,other
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: common/utils.c 69: unable to open /var/lib/hp/hplip.state: No such file or directory
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: common/utils.c 119: validate_plugin_version() Failed to get Plugin version from [/var/lib/hp/hplip.state]
Dec 08 12:21:22 setevoy-arch-work systemd[1]: Started Process Core Dump (PID 9380/UID 0).
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: common/utils.c 157: Plugin version is not matching
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: prnt/hpcups/HPCupsFilter.cpp 486: m_Job initialization failed with error = 48
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: common/utils.c 220: Inval > Dec 08 12:21:23 setevoy-arch-work systemd-coredump[9381]: Process 9375 (hpcups) of user 2 dumped core.
Dec 08 12:21:22 setevoy-arch-work hpcups[9375]: common/utils.c 157: Plugin version is not matching
Запускаем ещё раз печать, и — вуаля:
Готово.