Linux для всех

индекс
247,20

Печать из Vista на сетевом Linux-принтере

Переведя компьютеры в нашей организации на лицензионное программное обеспечение, мы обнаружили проблему с ораганизацией печати документов. Компьютер под управлением Windows Vista Business не стал печататать на сетевом принтере, подключенном к Linux-компьютеру. Причем не работал ни один из принтеров, которые мы пробовали.

Конечно, многие люди считают, что использовать Windows Vista для работы — не самая хорошая идея, потому что все в ней не так, все не работает… Но, так как была приобретена лицензия, ничего другого не оставалось, как пытаться решить эту проблему без удаления системы.

В двух словах, с технической точки зрения, ситуация выглядела так. На компьютере, к которому был подключен принтер, была установлена Mandriva 2009 (впрочем, с другими видами Linux проблема выглядела аналогично). Принтер был корректно настроен и работал через CUPS, и отдан в общий доступ через Samba. Система достаточно современная, и каких-либо хитрых настроек в конфигурационных файлах мы не делали. Казалось бы, все должно работать с такими минимальными настройками.

В Windows Vista принтер был установлен как сетевой, с использованием «родных» драйверов (были испробованы как драйвера с диска, так и более новые с сайта производителя). Принтер установился нормально, показал состояние «Готов», но при попытке отправить на печать какой-либо документ ничего не происходило — не напечаталась даже тестовая страница. При этом во время попыток печати в логе Samba-сервера появлялась строчка:

cli_rpc_pipe_open: cli_nt_create failed on pipe \spoolss to machine user. Error was NT_STATUS_ACCESS_DENIED

После за'Google'ивания обнаружилось, что с этой проблемой столкнулись не только мы, но и многие другие счастливые администраторы Linux и Windows. Правда, приводимые на форумах способы решения проблемы не очень-то помогали (а часто вообще относились к старым версиям Samba и CUPS). А помог способ альтернативной установки принтера в Vista, без дополнительных настроек в Linux. Схема следующая:
  • Для начала нужен принтер, нормально работающий на компьютере с Linux, и правильно отданный в общий доступ через Samba. В современных дистрибутивах с этим проблем, как правило, нет.
  • Нужно узнать имя принтера в том виде, в котором он настроен в системе. Это можно сделать, перейдя по ссылке http://localhost:631 на Linux-компьютере, и открыв вкладку Принтеры (Printers). С другого компьютера посмотреть список принтеров можно, зная IP-адрес компьютера, к которому подключен принтер. У нас это был 192.168.1.10, и ссылка выглядела так: http://192.168.1.10:631. В списке принтеры имеют те имена, которые позже понадобятся. В нашем случае это были Epson-TX117 и HP-LaserJet-1020.
  • Открыть мастер установки принтера в Windows Vista и выбрать Добавить сетевой, беспроводной или Bluetooth-принтер.
  • Сканирование всех доступных по сети принтеров можно остановить, и щелкнуть Нужный принтер отсутствует в списке.Затем Выбрать общий принтер по его имени и указать имя принтера в следующем виде: http://192.168.1.10:631/printers/Epson-TX117. Здесь как раз и понадобятся IP-адрес Linux-компьютера и имя установленного на нем принтера.
  • В качестве драйвера для принтера нужно выбрать группу Generic, драйвер MS Publisher Imagesetter.
  • Если все сделано правильно, осталось нажать Далее, распечатать пробную страницу и нажать Готово.

Таким образом, получилось установить все принтеры, которые были нужны пользователям Windows Vista, даже не имея драйверов, подходящих к конкретным принтерам. Посему — всем рекомендуем!

P.S.> Кстати, аналогичный способ работает для установки принтера в Windows XP, даже если отсутствует диск с драйверами для принтера. Только сообщения Мастера установки принтера несколько отличаются
+32
8 февраля 2010, 11:23
35

комментарии (20)

+3
kay #
Есть такая штука как Internet Printing Protocol. Поддерживается как CUPS, так и Windows (если не ошибаюсь, начиная с w2k).
+2
kay #
Пардон, статья как раз и рассказывает об этом. Вот только название не упоминается.
+1
FrolovS #
Вы совершенно правы!
Правда, признаюсь, я не ассоциировал IPP с таким способом «печати на URL» — в Linux есть почти все необходимые драйвера PPD, и IPP я не использовал, а в Windows термин Internet Printing Protocol не упоминается.
Спасибо за уточнение!
+5
Lordwind #
Походу автор не читал мануал к CUPS и мнит себя первооткрывателем
+3
evgenyk #
Да ладно, все нормально, сейчас Гугл проиндексирует и будет в интернете ХАУТУШКА по подключению для пользователей на русском языке.
–2
Lordwind #
Для пользователей на русском языке есть замечательный русский мануал на вики Арча. Туда постоянно нубасов посылают :)))
+1
FrolovS #
Зря вы так, очень даже читал мануал к CUPS. Не могу похвастаться, что от корки до корки, но до Windows Vista особых проблем с настройкой принтеров — как реальных, так и виртуальных, с написанием собственного backend'а, не испытывал.
Тот факт, что «обычная» Vista не может распечатать на «обычном» Linux-принтере, никак не отражен в документации к CUPS. Пост не претендует на «первооткрывательство» — он в блоге Linux, а не в блоге Vista, но про настройку CUPS я даже и не пишу — все действительно изложено в документации и в статьях.
Наоборот, рассказывается, как решить конкретную задачу (или проблему, если хотите). Решение было найдено с трудом, поэтому, на мой взгляд, пост вполне уместен.
0
mvgolubev #
> сейчас Гугл проиндексирует

Если вы видите статью на главной Хабра, то будьте уверены, что Гугл её уже проиндексировал.
–3
Zubchick #
> осталось нажать Далее, распечатать пробную страницу и нажать Готово.
Черт, а на какую кнопку нажать чтобы распечатать пробную страницу?

0
Goodkat #
Можно ли настроить печать в файл, в идеале — в PDF?
У меня есть куча защищённых PDF, но они читаются только в адобовской читалке под виндой и на одном компе, зато без проблем распечатываются. Хотелось бы читать их не только под виндой, но PDF-принтеры отказываются сохранять защищённые файлы.
0
FrolovS #
Конечно можно. Если кратко — нужно создать принтер с URI pdf:/path/to/dir
Если подробно — можно поискать в Google, я нашел www.ubuntugeek.com/how-to-create-pdf-documents-in-ubuntu.html
0
ilyadelphin #
Bullzip PDF Printer вам в помощь.
+1
NightWriter #
Есть решение еще проще, тем более, это у нас не сработало.
Тестилось под Вин7 Ультимейт.
В Проводнике вводим \\адрес.нашего.принт.сервера — у нас это было \\10.10.1.29
Запросит авторизацию. Вводим имя пользователя и пароль, созданные на серваке, жмем Ок.
Потом видим весь список принтеров, которые доступны, правой кнопкой по нужному — добавляем. Вуаля — жизнь удалась
0
goletsa #
То что вы назвали это печать через самбу фактически. И работает из рук вон плохо местами. Тоже недавно запаривался с принтером и подключил через IPP.
0
NightWriter #
Да, через Самбу. Но это работает у нас и требует минимальных усилий при настройке
0
demmsnt #
Ещеб 7-ка с самбой заработала, а то проблемы. Но с другой стороны мы получили финансы на перенос софта под Linux.
0
storm #
В чем разница печати при подключении через http и ipp?
0
FrolovS #
По сути, это одно и то же. Работа через IPP — это передача документов определенного типа application/ipp по протоколу HTTP(S). Сервер печати CUPS устроен таким образом: если клиент смотрит страничку localhost:631 через браузер, то он видит обычные HTML-страницы, а если клиент отправляет на этот URL данные IPP, то получает ответ в соответствии со спецификацией IPP.
0
ZAhmed #
Ты — ЧЕЛОВЕЧИЩЕ! :) Было уничтожено двое суток на CUPS + Samba + Win7. И неизвестно, сколько было бы ещё убито, если б не этот простой метод.
0
FrolovS #
На здоровье :-)

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