Ключевые слова:print, freebsd, win, (найти похожие документы)
From: Butsyk A. (Буцик Антон) <[email protected]>
Newsgroups: email
Date: Mon, 19 Aug 2004 14:31:37 +0000 (UTC)
Subject: Принт-сервер для Windows клиентов на базе FreeBSD и CUPS
cups - print server, GDI printer
Статья не на что не претендует. Буду рад, если кому поможет.
Все, что описано ниже будет происходить с FreeBSD-5.2 и samba-3.0.5, но думаю,
что и с Линуксом все будет работать тоже, но самба не ниже 3.х ( поднять не
сложно).
Задача такая, если принтеры, под которые нет драйверов в cups и других
разрабочиков и есть клиеты по Windows XP Pro (Home Edition)
Читая Samba-HowTo, в smb.conf нужно добавить.
[global]
...
disable spoolss = Yes
show add printer wizard = No
...
[printers]
comment = All Printers
path = /var/spool/samba
printer admin = root
guest ok = Yes
printable = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /usr/local/share/cups/drivers
write list = root
# а вот пример для плоттера
[hp-500]
comment = HPDesignJet500
path = /var/spool/samba
guest ok = Yes
printable = Yes
browseable = Yes
use client driver = Yes
Последняя строка говорит от том, что нужно использовать
драйвера со стороны клиента и в тоже время в файлах настройки cups
разкомментировать строки:
.../mime.convs
application/octet-stream application/vnd.cups-raw 0 -
.../mime.types
application/octet-stream
Теперь cups пропускает потоки данных не форматируя их.
cups-base-1.1.20.0
cups-lpr-1.1.20.0
cups-pstoraster-7.07_1
ghostscript-gnu-nox11-7.07_11
foomatic-db-20040107_2
libijs-0.35
hpijs
это те пакеты, которые у меня стоят. ghostscript - позволяет печатать на принтеры,
которые не поддерживают PostScript. Ниже просто готовые драйвера сторонних разработчиков
которые дают возможность печатать прямо из сервера и клиента без использования
use client driver = Yes
У меня все двайвера, которые установились лежат
/usr/local/share/cups/model/
/usr/local/share/cups/drivers/
у всех по-разному.
Нужно добавить принтер, для использования
http://print-server:631/
если cupsd запущен, там все ясно, только желательно чтобы имена принт-шар
samba и cups имена принтеров совпадали (case sensative).
Для тех принтеров, у которых нет драйверов или GDI принтеры аля Canon (MS Slave)
двайвера нужно указать просто RAW [queue], то есть пропускать прямо и использовать
двайвера клиента.
Если вы только только подключили принтер по USB, то нужно перезапустить
cupsd и у вас в выборе по http://... (backend) появится, к примеру USB1(ulpt0).
Рестартуем cups. В логах (/var/log/cups/error_log) читаем, что и как там проиходит,
если такой информации не достаточно, то добавить ее можна в cupsd.conf
LogLevel debug
Ну вот в Сетевом головокружении на сервере должен появиться принтер hp-500,
после перезапуска самбы, тыкаем на него и ставим драйвера с дистриба, который
с ним шел. Пробум печатать с клиента и :)
Ну выше все ясно, если все нормально получилось с системной стороной вопроса,
то есть, если система смогла нормально обработать поключенное устройство.
А вот у меня есть проблема с притерами USB 2.0 Hi Speed, которы печатали страницу
и система в корку :(
Во FreeBSD 5.1 появился двайвер device ehci
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device usb # USB Bus (required)
device ugen # Generic
device uhid # "Human Interface Devices"
device ulpt # Printer
device ehci # USB 2.0 support
вот кусок из ядра для USB 2.0 принтеров, система при подключении прекрасно их
определяет, но не работает - это FreeBSD 5.2-CURRENT(echi - v1.69), в манах пишут,
что драйвер не готов, будем ждать.
Но есть проект,
( CUPS-SAMBA provides a means to export CUPS printers from a FreeBSD
server to Windows NT/XP/2000/2003 clients with a single Windows
driver that customizes the printer based on the PPD file for the
printer.
WWW: http://www.easysw.com/
/usr/ports/print/cups-samba/
)
который дает возможность перенаправлять печать с Unix сервера на клента или на
сервер снова.Он дает нам backend smb.
Для начала попробуйте примонтировать smb шару, если все окей строка параметров
при монтировании и дает URI.
mount_smbfs -W GKM //anton@admin/CanonLAS /mnt/admin
Среди драйверов выбираем windows smb.
В URI smb: -W GKM //anton@admin/CanonLAS - работает.
Добавим шару на самбе (перезапустим), ставим принтер с клиенскими драйверами и
пробуем печатать. Печать идет на сервер, а с сервера на клиента, у которого стоит
принтер GDI. Такой круг можна проделать и с сервером, но это для Вас.
А что делать, если дров нет, я имею ввиду установку на ARM (у Canon'a дрова только по x86-64)? RAW-очередь то должна работать!
У меня весит в постоянной обработке вроде:
smbprn.00000089 (2) Файл-сервер Samba — Webmin 1.820 на ReadyNAS (Debian Linux 6.0.10) m 92k 1 processing since
Sun Oct 30 18:05:21 2016