Я решил использовать имеющийся файл сервер на
FreeNAS, который основан на freebsd:
сервер: AMD Athlon II X2 250, 2Гб озу, FreeNAS 0.7.2 Sabanda (FreeBSD 7.3-RELEASE-p3)
клиенты - Windows 7, Mac OS X 10.6
гигабитная сеть
и установить на нём пакет LPRng. За основу был взят
следующий howto.
Были проделаны следующий шаги:
1. положил драйвер ulpt.ko в /boot/kernel/
2. установил LPRng через SSH командой pkg_add -r LPRng
3. включил автозагрузку драйвера, подправив файл /boot/defaults/loader.conf, изменив строчку "ulpt_load="NO " # Printer" на "ulpt_load="YES " # Printer"
4. включил LPRng через веб интерфэйс System|Advanced|rc.conf, добавив два значения Name: lpd_enable Value: NO и Name: lprng_enable Value: YES
5. положил файл конфигурации printcap в /etc/
Код: Выделить всё
# @(#)printcap HP OfficeJet K7103
lp|deskjet:\
:sd=/var/spool/lpd/bare:\
:sh:\
:lp=/dev/ulpt0:
6. создал папку для спулера и задал права, через SSH командами:
mkdir -p -m 700 /var/spool/lpd/bare
chown 1:1 /var/spool/lpd/bare
7. положил файл lpd.perms в /usr/local/etc/
Код: Выделить всё
ACCEPT SERVICE=C SERVER REMOTEUSER=root,papowell
ACCEPT SERVICE=C LPC=lpd,status,printcap
REJECT SERVICE=C
ACCEPT SERVICE=M SAMEHOST SAMEUSER
ACCEPT SERVICE=M SERVER REMOTEUSER=root
REJECT SERVICE=M
DEFAULT ACCEPT
8. положил файл lpd.conf в /usr/local/etc/
Код: Выделить всё
# Purpose: always print banner, ignore lpr -h option
# default ab@ (FLAG off)
# Purpose: query accounting server when connected
# default achk@ (FLAG off)
# Purpose: accounting at end (see also af, la, ar, as)
# default ae=jobend $H $n $P $k $b $t (STRING)
# Purpose: name of accounting file (see also la, ar)
# default af=acct (STRING)
# Purpose: use long job number (0 - 999999) when a job is submitted
# default longnumber@ (FLAG off)
Longnumber
9. положил файл devd.conf в /usr/local/etc/devd/
Код: Выделить всё
# start action when USB printer ulpt0 is plugged in
# wait 3 second and then start the spooler daemon
#
attach 100 {
device-name "ulpt0";
action "sleep 3; lpd;
checkpc -f;
chown 0:0 /dev/ulpt0;
chmod 666 /dev/ulpt0;
echo 'o5L25fgfab' > /dev/speaker;";
};
*/
10. ребут сервера
11. на клиентах windows 7 установил LPR порт
12. добавил принтер:
Add a new printer – Local Printer - Create a new port - LPR Port - ip адрес сервера Freenas, имя принтера - lp
свойства принтера:
Port Tab.
"Enable bidirectional support" снял галку
"Enable printer pooling" нет
Advanced Tab.
"Spool print documents so program finished printing faster" да
"Start printing after the last page is spooled" нет
"Start printing immediately" да
"Print directly to the printer" нет
"Hold mismatched documents" нет
"Print spooled documents first" да
"Keep printed documents" нет
"Enable advanced printing features" да
Печатает! Но перед каждым заданием пауза около 1-2 минут. Что вызывает такую задержку?
Add:
Кстати Mac клиенты тоже печатают с такой же задержкой.
Задание уходит из очереди печати принтера, процессор сервера совсем не нагружен, памяти свободной предостаточно. Что сервер делает эти пару минут ума не приложу.