Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Ставим. Если принтер не HP, то, возможно, подойдет Gimp-print. Официальный сайт – gimp-print.sourceforge.net
Устанавливаем принтер заново, но уже с драйверами из свежеустановленного пакета. (В моем случае было несколько драйверов для моей модели. Я поставил с PostScript).
Пробуем напечатать тестовую страницу - у меня получилось. Таже принтер должен появиться рядом с расшаренными папками (смотрим с виндусового компа).
Можно даже попробовать его подключить, но драйверов сервак не даст,а предложит выбрать из существующих или установить с диска. Я поставил первые попавшиеся (даж не от моего прринтера, даж не HP). Тестовая страница теперь печатается еще и из винды.
А дальше начинается самое интересное. Как заставить наш принт-сервер отдавать клиентам дрова, шоб не пришлось каждый раз бегать с диском? Вот этим-то мы и займемся. Ради этого,собственно,я и писал эту статью... Отвечает за все это дело пакет cups-samba. Его и ставим.
|
После установки видим подробную инструкцию к действиям. Ей и последуем.
В smb.conf в секцию [global] дописываем (если такие параметры есть-заменяем)
|
Добавляем секции для принтеров (приводим их к такому виду)
|
и перезапускаем самбу
|
А дальше - проверка Вашей везучести:
|
где cups_printer_1 - имя вашего принтера
или
|
для добавления всех принтеров.
Как выглядит успешное завершение этой программы я не знаю, на если на экране бегут строчки,где в блоках меняется только /var/spool/cups/tmp/470334f09f627, или есть сообщения об ошибке (driver not installed, напр) то, судя по всему, Вам не повезло... Жмем ctrl+C и готовимся к танцам.. С бубном...
Весь процесс состоит из 3 шагов, но для начала, находим на виндовой машине файлы ps5ui.dll, pscript.hlp, pscript.ntf, pscript5.dll и копируем их в /usr/local/share/cups/drivers. Все имена файлов должны быть в НИЖНЕМ регистре.
1. Создаем необходимые папки и копирует туда файлы (одна длиная строка!)
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' |
суть этой команды такова: заходим smbclient'ом на //localhost/print$ (это тоже шара,просто скрытая)
и выполняем команды начиная с mkdir W32X86.Основная проблема,которая может возникнуть на этом шаге-запрет записи.Я поставил права доступа 777 на /usr/local/share/cups/drivers и заменил write list = root на
write list = root, guest, nobody в smb.conf
после успешного выполнения в /usr/local/share/cups/drivers должна появиться папка W32X86.
и еще - снова одной строкой
smbclient //localhost/print$ -Uroot -c 'put /usr/local/share/cups/drivers/cups6.ini W32X86/cups6.ini;put /usr/local/share/cups/drivers/cupsps6.dll W32X86/cupsps6.dll;put /usr/local/share/cups/drivers/cupsui6.dll W32X86/cupsui6.dll' |
2. В smb.conf меняем
|
на
|
далее запускаем
|
и ищем там строчку:
|
и запускаем ее как:
|
3. Теперь надо сказать самбе какой драйвер для какого принтера
|
Обычно printer_name и driver_name идентичны. Если получаем:
|
то пробуем:
1) в секции [global] дописываем 'use client driver = no' - говорит клиенту стягивать дрова на приттер с нашего cups-сервака
2)Меняем /etc/pam.d/login на стандартный и smb.conf - на дефолтовый,при этом убираем из него все "лишнее",оставляя минимум.
После завершения установки дров все ставим на место и рестартим самбу.
ВСЕ!
После успешного завершения при подключении сетевого принтера дрова на винду должны ставиться автоматически
Эта статья не претендует на подробное руководство по настройке CUPS-SAMBA. Скорее, просто мой личный опыт работы.. Наверняка, есть более простой и удобный способ настройки. Статья писалась уже после настройки и запуска сервака, на память. Так что возможны неточности. Если есть идеи или проблемы - пишите. Будем вместе разбираться :)
размещено: 2007-10-04,
последнее обновление: 2007-10-04,
автор: Al
Денис, 2007-10-05 в 13:00:06
плохо описано почему использованы именно эти файлы для принтера печати. откдуа вообще они взялись.
Al, 2007-10-06 в 13:50:50
Денис:
Плохо описано, какие именно "файлы для принтера" ты имел ввиду (:
Вообще я просто читал маны(rpcclient, например)там четко сказано,для каких процедур (adddriver, втом числе) какие параметры.Если ты про smbclient - то это простое банальное копирование общих файлов, необходимых для установки новых пост-скрипт драйверов для винды(вроде именно так написано в мане по купсу).Задай вопрос конкретней.Можешь на мыло или в асю.Постараюсь ответить :)
Денис, 2007-10-08 в 16:44:50
да, действительно непонятно какие дрйвера нужны для принтеров чтобы лежали в папке на шаре, и почему именно эти файлы. ушел читать маны :-)
Al, 2007-10-08 в 18:09:46
Microsoft Postscript Drivers For Windows
The base driver for Windows 2000 and higher is the Microsoft PostScript driver, which is available on any system running Windows 2000 or higher in the %WINDIR%\SYSTEM32\SPOOL\DRIVERS\W32X86\3 folder.
The CUPS printer driver is preferred over the Microsoft driver since it supports the page-label, job-billing, and job-hold-until options fully on all printers. However, currently only Windows 2000 and higher is supported by the Microsoft driver, so you will also need to get the Adobe driver to support Windows 95, 98, and Me clients. The Adobe and Microsoft drivers for Windows 2000 are identical.
Once you have extracted the driver files, copy them to the /usr/local/share/cups/drivers directory exactly as named below:
[Windows 2000 and higher]
ps5ui.dll
pscript.hlp
pscript.ntf
pscript5.dll
Note: Unlike Windows, case is significant - make sure that you use the lowercase filenames shown above, otherwise cupsaddsmb will fail to export the drivers.
вот,в принципе,и все,что есть в манах.....
если вопрос принципиален-пиши - попробуем разобраться
Al, 2007-10-31 в 17:26:17
если после установки hplip в купсе дрова для принтеров hp не появились,т.е. их там всего два,тогда смотрим,есть ли симлинк:
cd /usr/local/share/cups/model/
ln -s /usr/local/share/ppd foomatic-ppds
Al, 2007-11-02 в 17:05:17
Если пишет WERR_UNKNOWN_PRINTER_DRIVER, ставим
chmod 777 /usr/local/share/cups/drivers/W32X86
Al, 2007-11-02 в 17:27:17
Перед установкой пробуем ставить в smb.conf
security = share
а потом пробуем
cupsaddsmb -H 127.0.0.1 -v -a
у меня на одном компе сразу прокатило
balas, 2007-11-12 в 19:17:54
Спасибо, Al, очень помогла статья. Особенно камент про симлинк :)) (все остальное заработало, а с этой фигней два дня мучился)
Sergey, 2008-02-05 в 22:48:58
Настраивал, по ману, нашел все там, при возниконовении проблем наткнулся на эту страницу.
Если не трудно не могли бы Вы уточнить для меня некоторые моменты:
1)В RAW-формате принтер работает без проблем. Подключается и печатает на ура. Но вот бывают случаи, когда в винде пишет что принтер не доступен, короче нельзя получить его статус(но печатать можно). Если просто перезапустить сервис самбы, принтер сразу переходит в винде в состояние "готов". С чем это может быть связано. Система: Fedora 8, ну и собственно все последние stable версии samba, cups и т.д.
2) Так до конца и не понял - как раздавать дрова. Имеется например Xerox 3125. Что мне нужно качать и куда заливать. Скинул к примеру
ps5ui.dll
pscript.hlp
pscript.ntf
pscript5.dll
в /usr/local/share/cups/drivers
делаю cupsaddsmb -v -a
Пишет что не найден PPD файл для принтера Xerox 3125.
Т.е. не понятно, какие мы будем дрова отдавать клиенту, натуральные под Windows для Xerox 3125 или нечто смешанное...
babay, 2008-04-04 в 10:58:39
Если выскакивает ошибка - result was WERR_ACCESS_DENIED, не нужно убирать на дефолтные файлы, просто пользователь root скорее всего не существует в домене, и пользователь который выполняет команду setdriver, должен иметь соответсвтующие права админа в домене.
opt1k, 2008-11-26 в 11:32:03
пол дня убил, вот некоторые моменты:
rpcclient -Uroot
там пишем
adddriver "Windows NT x86" "HP LaserJet 5Si/5Si MX PS":pscript5.dll:hplj5si1.ppd:ps5ui.dll:pscript.hlp::pscript.nt
меняем HP LaserJet 5Si/5Si MX PS и hplj5si1.ppd на своё
далее
setdriver your_printer_name your_driver_name
your_printer_name - из cups'а
jeweller, 2009-03-30 в 15:23:31
Для принтеров HP 1010 1018 1020 1022
вот решение проблемы.
http://www.sisadminov.net/freebsd/2.html
Anaxion, 2009-10-21 в 13:38:05
Ошибка - result was WERR_ACCESS_DENIED
предыдущие решения не помогли, проделал:
This command set rights of print operator to user john:
net -U root -S localhost rpc rights grant john SePrintOperatorPrivilege
after, check the permissions with this:
net -U root -S localhost rpc rights list john
Дрова подцепились
Al, 2010-02-16 в 9:43:17
Если пишет WERR_UNKNOWN_PRINTER_DRIVER, ставим
chmod 777 /usr/local/share/cups/drivers/W32X86
и на все вложенные файлы и папки!
Al, 2010-06-15 в 13:15:42
На самом деле все еще проще. При добавлении драйверов происходит авторизация_аутентификация в 2 этапа. В результате должны быть права
1. На запись пользователя в шару с драйверами на самбе. Проверяем так
smbclient //localhost/print$ -Uadm
и пробуем создавать - удалять папки-файлы.
adm - пользователь в AD, которого хотим сделать администратором принтеров
2. На работу с принтерами через rpc. Добавляем эти привелегии нашему пользователю. adm - администратор домена
net -v -S localhost -U adm rpc rights grant adm SePrintOperatorPrivilege
#net rpc rights list View available/assigned privileges
#net rpc rights grant Assign privilege[s]
#net rpc rights revoke Revoke privilege[s]
#Возможные значения
#SeMachineAccountPrivilege - Add machines to domain
#SePrintOperatorPrivilege - Manage printers
#SeAddUsersPrivilege - Add users and groups to the domain
#SeRemoteShutdownPrivilege - Force shutdown from a remote system
#SeDiskOperatorPrivilege - Manage disk share
#SeTakeOwnershipPrivilege - Take ownership of files or other objects
#---------------------------------------------------------------------
#Добавление виндового драйвера
cupsaddsmb -U adm -H localhost -v [HP9050-UZB HP9050-UZB] [-a]
Собственно, после этого добавление виндовых драйверов проходит из консоли и веб-морды без дополнительных манипуляций.
pavel, 2010-12-17 в 10:11:29
а как быть с очередью печати? ее не видно если клиент подключен через cups-smb....
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [16 шт.]