16.1 Настройка печати с помощью CUPS (Configuring Printing with CUPS)¶
Какую бы операционную систему вы ни использовали, одна из важнейших предоставляемых ею служб — это возможность отправлять задания на печать. Если вы не верите в это, просто отключите офисный принтер на час и понаблюдайте за воцарившимся хаосом. Хотя, конечно, лучше этого не делать. Коллеги могут причинить вам физический вред.
Суть в том, что печать жизненно необходима большинству пользователей. Поэтому вы должны хорошо разбираться в печати в Linux. В данном разделе главы будут рассмотрены следующие темы:
- Как работает печать в Linux
- Установка CUPS
- Настройка CUPS
- Использование демона построчной печати (lpd)
- Устранение неполадок печати
Начнём с обсуждения принципов работы печати в Linux.
Как работает печать в Linux (How Linux Printing Works)¶
Наиболее распространённая система печати Linux, используемая сегодня, — это Common UNIX Printing System (CUPS). CUPS был разработан с нуля с целью сделать печать в Linux как можно более простой — как при печати на локально подключённый принтер, так и на удалённый сетевой принтер. Служба CUPS реализована демоном cupsd, который автоматически объявляет о доступности своих очередей печати в локальной сети. Клиентские системы CUPS прослушивают эти объявления, позволяя пользователю выбрать нужный принтер, имея минимальные знания о работе сети. Кроме того, CUPS поддерживает сетевую печать через протокол Internet Printing Protocol (IPP) на порту 631. Система CUPS состоит из нескольких компонентов.
Первый — планировщик CUPS (CUPS scheduler), представляющий собой веб-сервер, предназначенный исключительно для обработки запросов печати IPP от клиентов CUPS. Поскольку планировщик CUPS работает на порту IP 631, он может сосуществовать с веб-сервером Apache на той же системе. На самом деле конфигурационный файл CUPS даже внешне похож на конфигурационный файл веб-сервера Apache. Помимо обработки заданий на печать, планировщик CUPS также функционирует как обычный веб-сервер, предоставляя документацию и веб-инструмент администрирования CUPS в браузере.
Следующие компоненты, с которыми необходимо познакомиться, — это фильтры CUPS (CUPS filters). Современные принтеры используют различные языки описания страниц (PDL, Page Description Language). В Linux большинство приложений генерируют задания печати с использованием PDL PostScript компании Adobe. Это хорошо работает при наличии принтера, совместимого с PostScript. Однако не все принтеры поддерживают PostScript, поскольку производитель принтера должен выплачивать лицензионные отчисления компании Adobe, что может существенно увеличить стоимость устройства. Вместо этого многие производители принтеров, например Hewlett-Packard, используют PDL Printer Control Language (PCL). Другие производители, например Epson, используют PDL ESC/P.
Если ваш принтер несовместим с PostScript, для преобразования заданий печати из формата PostScript в нужный формат с использованием PDL принтера-получателя применяются фильтры CUPS. Эти фильтры расположены в /usr/lib/cups/filter.
Следующие компоненты, которые необходимо знать, — это серверные модули CUPS (CUPS backends). Серверные модули обеспечивают интерфейс между планировщиком и реальным оборудованием принтера. Серверные модули CUPS расположены в /usr/lib/cups/backend. CUPS предоставляет серверные модули для различных интерфейсов принтеров, включая параллельный, последовательный, USB и другие. При каждом запуске cupsd он опрашивает каждый установленный в системе серверный модуль. Серверные модули отвечают демону, сообщая, подключён ли принтер. Если принтер подключён, они сообщают информацию о нём, в том числе производителя и модель.
Следующие компоненты CUPS, с которыми нужно познакомиться, — это файлы PPD (PostScript Printer Description — описание принтера PostScript). Файлы PPD используются демоном cupsd для определения возможностей принтера. Эти файлы PPD хранятся в /etc/cups/ppd.
Последний компонент CUPS, с которым необходимо познакомиться, — это веб-утилита администрирования (web-based administration utility). Планировщик CUPS предоставляет веб-интерфейс администрирования. Веб-утилита администрирования CUPS позволяет настраивать принтеры и управлять заданиями печати. Чтобы открыть её, запустите браузер и перейдите по адресу http://адрес_вашего_сервера:631. В результате откроется экран, показанный на рис. 16-1.

Рис. 16-1. Использование утилиты администрирования CUPS.
Когда задание печати отправляется на сервер CUPS, происходит процесс, изображённый на рис. 16-2.

Рис. 16-2. Отправка задания на печать.
Сначала приложение на клиентской системе создаёт задание на печать и отправляет его демону cupsd на сервере. Демон сохраняет задание в каталоге буферизации. Информация об очереди печати и фильтре из задания на печать сохраняется в /var/spool/cups. Файл именуется с префиксом c, к которому присоединяется номер задания печати, присвоенный cupsd. Распечатываемый документ также сохраняется в /var/spool/cups. На этот раз, однако, файл именуется с префиксом d, к которому присоединяется номер задания печати, присвоенный cupsd.
Далее задание печати направляется в фильтр для преобразования в нужный PDL. После этого преобразованное задание передаётся из фильтра в серверный модуль, который пересылает задание на подключённый принтер. После отправки задания на принтер серверный модуль уведомляет демона cupsd, и задание удаляется из очереди печати.
Теперь, когда вы знаете, как работает печать CUPS, необходимо рассмотреть установку этой службы в вашей системе Linux. Перейдём к этому вопросу.
Установка CUPS (Installing CUPS)¶
В отличие от служб, рассмотренных ранее в этой главе, весьма вероятно, что ваш дистрибутив Linux уже установил пакеты, необходимые для обеспечения печати CUPS, по умолчанию. Как уже было сказано, CUPS является системой печати по умолчанию, используемой большинством современных дистрибутивов Linux.
Если по какой-либо причине ваш дистрибутив не установил CUPS, воспользуйтесь предпочтительной утилитой установки пакетов для установки следующих пакетов (вместе со всеми зависимостями):
cupscups-client(необязательно)gutenprint(содержит драйверы принтеров для cups)cups-libslibgnomecups(необязательно)
Примечание
Конкретный список устанавливаемых пакетов может различаться в зависимости от вашего дистрибутива.
После установки пакетов двоичный файл, обеспечивающий работу службы CUPS, — это исполняемый файл cupsd, расположенный в /usr/sbin. Если ваш дистрибутив использует демон init для управления процессами, служба CUPS запускается и останавливается с помощью сценария инициализации cups в /etc/init.d или /etc/rc.d/init.d, показанного на рис. 16-3. Если ваш дистрибутив основан на systemd, служба CUPS запускается и останавливается с помощью файла /usr/lib/systemd/system/cups.service.

Рис. 16-3. Сценарий инициализации cups.
После установки пакетов CUPS в вашей системе можно переходить к настройке и запуску службы CUPS на сервере. Рассмотрим, как это сделать.
Настройка CUPS (Configuring CUPS)¶
Служба CUPS производит впечатление сложной — и под капотом так и есть. К счастью, разработчики CUPS сделали её настройку и управление максимально простыми. В данной части главы вы узнаете, как настраивать CUPS, рассмотрев следующие темы:
- Настройка службы CUPS
- Настройка принтера CUPS
- Использование инструментов командной строки для управления CUPS
Начнём с обсуждения настройки демона cupsd.
Настройка службы CUPS (Configuring the CUPS Service)¶
Служба CUPS настраивается с помощью нескольких текстовых файлов в каталоге /etc/cups. Файл /etc/cups/cupsd.conf — основной конфигурационный файл для настройки демона cupsd (называемого планировщиком). Помните, что cupsd — это также HTTP-сервер, подобный Apache. Соответственно, файл cupsd.conf очень похож на конфигурационный файл веб-сервера Apache. Пример файла cupsd.conf показан на рис. 16-4.

Рис. 16-4. Использование файла cupsd.conf для настройки CUPS.
Рис. 16-4 показывает лишь небольшую часть файла cupsd.conf, который является весьма объёмным. Файл cupsd.conf состоит из множества директив сервера, определяющих режим работы cupsd. В рамках данной книги нет времени и места для рассмотрения всех параметров конфигурации cupsd.conf. Здесь будут рассмотрены только наиболее важные из них. Для получения дополнительных сведений обратитесь к man-странице cupsd.conf. Также можно открыть http://localhost:631/help/ в браузере вашей системы Linux, чтобы просмотреть расширенный список директив cupsd.conf, или посетить http://www.cups.org/documentation.php/ref-cupsd-conf.html. Некоторые из наиболее полезных директив cupsd.conf приведены в таблице 16-1.
| Директива | Описание |
|---|---|
ServerName |
Задаёт имя сервера, объявляемое клиентам CUPS. |
ServerAdmin |
Задаёт адрес электронной почты, по которому пользователи могут связаться с администратором CUPS. |
DocumentRoot |
Задаёт каталог, где хранятся документы, предоставляемые cupsd клиентам. По умолчанию это /usr/share/doc/packages/cups. |
LogLevel |
Задаёт уровень детализации сведений, сохраняемых в файлах журналов. Возможные значения: none — ведение журнала отключено; error — только ошибки; warn — ошибки и предупреждения; info — ошибки, предупреждения и запросы печати (по умолчанию); debug — почти все сообщения cupsd; debug2 — все сообщения cupsd. |
MaxCopies |
Устанавливает ограничение на количество копий в рамках одного задания печати. По умолчанию — 100. |
MaxJobsPerUser |
Ограничивает количество активных заданий печати на одного пользователя. |
User |
Задаёт пользователя, от имени которого выполняется cupsd. По умолчанию cupsd запускается от имени lp. |
Group |
Задаёт группу cupsd. По умолчанию это группа lp. |
MaxClients |
Устанавливает ограничение на количество одновременных клиентских подключений. По умолчанию — 100. |
Browsing |
Задаёт, будет ли cupsd объявлять о своих принтерах с помощью широковещательных пакетов в сети. Значение по умолчанию — on. |
BrowseAddress |
Задаёт широковещательный адрес, используемый cupsd для объявления своих принтеров. Необходимо установить это значение в широковещательный адрес вашего сетевого сегмента. На некоторых дистрибутивах данная директива может быть отключена по умолчанию. Пока она не включена, cupsd не будет объявлять о своих принтерах. Если клиенты не видят ваши принтеры CUPS, эту директиву следует проверить в первую очередь. |
BrowseAllow и BrowseDeny |
Задают, откуда будут приниматься или отклоняться входящие пакеты с информацией о принтерах. Допустимые значения: all, none, hostname.domain_name, *.domain_name, IP_address/netmask, @LOCAL. |
BrowseInterval |
Задаёт интервал между объявлениями о принтерах. По умолчанию — 30 секунд. |
Таблица 16-1. Директивы конфигурации cupsd.conf.
Способ настройки cupsd.conf во многом зависит от конкретной сети, в которой развёртывается система. Хорошая новость в том, что для настройки базовой конфигурации с локальной печатью изменений в cupsd.conf практически не потребуется.
Однако если вы хотите, чтобы другие системы Linux могли выполнять печать через ваш принтер CUPS, необходимо включить директиву BrowseAddress — иначе CUPS не будет объявлять о своих принтерах в сети. По умолчанию на многих дистрибутивах эта директива отключена. Примеры конфигурации данной директивы:
BrowseAddress 255.255.255.255:631
BrowseAddress 192.168.1.255:631
BrowseAddress mydom.com:631
BrowseAddress @LOCAL
Директиве BrowseAddress обычно присваивается значение @LOCAL. Это означает, что CUPS будет отправлять широковещательные объявления о принтерах на все локальные сетевые интерфейсы системы. Можно также присвоить этой директиве значение @IF(имя_интерфейса), чтобы ограничить широковещание конкретным сетевым интерфейсом.
После внесения любых изменений в cupsd.conf обязательно перезапустите демон cupsd. После настройки файла cupsd.conf следующим шагом является создание учётной записи пользователя Linux, которая будет использоваться в качестве администратора CUPS. CUPS не использует те же учётные записи пользователей, что и ваша система Linux. Вместо этого CUPS настроен на хранение учётных записей пользователей в файле /etc/cups/passwd.md5. Чтобы создать учётную запись администратора с именем root в файле passwd.md5, включив её в группу администрирования CUPS с именем sys, следует выполнить команду lppasswd -g sys -a root.
После настройки учётной записи администратора следующая задача — настройка принтера и очереди CUPS. Рассмотрим, как это сделать.
Настройка принтера CUPS (Configuring a CUPS Printer)¶
Все принтеры CUPS определяются в файле /etc/cups/printers.conf. Хотя этот файл можно редактировать вручную, настоятельно рекомендуется использовать вместо этого веб-утилиту администрирования CUPS. С её помощью настройка принтера CUPS выполняется легко. Можно настроить CUPS для обслуживания локально подключённого принтера (и, при необходимости, открыть к нему доступ для других пользователей сети) или подключиться к принтеру CUPS по сети. Например, чтобы настроить CUPS для использования локально подключённого принтера, выполните следующие действия:
- На вашей системе Linux запустите браузер и перейдите по адресу
http://localhost:631. - Выберите Administration. На экране отобразится интерфейс, показанный на рис. 16-5.
- В разделе Printers выберите Add Printer.
- При появлении запроса выполните вход от имени ранее созданного административного пользователя. На экране отобразится интерфейс, показанный на рис. 16-6.
- В разделе Local Printers выберите тип локально подключённого принтера, затем нажмите Continue. Откроется экран, аналогичный показанному на рис. 16-7.
Совет
На этом экране можно также выбрать сетевой принтер. Все транслирующие принтеры CUPS на других сетевых узлах перечислены в разделе Discovered Network Printers. Чтобы отправлять задания печати на один из этих принтеров, достаточно выбрать его.
- В поле Name введите имя принтера.
- В поле Description введите описание принтера.
- В поле Location введите местонахождение принтера.
- Если вы хотите предоставить доступ к принтеру другим пользователям сети, установите флажок Share This Printer.
- Нажмите Continue. На экране отобразится интерфейс, показанный на рис. 16-8.

Рис. 16-5. Экран администрирования CUPS.

Рис. 16-6. Выбор типа принтера.

Рис. 16-7. Добавление нового принтера CUPS.

Рис. 16-8. Настройка производителя и модели принтера.
- Выберите производителя принтера, затем нажмите Continue.
- В поле Model выберите модель принтера, затем нажмите Add Printer.
- Настройте параметры принтера по умолчанию, такие как размер бумаги, цветовая модель, источник носителя, качество печати, двусторонняя печать и т.д. По завершении нажмите Set Default Options.
На этом этапе появится страница с подтверждением добавления принтера. На ней отображается текущий статус принтера — аналогично показанному на рис. 16-9.

Рис. 16-9. Просмотр статуса принтера.
Со страницы статуса принтера можно управлять принтером CUPS: распечатать тестовую страницу, остановить принтер, отменить задание печати, изменить конфигурацию принтера или полностью удалить его.
В этот момент уже можно отправлять задания печати на принтер. В графическом X-приложении достаточно выбрать Файл | Печать, затем выбрать принтер и нажать ОК. Также можно отправлять задания печати на принтер из командной строки с помощью команды lp, которая отправит указанный файл на принтер. Синтаксис команды lp: lp -d имя_принтера имя_файла. Например, чтобы напечатать файл myfiles из текущего каталога на принтере HPLJ2, нужно ввести в командной строке lp -d HPLJ2 ./myfiles:
Как видно из этого примера, задание создаётся и ему присваивается идентификатор (в данном случае HPLJ2-2). Задание добавляется в очередь печати и отправляется на принтер. Утилита lp включает ряд параметров помимо -d, которые можно использовать для создания заданий печати:
-n x— печатаетxкопий;-m— по завершении печати отправляет письмо с подтверждением в локальную учётную запись пользователя;-q x— устанавливает приоритет задания печати равнымx;-o landscape— печатает файл в горизонтальной ориентации вместо вертикальной;-o sides=2— печатает файл в двустороннем режиме на принтере с поддержкой дуплекса.
Также можно настроить другие системы Linux для печати на принтере CUPS. Достаточно настроить новый принтер, указав, что он должен ожидать объявлений CUPS. Настроенный вами принтер CUPS должен отобразиться в течение 30 секунд. После выбора этого принтера все задания печати, отправленные на него, будут перенаправляться по сетевому подключению на ваш принтер CUPS.
Кроме того, если в системе установлен Samba, ваши принтеры CUPS будут автоматически открыты для общего доступа. К ним можно подключаться с рабочих станций Windows и отправлять задания печати. Это действительно удобно!
Перейдём к рассмотрению инструментов командной строки для управления принтерами CUPS.
Использование инструментов командной строки для управления CUPS (Using Command-Line Tools to Manage CUPS)¶
Помимо веб-утилиты администрирования CUPS, для настройки CUPS можно использовать различные инструменты командной строки. Для просмотра информации о принтерах CUPS применяется утилита lpstat. Один из наиболее полезных параметров lpstat — -t.
Он позволяет вывести всю информацию обо всех принтерах CUPS в системе, как показано в следующем примере:
openSUSE:~ # lpstat -t
scheduler running
no system default destination
device for HPLJ2: parallel:/dev/lp0
HPLJ2 accepting requests since Fri 13 May 2011 10:57:13 AM MDT
printer HPLJ2 is idle. enabled since Fri 13 May 2011 10:57:13 AM MDT
Printer is now online.
Здесь показан принтер CUPS по умолчанию (HPLJ2), способ его подключения (/dev/lp0), текущее обрабатываемое задание печати (при наличии) и список ожидающих заданий.
Для отмены ожидающего задания печати используется команда cancel. Синтаксис: cancel идентификатор_задания. Например, предположим, что было отправлено большое задание печати (руководство пользователя Linux из /usr/share/doc/manual/) и ему был присвоен идентификатор HPLJ2-4. В процессе печати было решено, что это явная трата бумаги. Задание можно остановить и удалить из очереди печати, введя cancel HPLJ2-4 в командной строке. Это также можно сделать из веб-утилиты администрирования CUPS: перейдите на вкладку Jobs, выберите Show Active Jobs, найдите нужное задание и нажмите Cancel Job, как показано на рис. 16-10.

Рис. 16-10. Отмена задания печати из утилиты администрирования CUPS.
Если к системе подключено несколько принтеров CUPS, для указания принтера по умолчанию используется команда lpoptions -d имя_принтера. Например, чтобы установить принтер HPLJ5 в качестве принтера по умолчанию, следует ввести lpoptions -d HPLJ5. Это задаёт принтер по умолчанию для всех пользователей системы. Однако отдельные пользователи могут переопределить это значение, создав файл .lpoptions в своём домашнем каталоге и добавив в него следующую директиву:
Для просмотра параметров конфигурации принтера введите lpoptions -l в командной строке.
Кроме команды lpoptions, для включения или отключения очереди печати принтера можно использовать команды cupsaccept имя_принтера и cupsreject имя_принтера. Например, чтобы отключить очередь печати принтера, можно ввести cupsreject HPLJ2, как показано в следующем примере:
openSUSE:~ # cupsreject HPLJ2
openSUSE:~ # lpstat -t
scheduler is running
system default destination: HPLJ2
device for HPLJ2: parallel:/dev/lp0
HPLJ2 not accepting requests since Fri 13 May 2011 11:03:07 AM MDT -
Rejecting Jobs
printer HPLJ2 is idle. enabled since Fri 13 May 2011 11:03:07 AM MDT
Rejecting Jobs
Сам принтер продолжит обрабатывать задания, находящиеся в очереди, но cupsd не будет допускать новые задания в очередь. Команда cupsdisable также включает параметр --hold, который останавливает печать после завершения текущего задания. Чтобы снова включить очередь, следует ввести cupsaccept HPLJ2.
Для отключения самого принтера, а не очереди, используется команда cupsdisable HPLJ2, как показано в следующем примере:
openSUSE:~ # cupsdisable HPLJ2
openSUSE:~ # lpstat -t
scheduler is running
system default destination: HPLJ2
device for HPLJ2: parallel:/dev/lp0
HPLJ2 accepting requests since Fri 13 May 2011 11:15:28 AM MDT
printer HPLJ2 disabled since Fri 13 May 2011 11:15:28 AM MDT -
Paused
Очередь печати продолжит принимать задания, но ни одно из них не будет напечатано, пока не будет введена команда cupsenable HPLJ2. Команда cupsenable также включает параметр --release для запуска отложенных заданий на печать.
Использование демона построчной печати (lpd) (Using the Line Printer Daemon (lpd))¶
Безусловно, CUPS является предпочтительной системой печати для современных дистрибутивов Linux. Однако много лет назад предпочтительной системой печати был демон построчной печати (Line Printer Daemon, lpd). Вероятно, вам не придётся много работать с lpd, но экзамен LPIC-1/Linux+ всё же требует знания некоторых команд для управления этим демоном. Большинство команд lpd имеют функциональность, аналогичную соответствующим командам CUPS, как показано в таблице 16-2.
| Задача | Команда lpd |
|---|---|
| Распечатать документ. | lpr -P имя_принтера имя_файла |
| Просмотреть статус принтера. | lpc status |
| Просмотреть ожидающие задания печати. | lpq |
| Удалить ожидающее задание из очереди. | lprm номер_задания |
Таблица 16-2. Команды lpd.
Интересно, что эти команды также работают с cupsd. Например, можно ввести lpc status в командной строке и получить статус ваших принтеров CUPS, если вместо lpd установлен CUPS.
Устранение неполадок печати (Troubleshooting Printing Issues)¶
Спросите любого системного администратора, какие жалобы пользователей он получает чаще всего, и я готов поспорить, что 90 процентов из них назовут две главные проблемы:
- Не могу войти в систему.
- Не могу напечатать.
Чтобы управлять системами Linux, необходимо уметь устранять самые разные неполадки печати. Конечно, рассмотреть здесь все возможные проблемы с печатью не представляется возможным. Вместо этого я поделюсь с вами ключевыми выводами, которые сделал за годы поддержки пользователей и их заданий печати. Мой опыт показывает, что эти советы помогут решить от 80 до 90 процентов встречающихся проблем:
-
Всегда используйте стандартизированную модель устранения неполадок, представленную в предыдущей главе. Да, она применима к печати так же, как и к сетевым проблемам. Не бросайтесь искать решение вслепую, не имея чёткого понимания того, что происходит и каков масштаб проблемы. Напомним, что предлагаемая модель состоит из следующих шагов:
- Сбор информации. Это критически важный шаг. Необходимо точно определить, что произошло. Каковы симптомы? Были ли отображены сообщения об ошибках? Что в них говорится? Насколько масштабна проблема? Она затрагивает только одну систему или многие системы испытывают ту же проблему?
- Выявление изменений. На этом шаге нужно определить, что изменилось в системе. Было ли установлено новое программное обеспечение? Было ли установлено новое оборудование? Что-то изменил пользователь? Что-то изменили вы?
- Формулировка гипотезы. На основе информации, собранной на предыдущих шагах, разработайте несколько гипотез, объясняющих проблему. Для этого может потребоваться исследование: просмотр часто задаваемых вопросов (FAQ) и баз знаний в Интернете. Также следует проконсультироваться с коллегами для проверки гипотез. Используя полученные сведения, сузьте результаты до одной или двух наиболее вероятных причин.
- Определение подходящего исправления. Следующий шаг — использование опыта коллег, FAQ, баз знаний и собственного опыта для определения шагов, необходимых для устранения проблемы. При этом обязательно нужно выявить возможные последствия реализации исправления и учесть их. Нередко исправление может иметь побочные эффекты, столь же серьёзные или более серьёзные, чем исходная проблема.
- Реализация исправления. На этом этапе вы готовы к реализации исправления. Обратите внимание, что в данной модели устранения неполадок перед реализацией исправления проводится большой объём исследований. Это значительно повышает вероятность успеха. После реализации исправления обязательно убедитесь, что проблема действительно устранена и не воспроизводится снова.
- Проверка удовлетворённости пользователей. Необходимо сообщить пользователям о характере проблемы и убедиться, что они знают об её устранении. Также следует объяснить им, как предотвратить возникновение проблемы в будущем. Кроме того, нужно уведомить руководство пользователей о том, что проблема решена.
- Документирование решения. Наконец, необходимо задокументировать решение проблемы. Таким образом, когда она снова возникнет через год или два, вы или другие системные администраторы смогут быстро идентифицировать проблему и способ её устранения.
-
Документируйте поток заданий печати. Откуда они поступают? Отправляются ли они по сетевому соединению или локально? Как они в итоге попадают на принтер?
-
Сначала проверяйте очевидное:
- Закончилась ли бумага в принтере? (Да, это случается постоянно!)
- Включён ли принтер?
- Если это сетевой принтер — подключён ли он к сети? Работает ли сеть? Можно ли выполнить команду
pingк принтеру с рабочей станции пользователя? - Правильный ли принтер выбрал пользователь при отправке задания? Это, по моему опыту, — главная причина проблем пользователей с печатью. Если у пользователя настроено несколько принтеров, он может не понимать разницы между ними или просто не обращать внимания на то, на какой принтер отправляет задание. Когда задание не появляется на его принтере, он звонит вам. Скорее всего, вы обнаружите, что пользователь просто отправил 80 дублирующих экземпляров стостраничного документа на чужой принтер.
- Настроен ли правильный драйвер для принтера? Использование неправильного драйвера приведёт к тому, что на принтер будут отправлены сотни страниц бессмысленных символов.
Имея это в виду, выполним настройку CUPS в следующем упражнении.
Упражнение 16-1. Настройка CUPS
В данном упражнении вы установите и настроите CUPS в вашей системе Linux. Упражнение предполагает наличие автономной системы Linux (не виртуальной машины) с установленной и настроенной сетевой платой Ethernet. Также предполагается наличие принтера для подключения к порту USB или параллельному порту системы.
VIDEO Посмотрите видео к упражнению 16-1 для наглядной демонстрации выполнения данного задания.
Выполните следующее:
- Выключите систему Linux и физически подключите принтер.
- Загрузите систему Linux и войдите в систему как обычный пользователь.
- Откройте сеанс терминала.
- Переключитесь в учётную запись суперпользователя root, введя
su -с последующим вводом пароля root. - Воспользуйтесь командой
rpm -q, чтобы убедиться, что пакеты cups, подходящие для вашего дистрибутива, установлены в системе. - Создайте административного пользователя CUPS, выполнив следующее:
a. В командной строке введите
lppasswd -g sys -a root. b. При появлении запроса на ввод пароля введитеM3linux273. - Создайте принтер CUPS, выполнив следующее:
a. Откройте браузер и перейдите по адресу
http://localhost:631. b. Выберите Administration. c. В разделе Printers выберите Add Printer. d. При появлении запроса на аутентификацию войдите какrootс паролемM3linux273. e. В разделе Local Printers выберите тип принтера, затем нажмите Continue. f. В поле Name введите имя принтера. g. В поле Location введите местонахождение принтера. h. В поле Description введите описание принтера. i. Откройте доступ к принтеру в сети, установив флажок Share This Printer, затем нажмите Continue. j. В поле Make выберите производителя принтера, затем нажмите Continue. k. В поле Model выберите модель принтера, затем нажмите Continue. На этом этапе принтер должен быть создан. - Отправьте задание печати на принтер, выполнив следующее:
a. Откройте сеанс терминала и создайте список файлов в домашнем каталоге пользователя.
b. Выберите текстовый файл для печати.
c. В командной строке введите
lp -d имя_принтера имя_файла. d. Убедитесь, что документ распечатан на вашем принтере.