Со времн первых версий lpd было предпринято несколько попыток сделать что-нибудь более гибкое и удобное в настройке. В ALT Linux 2.3 помимо классического (и соответственно простого и лгкого) lpd включена также могучая ультрасовременная система печати CUPS (Common Unix Printing System). Эта система печати постепенно завовывает все больше поклонников и практически уже стала новым стандартом среди спулеров.
CUPS предоставляет достаточно много новых возможностей. Среди них:
- Уникальная система настройки
Вы просто запускаете свой любимый web-браузер, направляете его по адресу http://localhost:631— и перед вами красивый интерфейс, где вы можете удалить из системы или добавить в не принтер, посмотреть очереди каждого из них, перезапустить уже выполненные задания и т.д.
- Лгкость настройки удалнной печати
Если у вас в офисе уже есть настроенный CUPS-сервер, то вам ничего не надо больше настраивать. Все CUPS общаются между собой; ваш сервер узнает, что уже есть сосед с настроенным принтером и посылает сразу задание на него.
- Поддержка самых современных и защищнных протоколов
Основной протокол обмена данными между клиентом и сервером IPP, допустима печать через защищнное SSL-соединение.
- Поддержка многих языков
Старенький lpd мог печатать только в одном системном языке. CUPS может обслуживать пользователей с самыми различными кодировками.
- Единая система хранения описаний принтеров, так называемые PPD-файлы
Благодаря этому производитель может поставить это описание вместе с принтером (это, правда, не избавляет от необходимости иметь нужный драйвер в GhostScript).
Конфигурационные файлы CUPS находятся в каталоге /etc/cups и формат их более понятен для пользователей. Файл /etc/cups/cupsd.conf содержит описание главных параметров сервера, каждый из которых сопровождается подробным описанием. Приведм некоторые, наиболее часто используемые из них:
LogLevel— уровень подробности протоколирования. По умолчанию значение равно info. Если у вас какие-то проблемы с CUPS, а в протоколе нет ничего информативного, можете поднять уровень до максимального— debug2.
Port— TCP-порт, который будут использовать клиенты для соединения с сервером. По умолчанию это значение 631 (зарезервированное для протокола IPP).
Location, Order, Allow, Deny— серия директив, аналогичных имеющимся в web-сервере Apache. Order— порядок просмотра значений Allow и Deny, Allow— адреса, с которых разрешн доступ, Deny— адреса, с которых доступ запрещн. Пример:
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 </Location>
Это означает, что сначала сервер будет смотреть, запрещн ли доступ с машины (здесь запрещено для всех), а потом разрешн ли (здесь разрешн доступ только с самого сервера). Последний параметр понадобится вам для организации одного CUPS-сервера на всю организацию. Организация доступа может быть устроена сколь угодно сложно благодаря поддержке концепции классов.
Это означает, что сначала сервер будет смотреть, запрещн ли доступ с машины (здесь запрещено для всех), а потом разрешн ли (здесь разрешн доступ только с самого сервера). Последний параметр понадобится вам для организации одного CUPS-сервера на всю организацию. Организация доступа может быть устроена сколь угодно сложно благодаря поддержке концепции классов.
Файл /etc/cups/client.conf содержит настройки для клиентской части. В нм указываются всего два параметра— местоположение сервера и защищнность соединения. Скорее всего, вам не придтся там что-либо менять. менять.
Файл /etc/cups/printers.conf содержит описание принтеров. Формат записи интуитивно понятен и похож на XML. Ниже приведн пример настройки на локальный принтер.
<DefaultPrinter printer> DeviceURI parallel:/dev/lp0 State Idle Accepting Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 </Printer>
Существенными параметрами являются Accepting (принимает ли принтер задания) и DeviceURI (специальное описание местоположения принтера). О том как правильно составлять URI, будет рассказано ниже, когда речь пойдт о foomatic.
Описание каждого установленного принтера (соответствующий PPD-файл) находится в /etc/cups/ppd/<имяпринтера>.ppd. При каждом старте сервер сканирует каталог /usr/share/cups/model на предмет появления новых описаний принтеров (PPD-файлов) и проверяет последовательные и параллельные порты компьютера. В связи с этим запуск занимает некоторое время.
Для посылки заданий на печать можно использовать ту же команду lpr, для просмотра очереди заданий— lpq. Для отмены задания используйте команду cancel номерзадания.