Сетевая печать из Linux на Windows принтер используя SAMBA

Задача: есть принтер, подключённый к машине 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
Во избежание излишних нервных перенапряжений, не рекомендую пользоваться именами принтеров с пробелами и кириллицей.

Ссылки:
Решение было найдено, страшно сказать, на ЛОРе. Что поражает, так это то, что такую простую вещь никто нигде не освещает. Надеюсь, это поможет кому-то ещё.

32 комментариев: |высказаться!| RSS-лента дискуссии.|
Анонимный комментирует...

По линку, на ЛОР'е: "так NATASHA или NATAHSA?" Просто рыдал...

virens комментирует...

2 Анонимный пишет...
По линку, на ЛОР'е: "так NATASHA или NATAHSA?" Просто рыдал...
Да, было такое :-) Но совет дали дельный, так что нормально. Господи, неужели это нельзя было добавить в документацию крупными буквами?!

Unknown комментирует...

Хм, вообще-то guest на виндовые шары — это же очевидно ;) И не в доке на CUPS про это искать надо. а доке на SAMBA. У всех виндовсов даже юзер есть специальный в системе Guest. Особенно прикольно бывает если его замочить, в припадке паранойи.
Хотя конечно отметить это можно было бы, в каком-нить FAQ.

devmind комментирует...

virens: Господи, неужели это нельзя было добавить в документацию крупными буквами?!
Заговор наверное. Гугл потеряет часть доходов, если все подобные штуки записать в документацию :]
За пост спасибо, запомню.

virens комментирует...

2 jankkhvej пишет...
Хм, вообще-то guest на виндовые шары — это же очевидно ;)
Я ненавижу эту фразу - ничего не очевидно! Ни разу! Я бился лбом об стену весьма ощутимое время. Это дефект в документации, и снобы в CUPS об этом отлично знают.

У всех виндовсов даже юзер есть специальный в системе Guest.
А про юзера nobody виндузятники знают?! Сильно сомневаюсь.

Пользователь должен настраивать принтер, согласно приведённой КРАТКОЙ мать её за ногу документации: куда что ткунть, чтобы печать пошла. Вот за что я ненавижу команду документации в CUPS - она написана разработчиками для разработчиков же.

x[82] пишет...
Заговор наверное. Гугл потеряет часть доходов, если все подобные штуки записать в документацию :]
А зачем ещё писать документацию!? Для самолюбования? Чтобы всем сразу стало ясно, какие они в CUPS невероятно умные, что не пишут про такие простые вещи?

Документация должна быть вмеяемой, а не такой, чтобы после неё гуглить. Кстати, вот попробуйте погуглить на тему настройки принтеров в CUPS - просто попробуйте. Будете читать морально устаревший бред про LPD бородатых годов.

Тут у меня в других комментах развернулось препирательство с одним анонимусом насчёт jigdo. Сказал там и повторюсь здесь: в Линукс катастрофически не хватает нормальной пользовательской документации - без хаканья ядер, ковырянии в исходниках и километровых, но сильно водянистых теоретических экзерсисах а-ля-капс. Так что друзья: кто умеет в руках держать перо, не поленитесь выкладывать на блогах свои HOWTO на тему "как легко и просто настроить то-то".

Анонимный комментирует...

а вот у меня не вышло, не печатает и все тут

Анонимный комментирует...

Это не по Linux - это по Windows не хватает документации - вся эта хрень с Guset работает если включено в проводнике "Использовать простой общий доступ." - иначе - login/password никто не отменял. Удачи.

асоциальный психопат комментирует...

Тут у меня в других комментах развернулось препирательство с одним анонимусом насчёт jigdo.
О каких комментариях речь? В чём суть проблемы? Где там возник дефицит документации?

Анонимный комментирует...

а у меня проблемы с принтерами возникли только при использовании linux. проблемы в следующем.
hp1022 нормально работает только при подключении к windows. При подключении к Linux спустя некоторое время отваливается. Тоже иногда происходит и с клиентами на Linux. hp1000 вообще отказался печатать под Linux. Canon LBP-1120 удалось запустить локально под Linux, но по сети печатает только если принтер подключен к windows.

Анонимный комментирует...

Вроде этот блог взял с вашей страницы

http://gq.net.ru/2007/06/08/printing-in-linux/

virens комментирует...

2 Анонимный пишет...
Это не по Linux - это по Windows не хватает документации
Забавно, а как же корпорация Майкрософт!? :-)

"Использовать простой общий доступ." - иначе - login/password никто не отменял. Удачи.
Проясняю ситуацию: комп лабораторный, за ним сидит куча дятлов, которые не поймут, с какого рожна там появился пароль. И потом, если добавлять с винды - никакого пароля не просят. А я про guest не знал...


2 асоциальный психопат пишет...
О каких комментариях речь? В чём суть проблемы?
Об этих.
Меня там убеждают, что создавать ISO-шники из пакетов скриптом на руби - идиотство, и суют jigdo. На вопрос, как вытащить на iso репозиторий из Maemo и убунтушных multiverse почему-то не ответили :-)
Ну и фиг с ним.


2 Анонимный пишет...
а у меня проблемы с принтерами возникли только при использовании linux. проблемы в следующем.
hp1022 нормально работает только при подключении к windows.

На убунтуфоруме обсуждали, и, насколько помню, нашли решение. forum.ubuntu.ru

2 Анонимный пишет...
Вроде этот блог взял с вашей страницы
Там не об этом... к сожалению.

Анонимный комментирует...

>> Забавно, а как же корпорация Майкрософт!?

>> А я про guest не знал...

Вы сами на свой вопрос ответили :)))

virens комментирует...

2 Анонимный пишет...
>> Забавно, а как же корпорация Майкрософт!?
>> А я про guest не знал...
Вы сами на свой вопрос ответили :)))

Ну так в самом деле не знал. В документации тишина. И тут звонкий глас ЛОРа своей пионерской зорькой всё и осветил :-))

Анонимный комментирует...

Я таки не пойму - зачем разработчикам cups писать это в документацию. Каждому юзеру - свой логин. А то ведь так придется на каждый чих Майкрософт доки писать. Вы посмотрите - Active Directory - покореженный Microsoftом LDAP - и чего теперь - линуксоидам писать доки по его настройке. IMHO фтопку его выкинуть, а дятлов поувольнять нахер - пускай Билл Гейтс им деньги платит.

Unknown комментирует...

А вот как быть с именами принтеров, в которых есть пробел?
А то у меня шара видна как 'Samsung ML-1520', вписываю в CUPS as is - в логах CUPS-а NT_STATUS_BAD_NETWORK_NAME. Пытался ставить '\' перед пробелом - та же история...
Можно, конечно, переименовать принтер на виндовой машине, но админа пока нет.zbjm

Анонимный комментирует...

целый день бился с cups`ом - не было в нем вкладки для печати на SMB. В итоге выяснилось, что необходимо было лишь установить пакет smbclient

Roman Sakal комментирует...

почти год сидел в офисе без принтера (сразу не получилось настроить по известным причинам, да и не часто я печатаю) в общем за совет спасибо. Я подозревал нечто подобное, но в любом случае пост в блоге оказался очень полезным :-)

virens комментирует...

2 Анонимный пишет...
Я таки не пойму - зачем разработчикам cups писать это в документацию.
Потому, что принтеров, подлючённых к винде, значительное количество. Вместо этого в документации по CUPS куча бреда про какие-то QMS® CrownNet и DPI NETPrint. Ну и зачем про это писать!?

Каждому юзеру - свой логин.
Читаем внимательно условия задачи: виндузячий принтер расшарен в винде без пароля.

А то ведь так придется на каждый чих Майкрософт доки писать.
Если хотите, чтобы вашим софтом пользовались - да.

Вы посмотрите - Active Directory - покореженный Microsoftом LDAP - и чего теперь - линуксоидам писать доки по его настройке.
ИМЕННО! Куча народу мается с этим г...ном и никто не пишет, как они это победили. Суровая реальность она знаете ли такая, компромиссная очень. Если хотите жить, значит надо подстраиваться под то, что есть, и это "то что есть" мееееееедленно вытеснять.

Анонимный комментирует...

А если авторизация через домен, то надо
smb://usrername:userpassword@domainname/computername/printername

Анонимный комментирует...

Появились проблемы, принтер windows печатаем с Linux, появляются странные знаки на полях разрывы в страницах, и долгое время в промежутках между страницами, в чем может быть причина?

PG Catabras комментирует...

Да guest не ответ, а путь к решению, что надо указывать имя пользователя и пароль для Windows, когда это требуется. В частности в Windows XP Pro и серверных платформах пользователь guest по-умолчанию отключен :) И я тоже не понимаю причем здесь разработчики CUPS, если это база знания Винды

virens комментирует...

2 worldmind комментирует...
А если авторизация через домен, то надо
Это я действительно пропустил - каюсь, поправил текст поста. worldmind, спасибо!


2 Catabras комментирует...
Да guest не ответ, а путь к решению,
В посте указаны условия задачи: пароля НЕТ. Это и привело меня в тупик. Виндовые машины печатают нормально.

надо указывать имя пользователя и пароль для Windows, когда это требуется. В частности в Windows XP Pro и серверных платформах пользователь guest по-умолчанию отключен :)
Согласен, добавил в пост. Про guest в винде-PRO я не знал.

И я тоже не понимаю причем здесь разработчики CUPS, если это база знания Винды
Поясняю: этот простой пример ОБЯЗАН быть в документации на CUPS, и то, что его там нет (а есть куча устаревшего маразма и экзотических принт-серверов) есть грубая оплошность и разгильдяйство команды, составляющей документацию CUPS. Это дефект документации: там описано куча случаев, кроме самого очевидного и распространённого.

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

Анонимный комментирует...

Пытался установить зашаренный (или расшаренный) на Windows XP принтер Xerox Phaser 3200 MFP PCL6, используя стандартные драйвера, входящие в пакет CUPS на Fedora Core 10. И вместо одного листа с картинкой вывалилось много листов с текстовыми кодами. Пришлось использовать драйвера с "родного" диска (см. здесь)

Анонимный комментирует...

Только что решил проблему печати на линукс системе через сетевой принтер. Решение пробемы еще куда проще: Укажите правильно сетевое имя для принтера.

Анонимный комментирует...

принтер печатает, но только тестовую страницу, остальное - чистые листы :-(

Анонимный комментирует...

Вот что я вам скажу: всё так называемое "свободное сообщество" - сборище засранцев, которое делится только общеизвестными знаниями, а как только надо поделится каким-нить своим секретом, даже скриптиком, за которые платят бабло - так же знания под одеяло, а язык - в жопу.
Взаимопомощь, взаимовыручка - это мифы для лохов!

virens комментирует...

@Анонимный комментирует...
Вот что я вам скажу: всё так называемое "свободное сообщество" - сборище засранцев
Знаешь, Анонимус, как ни странно, но ты отчасти прав. Самое печальное, что сообщество Дебиан в этом не исключение.

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

Анонимный комментирует...

Уважаемый автор! Все вышесказанное ни в коей мере к вам не относится, сорри, если я неточно сформулировал мысль.
Речь шла лишь об "обществе" в целом и об имеющихся тенденциях в нем, которые чаще всего выдают желаемое за действительное, выворачивая наизнанку минусы в плюсы.
В линуксе я больше 10 лет, это немало, и вот, хотя и с большим запозданием, но начинаю прозревать.

Анонимный комментирует...

Кстати, у меня только что возникла мысль: у меня на работе сейчас сложилась печальная ситуация - из-за моей недоработки меня попрут с работы. Из-за чего, если я сегодня не решу проблему, завтра меня уволят.
Вот почему я так ядовито высказался о "сообществе" - к кому не обращался, начиная с пресловутого ЛОРа, никто так и не помог - всем пофиг чужие проблемы.
А эта проблема как раз связана с печатью из-под Линукса = сколько ни бился, печать не идет.
Вышел сегодня на вашу статью, она мне понравилась, но увы, повторив все ее рецепты, успеха тоже не добился.
Если у вас есть желание помочь, мой ICQ# 264473708

iv_vl комментирует...

@Анонимный комментирует...

всё так называемое "свободное сообщество" - сборище засранцев, которое делится только общеизвестными знаниями

Анонимус, "свободное" != "бесплатное". На мой взгляд, переход от только коммерческих проектов к свободным как переход от средневековой науки к современной. В науке доступ к знаниям тоже открыт, но не бесплатно: книги, подписка на журналы, участие в конференциях - всё это стоит денег. Но всё давно устаканено, и никто не жалуется. Передовые знания оплачиваются всегда, но плюс в том, что в итоге общеизвестных знаний становится больше.

Анонимный комментирует...

Настроил, прочитав этот топик в мандриве (mandriva 2009) для ПО ДЭНСИ-касса. Принтер установлен на windows 7
сначала в windows 7 сделал нового пользователя и расшарил принтер
потом в linux mandriva
а) скачал драйвер для linux
б) настраивал через панель управления --> новый принтер --> wis smb, где в пути указал по принципу smb://usrername:userpassword@domainname/computername/printername При этом, используя не имя, а ip ПК; он же сам перенес имя и пароль в форму и получилось:
smb://usrername:userpassword@domainname/ip адрес компьтера/printername
и увидим в пути принтера smb://domainname/ip адрес компьтера/printername

Анонимный комментирует...

Помогите с проблемой печати ил Люникс на расшаренный на Винде принтер 1020
ошибка Unable to connect to CIFS host
Почему то не сохраняется путь формата: smb://usrername:userpassword@domainname/ip адрес компьтера/printername

обрезает до @ в итоге получаем
smb://domainname/ip адрес компьтера/printername

наверное из за этого и не печатает..

Отправить комментарий

Подписаться на RSS-ленту комментариев к этому посту.