Ос windows не удается подключиться к принтеру cups

Обновлено: 02.07.2024

на странице ip:631
принтер отображается.
если в настройках вывести пробную страницу принтера на печать даже шуршит шестернями. но не печатает.

на странице cups:

samsung samsung Samsung ML-1210 Foomatic/gdi (recommended) ожидает - "Принтер подключен."

в /etc/printcap ничего нет.

установил по новой принтер взяв на этот раз дрова от cups
в итоге:

в очереди висит, но не печатает.

как тут быть?
подскажите.

изменил на usb:/dev/unlpt0 тот же результат, шумит но не печатает..

Виноват.
все заработало.
удалил foomatic-filters установил cups-filters все заработало.
хотя дрова пишет что они foomatic
и пришлось перезагрузится. так как ни ресет cups\lpd не помогли.

фух, настроил.. пошел теперь его по сети шарить. надеюсь тут без глюков.

кто ставил такой принтер, чего копивароть надо в папку print$\W32X86
встал на команде:
smbclient -H //localhost/print$ -Uroot -c 'mkdir W32X86;put /var/spool/cups/tmp/470334eed261d W32X86/hp2420_y3.ppd;put /usr/local/share/cups/drivers/ps5ui.dll W32X86/ps5ui.dll;put /usr/local/share/cups/drivers/pscript.hlp W32X86/pscript.hlp;put /usr/local/share/cups/drivers/pscript.ntf W32X86/pscript.ntf;put /usr/local/share/cups/drivers/pscript5.dll W32X86/pscript5.dll'
а вторая для принтеров hp. подобных файлов нема на виндовой машине. Вы куда-то в дебри полезли.
Samsung ML-1210 (1200) для FreeBSD беспроблемный принтер.
Был у меня такой, пока благополучно не умер.
Принтер был прикручен к FreeBSD, в Капсе расшарен и все Вендотачки на него печатали
без проблем, на Вендотачки ставились Вендовые дрова. А вы Самбе "рассказали", что принтер есть?
Самба какая установлена? не, я понимаю, что я дурак, но не настолько же.
раздел глобал:

принтер и папка для настроек

на время установки дров:


при заходе на шару \\freebsd
имеем:
2 принтера:
-printer
-Virtual_PDF_Printer
берут список отсюда:

и один каталог "принтеры и факсы" при заходе в который пусто, можно только установить принтер.
НО:
нажимаешь на printer или Virtual_PDF_Printer
показывает окно:
вы подключаетесь блаблабла - ОК - вы хотите установить драйвера - ОК - выбираем дрова котрые установлены на хр - ок - и облом:"windows не удается подключиться к принтеру. введено неправильно имя или принтер утерял подключение. нажмите справка"
если нажать в принтеры и факсы - добавить принтер - выползает:
"у вас недостаночно привелегий для установки дров на принтер \\freebsd. хотите выполнить программу от другого пользователя" "у вас недостаночно привелегий для установки дров на принтер \\freebsd. хотите выполнить программу от другого пользователя"
Судя по всему прав действительно не хватает,
посмотрите права доступа на /usr/local/share/cups/drivers

права на /usr/local/share/cups/drivers я и показывал выше постом.

сделал:
add path 'unlpt*' mode 0666

у вас недостаночно привелегий для установки дров на принтер \\freebsd.
что-то с правами доступа.
Смотреть в логах Капса и Самбы, может там и ответ будет.
Попробуйте nobody:nobody на папки

в логах samba пусто, только отчет о перезапуске

если там где дрова должны лежать - сделано давно.

на спуллер тоже стоит:

и все толку все равно нет.

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

в общем закончил работать, теперь домой пришел.

1. не печатает на win 7(хотя если напрямую подключить, то печатает(настроил более-менее с бубном)), на хр и планшете все печатает.
дрова на компьютере(для локального и сетевого принтеров) абсолютно идентичные, кроме порта.

2. samba все также отфутболивает.
вот конфиги:
/usr/local/etc/cups/cupsd.conf

ServerAlias freebsd
LogLevel debug
PageLogFormat
Listen 192.168.7.1:631
Listen /var/run/cups.sock
Browsing On
BrowseLocalProtocols dnssd
DefaultAuthType Basic
WebInterface Yes
<Location />
Order allow,deny
Allow All
</Location>
<Location /admin>
Order allow,deny
Allow from 192.168.7.0/24
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow from 192.168.7.0/24
</Location>
<Policy default>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set- Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Ge t-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS- Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Print er-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Acti vate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedu le-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit All>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
</Policy>
<Policy authenticated>
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set- Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Ge t-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS- Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Print er-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Acti vate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedu le-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
<Limit All>
Order deny,allow
Allow from 192.168.7.0/24
</Limit>
</Policy>

/usr/local/etc/smb4.conf

/usr/local/etc/printcap

ls -l /var/spool/

total 40
drwxrwx--- 2 smmsp smmsp 7168 17 апр 03:09 clientmqueue
drwx--x--- 3 root nogroup 512 17 апр 20:44 cups
drwx------ 2 root cups 512 27 мар 18:17 cups-pdf
drwxrwxr-x 2 uucp dialer 512 11 апр 20:31 lock
drwxr-xr-x 2 root daemon 512 12 авг 2015 lpd
drwxr-xr-x 2 root daemon 512 12 авг 2015 mqueue
drwx------ 2 root daemon 512 12 авг 2015 opielocks
drwxr-xr-x 3 root daemon 512 27 мар 18:20 output
drwxr-xr-x 2 nobody nogroup 512 27 мар 19:13 samba

ls -l /usr/local/share/cups/drivers

total 28
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 IA64
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32ALPHA
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32MIPS
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 W32PPC
drwxrwxr-x 4 nobody nogroup 512 27 мар 21:02 W32X86
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 WIN40
drwxrwxr-x 2 nobody nogroup 512 27 мар 19:34 x64

smbd -V

cat /etc/devfs.conf | grep lp

own ulpt0 root:cups
perm ulpt0 0666
own unlpt0 root:cups
perm unlpt0 0666

cat /etc/rc.conf | grep devf

cat /usr/local/etc/cups/printers.conf

отчет о печати(то что жирным выделено, было распечатано):

printer-33 Неизвестное Приостановлено пользователем 36k Неизвестно Завершено
Sun Apr 17 21:08:47 2016

printer-32 Test Page anonymous 1k Неизвестно Завершено
Sun Apr 17 21:05:45 2016

printer-31 Неизвестное Приостановлено пользователем 1100k 1 Завершено
Sun Apr 17 21:03:20 2016

printer-30 Неизвестное Приостановлено пользователем 1100k 1 Завершено
Sun Apr 17 20:44:08 2016

printer-29 Неизвестное Приостановлено пользователем 113k 1 Завершено
Sun Apr 17 20:38:26 2016

printer-28 Test Page anonymous 1k Неизвестно Завершено
Sun Apr 17 20:33:30 2016


Любой браузер? Если запустить другую ОС, ошибка повторится? Если подключиться netcat'ом или telnet'ом, будет также пустота?

покажите
netstat -lan| grep 631

$ netstat -lan| grep 631

tcp 0 0 192.168.1.1:631 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp6 0 0 ::1:631 . * LISTEN udp 0 0 0.0.0.0:631 0.0.0.0:*



Печать с учетом информации о местоположении Нет Нет Нет

//Забыл — на винфак!

amorpher, Я в глубине души понимаю, но никак не могу себе представить, что именно этой версии мешает отображать вебку cups и webmin. Не очень хотелось бы менять предустановленную лицензию hp на ultimate пиратский. Линуксы на личных компах, к несчастью, не рассматриваются в силу особенностей аудитории :(


что именно этой версии мешает отображать вебку cups и webmin.

>ЖАДНОСТЬ ЖжОшь. :))


Может в регедите какой костыль есть, но это опять же — на винфак :)


Уверен на 99,99%, что дело в обрезанном хоуме.

Похоже на то, большое спасибо! Если у кого какие будут мысли, пишите, буду благодарен!


Возможность смены фонового рисунка рабочего стола Нет (Windows 7 starter)

Кто будет юзать дерьмецо в котором нельзя убрать скучные обои?


Бизинесс же, йоу ;)

После долгого обдумывания ситуации и вдумчивом изучении известных неисправленных багов семерки решил я таки проблему. Дело, и правда, было в винде, однако переустановка на ultimate не изменила ситуации. Может кому поможет.

Все эти проблемы наблюдались только по WiFi, при соединении машины проводом к роутеру проблемы исчезали. Все проблемы наблюдались только в windows7. Xp, ubuntu работали как по проводу, так и по wifi нормально во всех отношениях.

Источник проблемы: семерка некорректно автоматически выставляет mtu у беспроводных соединений.

Итак. Предположительно, сервис печати CUPS — это мощное решение, позволяющее организовать централизованное управление принтерами в компании. Так оно и есть, но в процессе настройки потребуется провести некоторое время в поисках решения в Google множества мелких неочевидных проблем, особенно, если ваша необходимость выходит за рамки стандартных мануалов по настройке.

В статье будет описана установка принтсервера CUPS на Ubuntu Server в сети с работающим доменом Active Directory, хотя его наличие совершенно не обязательно и инструкции по настройке взаимодействию с ним можно будет смело пропустить, его настройка, а также настройка клиентских машин Linux и Windows для взаимодействия с данным принт-сервером.

Настройка принтсервера

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

Заходим на принтсервер любым удобным способом и обновим на нем пакеты:

Далее проверим, установлен ли CUPS на сервере:

Если вывод выглядит как то так:

то CUPS установлен, если вывода нет — устанавливаем CUPS:

Теперь настроим административный доступ к веб-интерфейсу CUPS. Все файлы конфигурации находятся по пути /etc/cups/. Для начала, на всякий случай сделаем резервные копии основных файлов конфигурации CUPS:

Впрочем, если вы этого не сделали — не беда, образцы данных файлов по умолчанию лежат по пути /usr/share/cups. Также нужно упомянуть, что вы можете проверить любые добавленные опции в файлы конфигурации CUPS с помощью команды:

Если вы что-то напутали, опечатались или использовали опцию, которая уже не поддерживается CUPS'ом, то вывод команды отразит данные ошибки.

Но приступим наконец к настройке. После любых изменений файлов в папке /etc/cups/ для получения эффекта необходимо перезапускать сервис CUPS:

А если вы отредактировали файл /etc/cups/cups-browsed.conf, то за него отвечает отдельный сервис cups-browsed, который тоже нужно перезапустить:

Первой незакомментированной опцией является

Она определяет минимальную информативность логов CUPS. Лог-файлы CUPS находятся по пути /var/log/cups/. На время установки, настройки и отладки принтсервера будет разумным перевести логгирование в debug-режим. Для этого изменим warn на debug2:

По умолчанию CUPS слушает входящие подключения только от localhost, то бишь на loopback интерфейсе. Чтобы убедится в этом, можете выполнить команду

Одна из строк будет выглядеть приблизительно так:

Либо же вы можете разрешить CUPS'у слушать подключения со всех адресов

Следующий момент настройки — это обнаружение сетевых и расшаренных принтеров.

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

Далее идут настройки аутентификации:

Определяет права доступа к веб-интерфейсу CUPS, а также к его административной части. Чтобы пользователь user имел право на администрирование CUPS, его нужно добавить в системную группу lpadmin:

Вообще, группы, которым позволен административный доступ к CUPS, определяются в файле конфигурации cups-files.conf в блоке

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

Теперь перейдем к блоку <Location />:

Order allow,deny означает, что запрещены подключения отовсюду, если специально не указано разрешение. То есть нужно добавлять IP-адреса, подсети, хосты или хосты по маске (.example.com) в виде "Allow from [разрешенный адрес]*":

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

Приступим к настройке административного доступа к CUPS на принтсервере. Определитесь, с какого/каких IP и/или подсетей вы собираетесь подключаться к CUPS, и добавить их по аналогии с блоком <Location />:

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

Если нужная вам локализация, например ru, есть, то добавьте строчку в /etc/cups/cupsd.conf:

Самым простым способом это можно сделать так:

Если вы хотите, чтобы принтсервер примимал любые обращения, или не хотите заморачиваться, то можно добавить это:

Еще нужно взглянуть внутрь файла /etc/cups/cups-browsed.conf. Этот файл управляет тем, как принтсервер будет искать принтеры в сети и проводить широковещательную рассылку своих принтеров. Я предлагаю совершенно отключить опцию рассылки. Принтсервер будет искать принтера в сети, но с него принтеры на клиентские машины будут подключатся вручную. Ниже будет описано, почему. Пока же мы находим строку BrowseRemoteProtocols dnssd cups:

На этом настройку принтсервера приостанавливаем и переходим к настройке клиентких машин Windows и Linux. Требования к ним такие — позволять посылать на себя задания печати принтсерверу, и посылать задания на печать именно (и только) на принтсервер в случае необходимости печати на сетевой принтер.

Теперь выполним аналогичную операцию на клиентской машине Linux c именем хоста linux1. Вообще, данная часть будет куда объемнее, так как у клиентской машины есть свой сервис CUPS и его тоже нужно настроить во многом так же, как и принтсервер, за исключением его подчиненной роли в организации печати.

Исправление ошибки обращения к CUPS через loopback по имени хоста

В большинстве инструкций по введению Linux в домен одним из пунктов является приведение файла /etc/hosts приблизительно к такому виду:

Почему то CUPS не в силах ассоциировать обращение через 127.0.1.1, то есть через Loopback интерфейс, с именем хоста.

Исправляется эта ошибка двумя способами. Если в вашей сети IP адреса статичные, то в файле /etc/hosts исправьте 127.0.1.1 на IP адрес внешнего сетевого интерфейса клиентской машины, например:

Либо же, раз уж вы вводите Linux в домен, то это предполагает, что в вашей сети работает DHCP и DNS сервер Active Directory. В таком случае просто закомментируйте данную строчку:

Разницы в работоспособности или проблем от данного действия пока обнаружено не было.

Настройка адресов прослушивания подключений к CUPS у клиентских машин Linux

Заходим на linux1 любым удобным способом. Редактируем файл /etc/cups/cupsd.conf:

Находим, добавляем или изменяем в нем строки:

Настройка адресов прослушивания подключений к CUPS

В предыдущем блоке мы настроили возможность подключения к CUPS. Теперь перейдем к настройке разрешений на доступ к печати, а также к административным страницам сервиса CUPS на хосте linux1. Вновь открываем, если закрыли, файл /etc/cups/cupsd.conf и переходим к редактированию блоков <Location />, <Location /admin>, <Location /admin/conf>, <Location /admin/log>:

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

Еще у клиетской машины Linux, в данном случае linux1, необходимо отредактировать файл /etc/cups/cups-browsed.conf:

Настройка административного доступа

Еще пару слов по поводу административного доступа, как на WEB-интерфейс CUPS на принтсервере, так и на любой клиентской машине Linux. Даже при условии наличия 30-50 компьютеров нужно унифицировать авторизацию на CUPS, а не держать в голове или еще где пароли каждой машины. И это важно на всех Linux машинах, ведь чтобы добавить принтер на сервер, его сперва нужно установить локально. Я вижу несколько путей.

Первый — на каждой системе Linux создать пользователя printeradmin (например) и добавить в группу lpadmin:

Второй вариант практически идентичен и предлагает создать группу в системе, например, printersadmins, добавить туда требуемого администратора CUPS (printeradmin, user):

Затем нужно найти в файле /etc/cups/cups-files.conf строку

и добавить через пробел одну или несколько групп пользователей с правом администрировать CUPS.

И наконец, третий вариант. Сделать администраторами принтсервера и CUPS'ов клиентских машин доменную группу пользователей. Для этого принтсервер и клиентские машины Linux должны быть присоединены к домену AD. Есть несколько методов подключения Linux к домену Windows, но, насколько я знаю, основные это подключение с помощью winbind и с помощью SSSD(realmd). Описание данных методов не входит в статью, поэтому остановлюсь только на моментах которые касаются конкретно CUPS'а.

Настройка использования доменных групп пользователей для администрирования CUPS

Каждый метод присоединения к системе централизованной авторизации в Linux создает специальный файл-"трубу" (pipe), сквозь который приложения могут посмотреть список пользователей домена. Чтобы так мог сделать CUPS, нужно разрешить ему использовать pipe в AppArmor'е для аутентификации пользователей. AppArmor — модуль безопасности Linux по управлению доступом. Ограничивает определенные программы набором перечисленных в его политиках файлов. Чтобы добавить CUPS'у право использовать пользователей и группы домена через winbindd, нужно добавить в файл /etc/apparmod.d/local/usr.sbin.cupsd такую строку:

Если Linux введен в домен через SSSD, то необходимо указать расположение его pipe в /etc/apparmod.d/local/usr.sbin.cupsd, добавив туда строку:

К тому же, в случае с SSSD это позволяет пройти аутентификацию (узнать кто заходит), но чтобы пройти авторизацию (узнать есть ли право у пользователя управлять CUPS) необходимо также добавить в файл конфигурации SSSD /etc/sssd/sssd.conf строку:

Это, условно выражаюсь, дает CUPS'у право "заглядывать" в SSSD.

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

Добавим CUPS'у указание грузиться после SSSD. Отредактируем файл сервиса cups.service по пути /lib/systemd/system/, добавив инструкцию After в секцию [Unit]:

Таким образом CUPS настроен на Basic авторизацию через домен, то есть авторизацию с помощью ввода логина и пароля доменного пользователя с правом администрирования CUPS.

Авторизация может быть настроена и иначе, но принцип (pipe-файл) в целом универсален и есть шанс настроить и для LDAP, FreeIPA и прочих служб каталогов по аналогии.

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

Теперь, когда сервер и клиенские машины Linux настроены, к некоторым из них присоединены принтеры, а также есть машины на Windows, которым и с которых нужно печатать, и вся эта система должна быть стабильной и в случае, если на одном из ПК необходимо заменить принтер, то это не должно повлечь за собой перенастройку доброй половины всех ПК, если не всех. К тому же нужно как можно меньше проблем с драйверами. И это вполне возможно.

Группы принтеров (Classes)

Выше мы описывали подключение Canon-MF4400 c хоста windows1 через протокол LPD. Принтер все еще подключен и его статус можно посмотреть на странице http://cupsserver:631/printers/Canon-MF4400 . А теперь обратим пристальное внимание на главную страницу администрирования cupsserver http://cupsserver:631/admin . На этой странице есть кнопка "Добавить группу" [Add Class]. Нажмем на нее. В ней вы увидите поля "Название", "Описание", "Расположение", аналогичные таким же при настройке обычного принтера. В нижнем же блоке вы увидите список всех подключенных к принтсерверу принтеров. Выберите Canon-MF4400 или любой который хотите, затем в поле "Название" впишите, например printer-windows1, "Описание" и "Расположение" на ваше усмотрение, и нажмите "Добавить группу".

Главная прелесть данного метода в том, что если на любом из ПК заменяется принтер, заменяется сам компьютер, или то и другое сразу, то это никак не влияет на тех, кто был к ним подключен через группу на принтсервере. Единственная настройка производится на принтсервере — к принтсерверу подключается новый принтер, затем из группы, в которой состоял старый принтер, он удаляется, и добавляется новый принтер на замену старому. И никаких дополнительных настроек на любом количестве ПК, только на принтсервере и собственно ПК на котором меняли принтер. Драйвера "IPP Everywhere" и "MS Publisher Imagesetter" содержат большое количество настроек бумаги, печати и т.д., так что нет проблем настроить нужный вид печати через них.

Заключение

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

Чтобы иметь возможность сетевой печати на компьютере с виндой на принтер, подключенный к linux-машинке с CUPS-ом (Common Unix Printing System), нужно проделать следующее:

  1. Проверить, что в CUPS-е разрешён общий доступ к принтеру. Для этого идём по ссылке http://10.1.1.49:631/printers/scx4200 (IP-адрес и имя принтера заменить в соответствии с Вашим случаем). Должна быть надпись "разрешен совместный доступ".
  2. В windows запускаем "Мастер установки принтеров" - через панель управления или командой

Если что-то не работает, в проверить следующее:

  1. что в firewall-е на linux-машинке открыт TCP-порт 631 для windows-клиента.
  2. что в винде в Internet Explorer-е ОТКЛЮЧЕН прокси-сервер (пол-часа голову ломал в своё время, пока не допёр посмотреть туда)

Бесплатный антивирус 360 Total Security скачать для защиты компьютера в реальном времени.

19 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

"что в винде в Internet Explorer-е ОТКЛЮЧЕН прокси-сервер (пол-часа голову ломал в своё время, пока не допёр посмотреть туда)"

пытался на днях таким же способом научить 7ку печатать в cups. Безрезультатно.
Принтер древний, canon lbp-800, родных дров под 7ку нет. Линукс драйвер собирал сам из версии 1.1.8b (более ранние версии печатают только одну страницу) в ubuntu 12.04.
Настроил печать по сети тоже из убунты 12.04 и тоже с собранным драйвером на машине-клиенте.
В семерке пытался использовать «Generic» и модель «MS Publisher Imagesetter» - дули. Задания появляются в cups, но печать не идет.. в логах куча ругани о параметрах.. например casette

Там вроде есть в Win7 какой-то хитрый финт с созданием очереди печати типа "raw". Подробностей не помню, если выясню - напишу.

а если тот же финт на ХР? Семёрку принципиально нелюблю. Да и кэнон тоже с линуксами особо недружит.

модель драйвера очень помогла, спасибо

"модель драйвера очень помогла, спасибо"
присоеденяюсь! большущее спасибо))))

Немного добавлю к данной статье.
1. Устанавливать принтер обязательно с правами администратора. Особенно касается серверных версий Windows. Иначе принтер не устанавливается.
2. По умолчанию на win 2008 (R2) не установлен клиент интернет-печати. Нужно установить недостающий компонент и перезапустить Диспетчер печати.
3. Очень желательно включить сжатие рисунков в свойства печати принтера MS Publisher Imagesetter. Иначе при печати картинок, в т.ч. файлов pdf, размер пересылаемых данных на комп с принтером может увеличиваться до неприличных величин

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

В заданиях печати в CUPS показывает какие то ошибки напротив задания, или как? Что у вас происходит после нажатия "Печать" на windows-машине? И, на всякий случай, тип принтера.

date

12.09.2019

directory

Windows 7

comments

комментариев 5

Попробуем разобраться, как можно организовать печать из Windows на принтер, установленный на системе с UNIX / Linux / Mac OS X. Стандартная подсистема печати для UNIX называется CUPS (Common UNIX Printing System). Одни из способов организовать сетевую печать на CUPS принтере – открыть к нему общий доступ (расшарить) с помощью Samba. Однако в этой статье мы не будем рассматривать этот способ, т.к. несмотря на то, что этот способ является «родным» для Windows-клиентов, не всегда целесообразно разворачивать и настраивать самбу, если помимо организации сервера печати, другой необходимости в ней нет (скорее всего придется решить целый ряд проблем, в основном, конечно, связанных с авторизацией).

В Windows встроенная поддержка IPP появилась только начиная с версии Windows 2000.

Итак, предположим, у нас имеется компьютер с OS X Lion, на котором развернут сервер CUPS с принтером Canon, сетевой доступ к которому открыт (в данном примере доступ открыт для всех без авторизации по логину/паролю).

Получаем адрес очереди печати на сервере CUPS

Общий принтер на cups сервере с os x lion

Предположим, что адрес нашего компьютера с OS X (и, соответственно, нашего сервера печати) 192.168.11.211, по умолчанию сервера CUPS использует TCP-порт 631. В адресной строке браузера перейдите по адресу , а затем на вкладку Printers. Во вкладке будет отображен список всех установленных в системе OS X и доступных нам принтеров. Имя каждого принтера представляет собой ссылку, адрес которой и является адресом очереди печати принтера в системе CUPS.

Поддержка IPP/CUPS печати в Windows

Включить поддержку IPP печати в windows7

Для того, чтобы включить поддержку печати IPP в Windows, необходимо установить соответствующую роль. Как правило, в Windows XP/Vista/ Windows 7 поддержка протокола печати через интернет (IPP) уже установлена. Если нет, в Windows 7 установить клиента IPP можно сделать через панель управления. Перейдите в Control Panel ->Programs and Features -> Turn Windows feautures on or off. В появившемся окне разверните ветку Print and Document Services, отметьте опцию Internet Printing Client и нажмите Ок, после чего будет установлен клиент поддержки IPP печати (в Windows 2008/2008 R2 устанавливается отдельная функция с аналогичным именем).

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

Установка принтера в windows 7

Установку и настройку IPP принтера мы будем осуществлять в Windows 7 (процедура в других версиях Windows аналогична, отметим, что в данном случае мы настраиваем именно сетевой принтер, а не локальный как описано в статье Печать из Windows 7 на сетевой принтер XP). Перейдите в панель управления принтерами (Control Panel\Hardware and Sound\Devices and Printers) и создайте новый сетевой принтер (Add a network, wireless or Bluetooth printer). Запустится автоматический поиск принтеров, но скорее всего, нужный принтер найден не будет, поэтому нажмите на кнопку The printer what I wont isn’t listed.

В поле Select a shared printer by name вставьте скопированный ранее адрес очереди печати принтера и нажмите Next.

Подключаем IPP принтер в windows 7

Windows попытается соединится с принтером, причем не факт что удачно, это зависит от многих факторов и разобрать их все вряд ли получится. Из практики, отметим, что если процесс подключения к принтеру затянется (более 3-5 минут), попробуйте проверить доступность сервера CUPS, перейдя на тот же адрес с помощью любого браузера, и попробуйте подключить принтер опять.

Итак, выбираем драйвер, для чего переходим в секцию Generic, выбираем MS Publisher Color Printer и жмем ОК (если в системе имеется «родной» драйвер принтера, все равно выбираем MS Publisher!).

Простой PostScript драйвер в Windows


Если все прошло успешно (а обычно проблем на этом этапе не возникает), то далее следует типовая процедура настройки принтера (имя, описание, нужно ли давать общий доступ). Нажав, Next попытайтесь распечатать тестовую страницу печати. Как правило, тестовая страница печати без каких либо затруднений выводится на печать на принтере, подключенном к Unix-like клиенту.
В некоторых случаях стоит попробовать установить родной драйвер принтера, хотя все же предпочтительно сначала убедится, что с простым драйвером PS задания печати выводятся корректно. Но следует понимать, что реально для печати используется драйвер, установленный в системе CUPS, а установленный в Windows драйвер PostScript всего лишь формирует PS файл и передает его на сервер.

Примечание. Не забудьте проверить, что между машиной с OS X и Windows порт 631 не блокируется сетевым экраном.

Итак, мы разобрались, как в Windows 7 настроить печать на принтер, установленный в Mac OS X (в UNIX/Linux процедура аналогична).

Читайте также: