Условия:
Есть машина с gentoo. К ней подключены два принтера.
Печатают без проблем.
Тебуется:
Настроить из машины сервер печати. Самба не используется.
Принтер на станциях Windows должны настраиваться как локальные через порт вида IP_192.168.0.1:9100 принтер и IP_192.168.0.1:9101. Т.е. печать как бы через железный прин-сервер или принтер с сетевой картой. Драйвера на принтер устанавливаются на станции клиенте. Линукс никакой обработки не делает.
Вопрос:
Какие службы требуются на линукс машине чтобы расшарить принтера.
Адреса вида http://192.1686.0.1/printers/myprinter/ настроить удалось. Но так как требуется печать и со станций SCO 5 этот вариант не подходит.
Если удастся разобратся, обещаю написать подробную статью.
README for lp_server
===================
Fri May 30 09:40:17 PDT 1997
This program allows you to 'export' a printer on your local host
to be used by an LPRng spooler. It is basically simulating an
HP JetDirect interface, which opens a connection on port 9100
and simply dumps input to the PostScript Engine.
lp_server [-n port] [-t stty_options] [-d device]
-n port - listen (bind) to this port for incoming connections
-d device - the device to open
-t stty_options - a list of stty options, similar (i.e.- identical)
to those used by other filters supplied with LPRng.
У меня на терминалах LTSP работает без проблем любой принтер.
Из SuSE Linux принт-сервер я делаю следующим образом. Сначала настраиваю сам принтер через http://localhost:631, затем захожу в папку /etc/xinet.d и в файле cups-lpd опцию disable перевожу в no. После этого запускаю xinetd.
В windows, принтер настраивается через TCP/IP порт по протоколу LPR, в качестве очереди выступает название принтера в линуксе (его я делаю коротким и без пробелов). В настройках порта необходимо обязательно поставить опцию "LPR Byte Counting Enabled". Печать работает быстро и без проблем.
У нас тоже стоит ltsp c lp_sever .... но есть проблемка.... принтер робит если сначало включить его а потом терминал.... наоборот не работает.... в каком русле капать? как решить чтоб он динамически появлялся?
Предистория — в офисе работа организована следующим образом — на рабочих станциях установлена Ubuntu, и они используя rdesktop подключаются к серверу терминалов, под управлением Windows Server 2003 R2 x63.Довольно типично.Так вот, вопрос публикации принтеров возник в самом начале поднятия офиса.Сначала ӕто было реализовано через Cups по протоколу ipp.Данный способ был прост в реализации, но повел за собой немалое количество глюков, и из за ӕтого хотелось сделать красивее и безглючнее.Да и к тому же имена принтеров расшаренных по ipp не отличались красивостью.Другими словами — путались в них пользователи)).Путем гуглежа и раздумий было решено публиковать принтеры, подключенные к линукс-машинам, средствами демона lp_server
Вот что написано о программе в README файле, идущем вместе с иходниками
README for lp_server
This program allows you to 'export' a printer on your local host
to be used by an LPRng spooler. It is basically simulating an
HP JetDirect interface, which opens a connection on port 9100
and simply dumps input to the PostScript Engine.
По русски — ӕкспортировать принтер на машине, на tcp-порт 9100, ӕмулируя работу JetDirect
Приступим:
Часть первая — Настройка на стороне Linux Ubuntu 8.10
1)Качаем исходники.
2)Распаковываем -tar -xvvf lp_server-1.1.6.tar
3)Переходим в папку с исходниками — cd ./lp_server-1.1.6
4)Конфигурируем — ./configure
5)Собираем — make
В папке src появится исполняемый файл lp_server, его копируем, например в /sbin/lp_server
Программа установлена.Теперь нужно прицепить еэ к нашему принтеру.У меня был принтер Hewlett-Packard LaserJet 1022.
В Ubuntu, я определил имя устройства, к которому подключен принтер, и к которому будем подключать lp_server так:
Запустил dmesg | tail
Воткнул шнур принтера в usb
Оказалось что устройство — usblp0
итак команда, достаточная для работы lp_server такая
lp_server -d /dev/usblp0 -n 9100 -D 9, где
-d — устройство к которому цепляемся.
-n — порт на который вешаем демона.
-D 9 — уровень отладки(для тестов, потом уберем)
итак, в консоли видим примерно такое
lp_server pid [7521] port 9100 at Jan 30 14:06:39
lp_server pid [7521] socket 3 at Jan 30 14:06:39
lp_server pid [7521] waiting at Jan 30 14:06:39
Ок.Демон работает и ждет данных на порт 9100.Чтож нужно ему их дать.
Часть вторая — настройка клиентов Windows.
1)Открываем «Пуск-Панель Управления-Принтеры и Факсы---->Установка принтера---->Локальный принтер---->Создать новый порт---->Standard TCP/IP порт---->Далее----->В поле имя принтера или ip-адрес, вводим ip-адрес компьютера с Ubuntu---->Тип Устройства-Generic Network Card---->Готово---->Ставим драйвер для своего принтера.»Вуаля.Теперь должно печатать.
И последний вопрос — автозагрузка демона.
Тут я сделал по простому — может гуру меня поправят и напишут стартовый скрипт и т.д.