9/03/2007

Сетевая печать из 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 комментария:

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

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить
  6. а вот у меня не вышло, не печатает и все тут

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

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

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

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

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

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

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


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


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

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

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

    ОтветитьУдалить
  12. >> Забавно, а как же корпорация Майкрософт!?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить
  30. @Анонимный комментирует...

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

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

    ОтветитьУдалить
  31. Настроил, прочитав этот топик в мандриве (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

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

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

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

    ОтветитьУдалить