Меню

Как установить cups в ubuntu

Система печати CUPS в Linux

Практически все сервисные подсистемы, будь то графическая подсистема X Window, службы резервного копирования и т. д., для операционной системы (ОС) Linux, как и сама ОС построены на модели «клиент-сервер». Не стала исключением и служба печати, такая как CUPS. На сегодняшний день эта система является самой популярной для UNIX-подобных систем. А также активно развивается и поддерживается разработчиками. В данной статье речь пойдёт о том, что собой представляет система печати CUPS в целом. О принципах её работы, а также об особенностях её использования. Поскольку это может помочь как обычным пользователям, так и администраторам UNIX/Linux при использовании принтеров. Да и вообще задач печати.

Что собой представляет CUPS?

Система печати CUPS – это обычный веб-сервер (cupsd) и веб-клиенты, взаимодействующие между собой по протоколу HTTP. На самом деле обмен данными происходит по протоколу IPP (Internet Printing Protocol). Который является тем же HTTP, в который добавлена поддержка печати. В основе взаимодействия лежат отправка клиентами своих заданий с помощью метода POST протокола HTTP (IPP), а также запросы соответствующих статусов по методу GET всё по тому же протоколу.

По-умолчанию сервер cupsd работает по порту 631. Поскольку это типичный веб-сервер, то для него доступен веб-интерфейс для администрирования. Достаточно в любом браузере перейти по адресу http://хост_печати:631. В локальной системе это будет адрес http://localhost:631. Естественно, если сконфигурировать сеть и требуемые виртуальные хосты для работы с SSL (для должной безопасности или секретности), то можно также использовать и соответствующий порт для доступа к админке CUPS: https://хост_печати:433.

Также для администрирования cupsd существуют и обычные команды. Обычно над такими командами создаются соответствующие «обёртки» в виде графических утилит. Они доступны «из коробки» для любой графической среды. Соответствующие разделы обычно находятся в составе главных утилит по настройке системы. Также управление печатью и принтерами доступно через виджеты и апплеты рабочего стола. К примеру в GNOME или KDE.

Как работает CUPS?

Как уже было отмечено, сервер cupsd хоть и поддерживает использование командной оболочки для своего управления, всё же имеющийся веб-интерфейс более удобен. Но более консервативные пользователи или администраторы, которым лень настраивать/запускать X-сервер, могут легко обойтись и интерфейсом командной строки. Например, чтобы распечатать документ таким способом, следует выполнить команду:

Команда lpr передаст копию файла week_report.pdf на сервер cupsd. Который в свою очередь формирует для принтера очередь печати. Как только принтер будет доступен (готов для печати), сервер cupsd начнёт последовательную обработку очереди. В процессе работы CUPS читает файл документа, а также файл описания принтера (PPD-файл) для получения сведений о том, какие действия необходимо дополнительно выполнять, чтобы конкретный документ был корректно распечатан.

Процесс формирования задания для печати системой CUPS также довольно примечателен. Дело в том, что прежде чем задание будет сформировано, оно должно пройти сквозь конвейер подготовки. Который состоит из специализированных фильтров. Каждый из таких фильтров задаёт, в частности, некоторые параметры печати. Например, если пользователем было задано, чтобы на одном листе печаталось несколько страниц, то будет применён соответствующий фильтр и в итоге задание печати будет иметь определённый формат, зависящий от исходных параметров, заданных пользователем. Фильтры могут выполнять самые различные функции, например помогают принтерам выполнять растеризацию печатаемых изображений или просто инициализировать сам принтер.

Читайте также:  Как установить роутер киевстар домашний интернет

Заключительным и важным этапом в работе системы CUPS является передача сформированного задания через внутренний интерфейс с узла (на котором работает сервер cupsd) непосредственно на принтер через поддерживаемый протокол и/или сетевой интерфейс, например через Ethernet. В обратном направлении передаются сведения о состоянии задания. Следующая команда выводит все доступные внутренние интерфейсы, через которые возможно взаимодействие с принтером:

После получения задания от сервера cupsd, принтер приступает (точнее пытается это сделать, поскольку попытки могут быть не всегда успешными) к его выполнению. В свою очередь, сервер печати, передав задание принтеру, возвращается к формированию других заданий и обработке запросов от клиентов.

Очереди печати

Для клиентов системы CUPS есть возможность управлять очередями печати, которые уже сформированы сервером cupsd. Таким образом можно откладывать задания, отменять, изменять их приоритет и даже переносить их между разными очередями.

Для получения информации об имеющихся заданиях и их состояниях существует команда:

Именно из её вывода можно получить номер (или идентификатор) задания, который потом используется для управления этим заданием. Таким образом осуществляется непосредственное управление очередями печати. К примеру, для того, чтобы отменить какое-либо задание в очереди следует выполнить команду:

Для получения информации о текущем состоянии сервера cupsd существует команда:

Использование нескольких принтеров

Когда в системе установлено и корректно настроено несколько принтеров, неплохо иметь какой-то один, используемый по-умолчанию. Это можно сделать, задав соответствующую переменную окружения PRINTER:

Или можно воспользоваться командой lpoptions, которая задаёт параметры работы (и использования) принтера по-умолчанию для текущей учётной записи пользователя:

Настройки, устанавливаемые по-умолчанию для пользователей хранятся в их домашних каталогах в файле

/lpoptions. А для учётной записи администратора, для тех же целей существует файл /etc/cups/lpoptions.

Несколько экземпляров одного принтера

Система CUPS позволяет использовать один и тот же принтер для различных целей, определяя для него несколько режимов работы. Распространённым случаем является печать на одном принтере черновых (для экономии краски или тонера) и законченных документов с высококачественной печатью.

Всё, что нужно — это задать для принтера несколько его экземпляров со своими настройками, которые можно определить отдельно, как для «самостоятельного» принтера. Например, следующая команда для принтера ML-2010:

создаст для него экземпляр ML-2010/2up, который настроен таким образом, что будет печатать две страницы на листе, да ещё и добавлять к ним титульные страницы. Теперь для печати можно использовать команду lpr в следующем виде:

Печать по сети

Система CUPS обладает хорошей гибкостью для адаптации и развёртыванию в сетях. На каждом компьютере в сети работают свои сервера cupsd, которые при должной настройке можно заставить обмениваться информацией между собой. Благодаря этому возможен доступ к удалённым принтерам. Причём к тем, что находятся даже в других посетях. Все настройки для этого делаются в файле /etc/cups/cupsd.conf. Кроме того, этого же можно добиться, активировав соответствующие опции через веб-интерфейс сервера CUPS.

Пусть требуется, чтобы к серверам john (192.168.1.5) и michael (192.168.2.7). Которые находятся в разных подсетях, можно было получить доступ для печати из третьей подсети 192.168.3. Решением является организация «подчинённого» сервера печати (к примеру bob на 192.168.3.8). Путём добавления в его файл конфигурации cupsd.conf следующих строк:

Читайте также:  Как установить directx 11 на windows 7 если видеокарта его не поддерживает

Как видно, первые две строки указывают «подчинённому» серверу bob запрашивать информацию у серверов john и michael о принтерах в их собственных подсетях. В третьей строке задаётся инструкция для предоставления полученной от john и michael информации о принтерах внутри подсети сервера bob.

Система CUPS довольно функциональная и позволяет решать широкий спектр задач, как например:

Заключение

В заключении следует отметить, что при рассмотрении приводимых в примерах команд подробно не рассматривались сами команды. Поскольку эта информация не является принципиальной или труднодоступной. Обо всех интересующих деталях можно подробнее узнать, используя справочные руководства, например посредством команды man lpoptions. Сама же процедура настройки системы печати даже в сложных сетях трудностей обычно не вызывает. Если нет проблем с драйверами самих принтеров. Сама же система CUPS очень надёжна и стабильна. Не говоря уже о её гибкости и возможностях масштабирования. Неудивительно, что именно системой CUPS комплектуются все современные дистрибутивы Linux по-умолчанию.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Сервер печати CUPS

Содержание

Сервер печати CUPS

CUPS управляет заданиями печати и обеспечивает сетевую печать с использованием стандарта IPP (интернет протокол печати), поддерживая огромный список принтеров от матричных до лазерных и любых других. CUPS также поддерживает PostScript описание принтеров (PPD) и автоопределение сетевых принтеров, а также простую настройку и администрирование через web интерфейс.

Установка

Для установки CUPS на ваш Ubuntu компьютер просто используйте sudo для выполнения команды apt-get, передав ей названия пакетов в качестве параметра. Полная установка CUPS содержит много зависимостей, но они все могут быть определены в одной команде. Введите следующее в терминале для установки CUPS:

После аутентификации вас по паролю, пакеты должны загрузиться и установиться без ошибок. В заключении установки сервер CUPS будет запущен автоматически.

При необходимости решения проблем, вы можете получить доступ к ошибкам сервера CUPS через файл журнала /var/log/cups/error_log. Если журнал ошибок не дает достаточно информации для решения какой-либо проблемы, уровень журналирования CUPS можно повысить изменением директивы LogLevel в файле настроек (описывается ниже) до debug или даже debug2 со стандартного info, что будет сохранять в журнал абсолютно все. Если вы проведете такое изменение, не забудьте вернуть все обратно после решения проблемы, чтобы избежать излишнего разрастания файла журнала.

Настройка

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

Скопируйте и защитите от записи файл /etc/cups/cupsd.conf.original с помощью следующих команд в терминале:

1. ServerAdmin: Для настройки email адреса назначенного администратора CUPS сервера, просто откройте на редактирование файл /etc/cups/cupsd.conf с помощью своего любимого текстового редактора, и добавьте или измените строку ServerAdmin соответствующим образом. Например, если вы администратор CUPS сервера и ваш email адрес ‘bjoy@somebigco.com’, вам следует изменить строку ServerAdmin следующим образом:

Читайте также:  Как правильно установить встроенные светильники

2. Listen: В Ubuntu по умолчанию установленный CUPS сервер слушает только интерфейс обратной петли по адресу 127.0.0.1. Чтобы заставить CUPS сервер прослушивать актуальный IP адрес сетевого адаптера, вы должны указать сетевое имя или пару IP адрес/порт добавочной директивой Listen. Например, если ваш сервер находится в локальной сети с IP адресом 192.168.10.250 и вы хотите сделать его доступным для других систем в этой подсети, отредактируйте /etc/cups/cupsd.conf, добавив директиву Listen, как показано ниже:

В приведенном примере вы можете закомментировать или удалить ссылки на адрес обратной петли (127.0.0.1), если вы не хотите, чтобы cupsd прослушивал этот интерфейс, а только Ethernet интерфейсы локальной сети. Чтобы разрешить прослушивать все сетевые интерфейсы, назначенные определенному сетевому имении, включая обратную петлю, вы можете создать такую запись Listen для имени (например) socrates:

или опустить директиву Listen и использовать вместо нее Port:

Для дополнительных примеров по директивам в файле настройки CUPS, смотрите ассоциированную страницу системного руководства, введя в терминале следующую команду:

Web интерфейс

Чтобы выполнить административную задачу через web интерфейс, вы должны либо разрешить учетную запись root на своем сервере, либо авторизоваться как пользователь из группы lpadmin. По соображениям безопасности CUPS не авторизует пользователей с пустыми паролями.

Чтобы добавить пользователя в группу lpadmin, выполните в терминале следующую команду:

Дальнейшая документация доступна через закладку Documentation/Help web интерфейса.

Источник

Настройка печати и печать в Linux RedHat/CentOS

В данной статье будет выполнена настройка CUPS из командной строки операционной системы CentOS/RedHat. Однако, аналогичным способом, подсистема печати может быть настроена практически на любой Unix-подобной системе.

Установка CUPS

CUPS может быть установлен из репозитария операционной системы CentOS/RedHat стандартными средствами:

После завершения установки запустим сервер CUPS и добавим его в автозагрузку:

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

Подключение принтера в CUPS

Для подключения и настройки принтера в CUPS проще всего воспользоваться WEB-интерфейсом, который доступен после установки.

По умолчанию, WEB сервис доступен на локальном интерфейсе на порту 631: http://localhot:631.

Для доступа к настройкам необходимо указать учетные данные локального пользователя, входящего в группу root или sys (настройки по умолчанию). Список групп, для которых разрешен доступ к настройкам, описан в конфигурационном файле: /etc/cups/cups-files.conf.

Удаленный доступ к WEB-интерфейсу CUPS

Настройка доступа к интерфейсу CUPS осуществляется в конфигурационном файле: /etc/cups/cupsd.conf.

Но проще всего выполнить настройку параметров удаленного доступа к WEB-интерфейсу CUPS с помощью следующей команды:

Эта команда автоматически обновит конфигурационный файл /etc/cups/cupsd.conf, а оригинальный файл будет переименован в cupsd.conf.O.

После этого станет возможным открыть WEB-интерфейс с удаленного компьютера по адресу: http://ИМЯ_СЕРВЕРА_CUPS(или_его_IP):631

Проверка печати в Linux

Выполнить проверку печати можно, как минимум, двумя способами:

через WEB интерфейс:

из командной строки:

Печать PDF файла из командной строки в Linux

Для печати PDF файла из командной строки можно воспользоваться стандартной командой печати, приведенной выше:

Источник