Foomatic можно назвать интерфейсом настройки и базой описания моделей принтеров. Одним из плюсов foomatic является то, что он способен настраивать большинство спулеров, к которым относится и CUPS. Мы уже рассматривали настройку CUPS через браузер и тонкую настройку. Linux дает богатый выбор инструментов для настройки различного оборудования, и работу одного из таких инструментов мы сегодня рассмотрим.
Давайте настроим CUPS при помощи foomatic.
Первым делом нам необходимо сформировать URI, описывающее расположение принтера. Расположение принтера зависит от протокола и выглядит примерно:
<протокол>://<местоположение>
Если принтер подключен локально, необходимо указать файл- устройство, например /dev/lp1, тогда наш URI выглядит:
file://dev/lp1
Если удаленный сервер работает под Windows, то URI выглядит:
smb://<пользователь:пароль>@<рабочая группа>/<имя компьютера>/<имя принтера>
Например:
smb://anna:qwerty@workgroup/anna-pc/hpprint
В случае Netware-сервера URI может выглядеть:
ncp://user:password@SERVER/PRINTER
Для получения описания моделей принтеров вводим команду:
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. Драйвер - ljet4 - основной драйвер семейства HP.
Пришло время конфигурировать принтер. Вводим команду:
foomatic-configure
Указываем желаемый спулер (параметр -s), имя принтера (параметр -n), идентификатор, драйвер и URI:
foomatic-configure -s cups -n LaserJet -p 62816 -d ljet4 -c \ smb://anna:qwerty@workgroup/anna-pc/hpprint
На этом настройка CUPS через foomatic окончена. Просмотреть настройки вы можете в CUPS или при помощи команды:
foomatic-configure -Q
Если вам необходимо удалить принтер, то это можно сделать различными способами. В нашем случае нас интересует удаление принтера при использовании foomatic. В этом случае используется команда:
$ foomatic-configure -s типспулера -n имяпринтера -R