Настройка системы CUPS

Имеющихся знаний уже вполне хватит для того, чтобы попытаться настроить принтер вручную. Но это делать незачем, так как есть более удобные и наглядные способы.

Настройка CUPS через web-браузер

Запустите свой любимый браузер и зайдите по адресу http://localhost:631 (например, lynx localhost:631) — вы увидите интерфейс настройки CUPS. Выберите раздел «Manage Printers», далее раздел «Add Printer». Затем у вас спросят имя и пароль администратора CUPS; по умолчанию это администратор системы (root).

Появится первый диалог — достаточно указать имя (Name) принтера, описание (Description) носит вспомогательный характер, а местоположение (Location) нужно только, если у вас настроена сложная система раграничения доступа в CUPS.

В следующем диалоге производится выбор устройства, к которому подключен принтер.

Два последующих — выбор модели и производителя принтера. Описания моделей (PPD) находятся в каталоге /usr/share/cups/model. Если вы видите подозрительно мало моделей, доустановите пакет cups-drivers. Обратите внимание на то, что этот пакет конфликтует с пакетом foomatic — другой системой настройки, поэтому определитесь, какой метод будете использовать.

Напоследок вы можете заказать печать пробной страницы.

Настройка CUPS через foomatic

Сложно дать краткое описание того, что же такое foomatiс. Это и база описаний моделей принтеров, и интерфейс настройки одновременно. Более того, foomatic умеет настраивать практически все известные на сегодняшний день спулеры, в частности CUPS.

Процедуру настройки лучше всего рассмотреть на конкретном примере. Пусть мы хотим настроить printer HP LaserJet 1100, расположенный на Windows™-машине SOMEHOST в рабочей группе SOMEGROUP под именем SOMEPRINTER.

  1. Шаг1. Сформируем URI, описывающее расположение принтера. Общий формат <протокол>://<местоположение>. Местоположение зависит от протокола:

    Если принтер подключен локально, то URI — file://путь_к_файлу, в частности может быть указан файл-устройство (например, /dev/lp0.

    Если удаленный сервер работает под управлением Windows™ (наш случай), то URI — smb://user:password@SOMEGROUP/SOMEHOST/SOMEPRINTER. Некоторые поля в описании могут отсутствовать.

    Наконец, в случае Netware-сервера URI — ncp://user:password@SERVER/PRINTER

  2. Шаг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. Шаг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>

Все понятно без лишних комментариев.

Настройка CUPS помощью printerdrake

В составе пакета drakxtools имеется утилита настройки принтера printerdrake; фактически это интерфейс над описанным выше foomatic. Полезно помнить следующие дополнительные аргументы printerdrake:

  • --expert — конфигуратор запускается в режиме «Эксперт» — . Вам будут задавать больше вопросов, но зато вы сможете произвести более тонкие настройки;

  • --lpd — в качестве спулера будет использоваться lpd (для Compact недействительно);

  • --cups — в качестве спулера будет использоваться CUPS.

При задании принтера вы пройдете через несколько диалогов: выбор действия, выбор местоположения принтера, уточнение местоположения (например, пароля и имени для доступа к удаленному серверу), задание имени принтера, выбор модели принтера и драйвера, печать тестовых страниц.

Еще один момент. Перед запуском printerdrake проверяет установленное программное обеспечение и доустанавливает, если это необходимо, необоходимые пакеты. В частности, если вы установили GIMP, то printerdrake дополнительно поставит дополнительные драйверы gimp-print.

Как удалить лишние принтеры?

Если вы слишком увлеклись настройками и теперь путаетесь между десятком заведенных принтеров, то самое время удалить лишние.

Удаление можно производить вручную удалением описания из конфигурационых файлов спулера (/etc/cups/printers.conf). Для CUPS можно вновь воспользоваться Web-интерфейсом. Если вы использовали foomatic (или printerdrake), то полезно знать команду

$ foomatic-configure -s тип_спулера -n имя_принтера -R

где тип_спулера — CUPS.