Pull to refresh

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

Reading time 3 min
Views 3.5K
Переведя компьютеры в нашей организации на лицензионное программное обеспечение, мы обнаружили проблему с ораганизацией печати документов. Компьютер под управлением 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, даже если отсутствует диск с драйверами для принтера. Только сообщения Мастера установки принтера несколько отличаются
Tags:
Hubs:
+32
Comments 20
Comments Comments 20

Articles