Как сделать сервер печати на linux

Добавил пользователь Skiper
Обновлено: 04.10.2024

The primary mechanism for Ubuntu printing and print services is the Common UNIX Printing System (CUPS). This printing system is a freely available, portable printing layer which has become the new standard for printing in most Linux distributions.

CUPS управляет заданиями на печать и очередями, а также обеспечивает печать по сети, используя стандартный протокол печати Интернет, (Internet Printing Protocol, IPP). В то же время он поддерживает большое количество принтеров, от матричных до лазерных. CUPS также поддерживает описание принтеров PostScript (PostScript Printer Description, PPD) и авто-определение сетевых принтеров, и имеет простой web-ориентированный инструмент настройки и администрирования.

Установка

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

Конфигурация

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

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

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

Если вы внесете изменения в файл конфигурации /etc/cups/cupsd.conf , вам будет необходимо перезапустить CUPS сервер, выполнив следующую команду в терминале:

Некоторые дополнительные настройки CUPS сервера выполняются в файле /etc/cups/cups.d/ports.conf :

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

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

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

Как работает 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/2up, который настроен таким образом, что будет печатать две страницы на листе, да ещё и добавлять к ним титульные страницы. Теперь для печати можно использовать команду lpr в следующем виде:

Как видно, ключ -P задаёт используемый принтер, в данном случае созданный экземпляр ML2010/2up для печати двух страниц на листе с соответствующими титульными страницами.

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

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

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

  • задание нескольких очередей для одного принтера со своими параметрами по-умолчанию;
  • балансировка нагрузки между несколькими принтерами с помощью отдельного сервера;
  • организация нескольких серверов для работы с несколькими экземплярами одного и того же принтера;
  • поддержка клиентов Windows;

и многое другое.

Заключение

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

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

Samba — это бесплатная программная реализация сетевого протокола SMB/CIFS, которая предоставляет файловые и печатные службы для клиентов Windows и Linux. Она может интегрироваться с доменом Windows Server.

В этой инструкции описан метод как настроить принт сервер samba на CentOS Linux.

Требования для настройки сервера печати Samba на CentOS

  • Компьютер с установленной на нем системой CentOS.
  • Подключение к Интернету.
  • Компьютер с любой установленной на нем версией Windows.

Установка Samba на CentOS

Команды которые написаны ниже установят сервис, а так же запустят его и заставят его включаться при старте ОС Linux

$ sudo yum install samba
$sudo service smb start
$sudo chkconfig smb on

Далее проверьте запущена ли служба cups (CUPS в настоящее время является наиболее широко используемой системой в средах Unix/Linux). Сделать это можно легко, выполните код который показан ниже.

Терминал должен ответить следующее

Настройка сервера принтеров с помощью samba

Smb.conf — это конфигурационный файл для программы samba. Теперь откройте любой текстовый редактор ‘/etc/samba/smb.conf‘ и измените раздел принтеров на соответствующий ниже:

[Printers]
comment=
Printer Drivers path = /var/lib/samba/drivers
browseable = yes
guest ok = yes
read only = no

Теперь перезапустите службу samba

В файле /var/lib/samba/printers хранятся все драйверы принтера. Вы должны скопировать все файлы драйверов в каталог ‘/var/lib/samba/printers‘.

Доступ к принтеру с компьютера Windows

В Windows нажмите сочетание клавиш Win+R. Откроется окно «выполнить«, введите адрес сервера или имя сервера для получения доступа к серверу печати.

Настройка сервера печати Samba в CentOS Linux

Настройка сервера печати Samba в CentOS Linux

Щелкните правой кнопкой мыши на принтере, который вы хотите установить, и выберите подключить. Вам будет предложено установить драйвер. После того как вы нашли свой драйвер и дали согласие на установку принтера он у вас появится в «Устройства и принтеры«. Поздравляю, теперь можно печатать.

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

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

Когда на компьютере, к которому подключен принтер, установлена операционная система Windows то сделать это не составит труда.

Достаточно в свойствах принтера поставить галочку в поле — разрешить общий доступ к принтеру.

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

Рассмотрим вариант когда принтер подключен к машине с операционной системой Linux.

Вот тут не все так просто, для не подготовленного человека.

Хотя принцип такой же как и в windows. Делаем принтер общедоступным и потом настраиваем его на нужном нам компьютере из этой локальной сети.

Для дальнейших действий, принтер должен быть у вас подключен и настроен для печати, на компьютере к которому он подключён.

Как я настраивал свой принтер Canon LBP 6000 — подробно в этой статье.

В Linux печатью управляет CUPS.

CUPS (Common UNIX Printing System) — сервер печати для UNIX-подобных операционных систем. Компьютер с запущенным сервером CUPS представляет собой сетевой узел, который принимает задания на печать от клиентов, обрабатывает их и отправляет на соответствующий принтер.

Состав CUPS:

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

планировщик

система фильтрации, преобразующая данные печати в формат, понятный принтеру

Back-end — система, отправляющая данные на устройства печати.

Чтоб сделать принтер общедоступным нам необходимо зайти в настройки этой службы.

Для этого вам необходимо в браузере зайти по адресу:

Открыть вкладку Администрирование и поставить галочку в чек боксе — разрешить совместный доступ

принтер в linux - служба управления печатью

При внесении различных изменений система может спросить логин и пароль — нужно вводить логин и пароль администратора этой системы Linux.

После этого ваш принтер доступен для остальных компьютеров в локальной сети.

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

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

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

Как посмотреть свой MAС и IP описано в этой статье.

Теперь открываем браузер на компьютере, которому будем настраивать принтер.

Не зависимо от того какая операционная система на нем стоит, для всех систем это работает одинаково.

Пишем путь к системе управления принтером, указав вместо localhost, IP адрес компьютера к которому принтер подключен.

Например, если пк с принтером имеет адрес 192.168.1.41

Перед вами откроется страница сервиса печати компьютера с общедоступным принтером.

Вам необходимо зайти на вкладку принтеры и выбрать нужный вам принтер.

В результате в адресной строке браузера вы увидите полный путь к нашему общедоступному принтеру.

сетевой путь до общедоступного принтера в linux

Теперь открываем мастер установки принтеров, на компьютере в котором нужно его настроить.

Для этого открываем панель управления, выбираем принтеры и устройства , установка сетевого принтера.

Внизу нажимаем — нужный принтер отсутствует в списке и в поле Выбрать общий принтер по имени — вставляем или прописываем этот путь.

настраиваем общедоступный принтер

Нажимаем далее, если спросит какой принтер указываем его из списка и далее.

Так же если нет вашего принтера в списке можно выбрать установить с диска и указать, на заранее подготовленный, файл — драйвер вашего принтера.

Если у вас windows 10

Открываете параметры, устройства, принтеры и сканеры.

Выбираете пункт — необходимый принтер отсутствует в списке и указываете путь вручную.

установка расшаренного из linux принтера в windows 10

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

Если, что то Вам не понятно пишите в комментариях — отвечу и постараюсь помочь.

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

Читайте также: