Сложно дать краткое описание того, что же такое foomatiс. Это и база описаний моделей принтеров, и интерфейс настройки одновременно. Более того, foomatic умеет настраивать практически все известные на сегодняшний день спулеры, в частности CUPS и lpr.
Процедуру настройки лучше всего рассмотреть на конкретном примере. Пусть мы хотим настроить printer HP LaserJet 1100, расположенный на Windows™-машине SOMEHOST в рабочей группе SOMEGROUP под именем SOMEPRINTER.
Шаг1. Сформируем URI, описывающее расположение принтера. Общий формат <протокол>://<местоположение>. Местоположение зависит от протокола:
Если удаленный сервер совместим с lpd, то URI имеет вид : lpd://имя_машины/имя_принтера
Если принтер подключен локально, то URI — file://путь_к_файлу, в частности может быть указан файл-устройство (например, /dev/lp0.
Если удаленный сервер работает под управлением Windows™ (наш случай), то URI — smb://user:password@SOMEGROUP/SOMEHOST/SOMEPRINTER. Некоторые поля в описании могут отсутствовать.
Наконец, в случае Netware-сервера URI — ncp://user:password@SERVER/PRINTER
Шаг2. Посмотрим доступные описания моделей принтеров. Для этого запустим команду foomatic-configure -O | less. Описание будет выведено на экран в формате XML. Выделим подходящее описание:
<printer> <id>62816</id> <make>HP</make> <model>LaserJet 1100</model> <functionality>A</functionality> <autodetect> <parallel> <commandset>MLC,PCL,PJL</commandset> <description>HP LaserJet 1100 Printer</description> <manufacturer>Hewlett-Packard</manufacturer> <model>HP LaserJet 1100</model> </parallel> </autodetect> <drivers> <driver>ljet4</driver> <driver>stp</driver> </drivers> </printer>
Нас прежде всего интересует идентификатор-описание, заключенный в теги <id> — в нашем случае это 62816. Выберем также драйвер GhostScript™ — выбор того или иного драйвера дело опыта и вкуса. Мы остановимся на ljet4 — основной рабочей лошадке всего этого семейства принтеров.
Шаг3. Мы собрали теперь достаточно информации для того чтобы произвести конфигурацию принтера. Это делается одной командой foomatic-configure. Мы укажем желаемый спулер (параметр -s), имя принтера (параметр -n) идентификатор описания, драйвер и URI.
foomatic-configure -s cups -n Laser_Jet -p 62816 -d ljet4 -c \ smb://user:password@SOMEGROUP/SOMEHOST/SOMEPRINTER
Вот и все готово. Настройки можете посмотреть непосредственно в конфигурационных файлах спулера или при помощи команды foomatic-configure -Q. Данная программа на моей машине сообщила следующее:
<defaultqueue>printer</defaultqueue> <queue foomatic="1" spooler="cups"> <name>Laser_Jet</name> <printer>62816</printer> <driver>ljet4</driver> <connect>smb://user:password@SOMEGROUP/SOMEHOST/SOMEPRINTER</connect> <description>HP LaserJet 1100</description> </queue> <queue foomatic="0" spooler="cups"> <name>lexmark</name> <connect>file:/dev/lp0</connect> </queue> <queue foomatic="1" spooler="cups"> <name>printer</name> <printer>62368</printer> <driver>ljet4</driver> <connect>file:/dev/lp0</connect> </queue> </queues>
Все понятно без лишних комментариев.