Как сделать общий доступ принтеру centos

Обновлено: 04.07.2024

CentOS - создание общей папки и подключение к ней из Windows

Ниже кратко расскажу, как создать общую папку в CentOS и подключиться к ней из Windows.

Настройка Samba

Разрешаем подключение фаерволе:

iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 137 -j ACCEPT
iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 138 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.1.0/24 --dport 139 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 445 -j ACCEP

Состояние перевода: На этой странице представлен перевод статьи CUPS/Printer sharing. Дата последней синхронизации: 13 июля 2018. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Эта статья содержит инструкции по совместному использованию принтеров между системами, будь то между двумя системами GNU/Linux или между системой GNU/Linux и Microsoft Windows.

Contents

Создание класса для нескольких принтеров

'Класс' в CUPS имеет значение группы. Когда у вас есть несколько принтеров, подключенных к одному серверу CUPS, вы можете захотеть их сбалансировать (задания на печать автоматически помещаются в очередь для разных принтеров). Это также дает преимущество в том, что пользователи на удаленной машине работают с одним 'принтером'. Что особенно полезно, когда один принтер вышел из строя, вы просто исключаете его из класса, но для конечных пользователей ничего не изменится - печать заданий, поставленных на другой принтер сервером CUPS, продолжает обрабатываться. Создание и управление классами можно выполнять из веб-интерфейса CUPS.

Внутри систем GNU/Linux

Сервер можно настраивать с помощью веб-интерфейса или путем ручного редактирования файла /etc/cups/cupsd.conf . Смотрите статью CUPS (Русский) для настройки клиента.

Использование веб-интерфейса

В верхней части находится вкладка Администрирование - кликните по ней, нажмите на кнопку добавления принтера, при этом будут автоматически определены подключенные принтеры. Если этого не произойдет, отключите принтер и подключите его снова.

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

Ручная настройка

На сервере (тот, который управляет и подсоединён к принтеру) разрешите доступ к серверу, изменив строчки с тэгом Location. Например:

Также убедитесь, что серверу для адресации доступен IP-адрес клиента:

Есть другие возможности для настройки, включая автоматические способы, которые детально описаны в Использование сетевых принтеров и cupsd.conf(5) .

После внесения каких-либо изменений перезапустите службу org.cups.cupsd .

Если CUPS запускается с помощью активации сокета, создайте drop-in сниппет для org.cups.cupsd.socket , чтобы активация сокета работала и с удаленными подключениями:

Включение обнаружения

Чтобы включить отображение (обнаружение) общего принтера, необходимо установить Avahi и запустить его на сервере. Если вам не нужно обнаружения принтера, тогда Avahi не требуется ни на сервере, ни на клиенте.

Чтобы включить отображение, выберите Показывать общие принтеры, подключенные к этой системе в веб-интерфейсе, или вручную включите Browsing и введите BrowseAddress:

затем перезапустите службу org.cups.cupsd .

Обратите внимание, что "обнаружение" на сервере - другая вещь по сравнению с "обнаружением" на удаленном сетевом хосте. На сервере печати cupsd предоставляет поддержку протокола DNS-SD, который транслируется avahi-daemon . Служба cups-browsed не нужна на сервере печати за исключением, если будет транслироваться старый протокол CUPS'а, или если сервер печати также будет "обнаруживать" другие сетевые принтеры. На удаленном сетевом хосте служба cups-browsed требуется для "обнаружения" сетевой трансляции служб печати, а также запущенная служба cups-browsed будет автоматически запускать cupsd .

Служба org.cups.cupsd.service запускается автоматически при подключении USB-принтера, но это может быть не так для других типов подключений. Если cupsd не запущен, тогда avahi-daemon не транслирует службу печати, поэтому в этом случае service-файл юнита systemd должен быть изменен при запуске во время загрузки, а затем служба снова должна быть "включена/установлена" с новой зависимостью. Чтобы сделать это, отредактируйте раздел файла службы [Install] , добавив зависимость WantedBy=default.target , а затем включите и запустите службу org.cups.cupsd.service .

Между GNU/Linux и Windows

Сервер Linux - клиент Windows

После настройки сервера установите драйвера для принтера на компьютере под управлением Windows. Если принтер сервера CUPS настроен на использование собственных драйверов вместо raw (raw - когда cups просто передает на принтер полученное задание для печати без какой-либо обработки), вы можете просто выбрать общий драйвер postscript для клиента Windows (например, 'HP Color LaserJet 8500 PS' либо 'Xerox DocuTech 135 PS2', либо 'Microsoft PS Class driver').

Общий доступ с помощью Bonjour

Службы печати Bonjour позволяет клиентам Windows легко подключаться к серверам печати Unix с включенным обнаружением.

Общий доступ с помощью IPP

Internet Printing Protocol является широко поддерживаемым стандартом среди операционных систем, который также прост в настройке. Он имеет функцию переадресации портов, туннелирования и т.д.

Примечание: Возможно, вам придется добавить Internet Printing Client в Windows (Панель управления > Программы > Включение или отключение компонентов Windows > Службы печати и документов)

На компьютере с Windows, перейдите в Панель управления > Просмотр устройств и принтеров и выберите в контекстном меню 'Добавить принтер'. Если у вас Windows 10, нажмите кнопку "Принтер, который я хочу, не указан". Далее, выберите 'Выбрать общий принтер по имени' и тип расположения принтера:

(Где hostname - это имя хоста или IP-адрес сервера GNU/Linux, а printer_name - это имя подключенного принтера. Вы также можете использовать полное доменное имя сервера, если оно есть, но вам может потребоваться установить ServerAlias my_fully_qualified_domain_name в /etc/cups/cupsd.conf , чтобы это заработало).

Общий доступ с помощью Samba

Samba - реализация протокола обмена файлами Windows и принтерами, даже самых старых.

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

Для настройки Samba на сервере Linux, отредактируйте файл /etc/samba/smb.conf , это даст возможность предоставить общий доступ к принтерам. Файл smb.conf может содержать примерно следующее:

Этого должно быть достаточно для организации совместного доступа, но все-таки рекомендуется добавить для принтера отдельную запись:

Учтите, что при таких настройках, должна существовать учетная запись с правами доступа к принтеру. Для публичного принтера установите guest ok в yes, и удалите строку valid users. Для добавления учетных записей, создайте действующую учетную запись GNU/Linux, а затем установите на Samba-сервере пароль. Например:


Затем перезапустите демон Samba:

Естественно, имеется множество дополнительных настроек сервера печати Samba, поэтому, для получения дополнительной информации, следует обратиться к справочной документации Samba и CUPS. Образцы и примеры можно посмотреть в файле smb.conf.example .

Сервер Windows - клиент Linux

Важно: Любые особые символы в URI принтера должны быть соответствующим образом процитированы, или, если в имени вашего принтера Windows или в пароле есть пробелы, тогда CUPS выдаст ошибку "lpadmin: Bad device-uri".

smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6

Такая строка может быть получена в результате выполнения следующей команды:

Общий доступ с помощью LPD

В Windows 7, 8 и 10 имеется интегрированный LPD-сервер, то, возможно, будет намного проще использовать именно его, поскольку не придется для клиента устанавливать Samba, а на сервере - можно будет обойтись без сложных настроек. Это можно включить в разделе Службы печати и документов, находящего в Панель управления -> Программы -> Включение или отключение компонентов Windows. В свойствах принтера должен быть включен общий доступ. Используйте общее имя без особых символов, таких как пробел, запятые и др.

Затем, принтер можно будет добавить в CUPS просто выбрав протокол LPD. Адресс принтера будет выглядеть следующим образом:

Перед добавлением вам, скорее всего, понадобиться установить для своей модели принтера соответствующий драйвер. Драйвера Generic PostScript или RAW тоже должны работать.

Общий доступ с помощью IPP

Как и в предыдущем случае, для организации общего доступа к принтерам протокол IPP является предпочтительным, но он работает только с версиями Windows Server. Версия Windows Server (например Server 2016) включаюет поддержку IPP (функции "Службы печати и документов", служба "Интернет-печати"). Клиентские версии (например, Windows 10) включают поддержку только клиента IPP и не поддерживают совместный доступ через IPP.

Общий доступ с помощью Samba

Гораздо проще использовать стандартные возможности Windows по предоставлению общего доступа к принтерам с помощью Samba. Ручная настройка практически не требуется и все можно выполнить через бэкенд CUPS. Однако, как было замечено выше, в Windows могут возникнуть проблемы с аутентификацией и ограничением доступа.

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

В следующем разделе будут описаны настройки клиента с обоими (cupsd и smbd) запущенными демонами.

Настройка через веб-интерфейс

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

Затем, просто зайдите в веб-интерфейс CUPS и добавьте новый принтер. В качестве устройства выберите "Windows Printer via SAMBA".

Для местоположения устройства, выберите:

Или, если пароля нет:

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

Ручная настройка

При ручной настройке: остановите демон CUPS и добавьте свой принтер в /etc/cups/printers.conf , который, к примеру, может выглядеть так:

Перезапустите демон CUPS и распечатайте тестовую страницу.

Поиск URI для серверов печати Windows

Иногда имя хоста Windows (усеченно) меньше предстоящего точного URI устройства (расположение устройства) (Sometimes Windows is a little less than forthcoming about exact device URIs (device locations)). Если возникли проблемы с указанием правильного расположения устройства в CUPS, выполните следующую команду, чтобы вывести список всех общих ресурсов, доступных для определенного имени пользователя windows:

В этом списке будет отображаться только общие URI для определенного имени пользователя Windows в локальной подсети локальной сети, если Samba настроен и работает правильно. Команда должна вернуть что-то вроде этого:

Здесь требуется первая часть последней строки - ресурс, соответствующий описанию принтера. Поэтому для печати на принтер EPSON Stylus введите:

Удаленное управление

Чтобы дать удаленным хостам доступ к одному из этих уровней, добавьте оператор Allow в этот уровень. Оператор Allow может принимать одну или несколько форм, перечисленных ниже:

Отрицательный оператор также может быть использован. Например, чтобы предоставить полный доступ ко всем хостам на локальных сетевых интерфейсах, отредактируйте /etc/cups/cupsd.conf :

The factual accuracy of this article or section is disputed.

Reason: CUPS автоматически создает сертификат, поэтому это не должно быть проблемой. (Discuss in Talk:CUPS (Русский)/Printer sharing (Русский))

Вам также может потребоваться добавить:

Это должно помочь избежать ошибки: 426 - Upgrade Required when using the CUPS web interface from a remote machine.

Kerberos

Если вы используете поддержку NSS в Samba winbind, вы можете добавить имя группы AD в /etc/cups/cups-files.conf - в следующем примере sysadmin может быть группой AD:

Решение проблем

Общие советы по устранению неполадок смотрите в CUPS/Решение проблем.

Ошибки разрешений в Windows

Некоторые пользователи исправили ошибки 'NT_STATUS_ACCESS_DENIED' (Windows клиенты), используя несколько иной синтаксис:

Итак, исторически в Linux было 2 системы печати LPRng и BSD LPD. Данные системы постепенно устаревают и на смену им приходит система печати CUPS, которая разработана как замена вышеуказанных систем и возможности которой гораздо шире. При использовании GUI интерфейса GNOME, KDE или другого, управление принтерами с помощью CUPS осуществляется не сложнее, чем в Windows. В статье я же сделаю упор на работу в консольном режиме и GUI инструменты рассматривать практически не буду (клавиши Ctrl+P (печать в GUI) есть на всех клавиатурах и работают одинаково как в Windows, так и в Linux ). Отмечу только, что при использовании графической оболочки, запускаются те же команды, что мы рассмотрим далее.

Как система печати Linux обрабатывает файлы

В Linux только пользователь root имеет возможность прямого доступа к устройствам (в нашем случае - к принтеру), остальным пользователям операционная система не дает возможности обращаться напрямую к физическим устройствам, чтобы избежать появления конфликтных ситуаций. Вместо этого, утилиты обращаются к фоновым системным процессам, которые ставят задания в очередь на печать. Кроме всего прочего, данные процессы выполняют преобразование содержимого исходных файлов, подготавливая его к выводу на определенный принтер. Для этого используются язык принтера и протоколы обмена, на основании которых настраивается разрешение печати, формируются страницы, если необходимо, убираются/добавляются колонтитулы, нумеруются страницы.

Система печати Linux находится под контролем демона cupsd, который обладает всеми необходимыми привилегиями, чтобы обращаться к принтерам от имени пользователя. Данный демон автоматически загружается при запуске Linux и настраивает систему для корректной работы печати. Все необходимые параметры демон берет из каталога /etc/cups.

В Linux, где установлен CUPS, для печати используются два основных метода. В основе первого лежат команды lpr и lp (в более новых версиях CUPS). Которые в качестве аргумента принимают имя печатаемого файла и отправляют его на печать на принтер по умолчанию. Данные команды являются "мостиком" ко второму способу печати. В основе второго способа лежат обращения к системным вызовам CUPS. Приложения, использующие данный метод могут не только посылать cupsd информацию, но и получать от демона информацию, о возможностях принтера. В ответ на такой запрос, CUPS возвращает приложению файл в формате PPD (PostScript Printer Definition - описание принтера PostScript). Данные файлы описывают возможности, которыми обладают принтеры (размер страницы, разрешение, ориентация и т.п.). Файлы PPD являются ключевыми компонентами в пакете драйверов для принтеров. Для принтеров, которые не поддерживают язык PostScript, предоставляются PPD-файлы, описывающие возможности через GhostScript.

Совершенно не важно, поддерживает приложение CUPS или нет - после того, как демон cupsd примет задание печати, он поместит его в каталог буфера печати - спулер (обычно - /var/spool/cups) вместе с файлом, описывающим данное задание. Далее cupsd сортирует список заданий и отправляет на принтер одно за другим.

Управление печатью в Linux

Система печати в Linux довольно сложна и настройка обычно происходит либо очень просто (потому что CUPS все сам обнаружит и настроит), либо очень сложно (к примеру попробуйте быстро заставить работать принтер Canon LBP-810 с Linux). Работа печати в Linux основана на нескольких различных пакетах. Основной - это пакет cups, содержащий демон печати. В большинстве дистрибутивов имеется пакет cups в репозитории. Право выбора, каким образом устанавливать ПО в Linux оставляю вам. Я установил так: apt-get install cups. Данный пакет отлично подхватывает все необходимые зависимости.

Давайте немного разберемся, что же такое PostScript, а что такое GhostScript? Как показывает практика, приложения Linux и UNIX в большинстве случаев генерируют на выходе файлы двух форматов:

Простой текст

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

PostScript

Язык Adobe PostScript - это один из многих языков принтеров. Большинство приложений, использующих сложное форматирование на выходе всегда создают файл формата PostScript.

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

Следует заметить, что GhostScript рассматривает все принтеры, как графические устройства. Таким образом, при выводе на печать обычного текстового документа GhostScript преобразует текст в растровый рисунок и отправляет этот рисунок принтеру. Это означает, что GhostScript не может использовать шрифты, встроенные в принтер. Это так же означает, что печать документов через GhostScript иногда выполняется более медленно, чем печать тех же документов на драйверах Windows. Хотя в большинстве случаев эта разница практически не заметна, бывают и большие задержки.

Стандартная установка CUPS поддерживает довольно узкий спектр принтеров (хотя, это довольно спорный момент ). Обычно, это модели с поддержкой PostScript и принтеры компаний HP и Epson. Если принтер автоматически не определился, то необходимо посетить сайт производителя принтера для получения пакета драйверов и инструкций об установке принтера в системе Linux.

Подключение и настройка принтеров в Linux

Для подключения принтеров существует несколько интерфейсов, таких как: USB, Ethernet, LPT и COM (последний безбожно устарел). Данным интерфейсам соответствуют устройства LPT - /dev/lp*, COM - /dev/ttyS* (вместо звездочек, естественно - цифра, обозначающая номер порта, к которому подключено устройство), для взаимодействия с USB используется дерево каталогов /proc/bus/usb, для Ethernet, естественно - IP.

Прежде чем настроить службы печати в Linux, необходимо убедиться, что соединение с принтером действительно установлено. Наверное, лучше всего это проверить из операционной системы windows, если она у вас установлена 2ой системой. Если нет такой возможности, то давайте попробуем обнаружить наш принетр средствами Linux. Если принтер подключен к LPT, либо COM, то можно выполнить команду для LPT: cat /etc/fstab > | /dev/lp0 или для com: cat /etc/fstab > | /dev/ttyS0. При этом, на устройстве в лучшем случае должно напечататься содержимое файла, в худшем - мигнуть индикаторы состояния. Если используется порт USB, то можно проверить подключение устройства с помощью команды lsusb, вывод которой должен содержать маркировку принтера. Для Ethetnet соединения, думаю достаточно проверить доступность IP принтера командой ping.

Настройка безопасности CUPS

В отличии от старых систем LPD, управлять системой печати CUPS удобнее через Web. Однако, по умолчанию, настройка доступа к web интерфейсу может быть настроена не корректно. Некоторые дистрибутивы предоставляют свои инструменты управления CUPS. Все настройки CUPS хранятся в файле /etc/cups/cupsd.conf. Данный файл смоделирован по образу файла Веб сервера Apache. Данному веб серверу я обязательно посвящу обзор. Файл конфигурации cupsd.conf начинается с ряда глобальных параметров директив, которые оформлены в виде пар имя - значение. Для примера, чтобы изменить имя сервера, отправляемое другим системам, необходимо ввести директиву:

Данная строка определяет имя сервера как my.printserver.local. Файл конфигурации обладает огромным количеством директив, описание которых выходит далеко за рамки данной статьи. К сожалению, на русском языке я так и не нашел полного описания конфигурационного файла. Могу сказать одно - полный пакет документации можно будет почитать на английском прямо из настроенного веб интерфейса. А так же, документация по конфигурационному файлу доступна тут . Приведу Вам начало своего конфигурационного файла, содержащего глобальные директивы:

Давайте разберем каждый параметр.Как уже упоминалось выше, ServerName указывает имя сервера печати. LogLevel указывает подробность журналирования (по умолчанию при установке параметр равен info, если возникли какие-то проблемы с CUPS, а в протоколе нет ничего информативного, можно поднять уровень до максимального — debug2), Port указывает на каком порту будет доступен веб-интерфейс, Listen позволяет указать на каком IP адресе будет доступен веб-интерфейс, а так же прослушиваемый сокет.

Параметры, начинающиеся на Browsing требуют отдельного разговора, они задают настройки "просмотра". В данном случае, под термином просмотр необходимо понимать возможность CUPS обнаруживать принтеры в сети. Данная возможность поддерживается на уровне протокола IPP. Обнаружение происходит посредством широковещательных рассылок, что при большом количестве серверов CUPS или при частом отключении/подключении принтеров может порождать дополнительную нагрузку на сеть. Так же, включение просмотра влечет за собой определенное бремя безопасности. Например, систему настроенную на автоматический поиск легко обмануть, предоставив поддельную информацию о принтерах, а при наличии недочетов в коде CUPS это может привести к негативным последствиям. Давайте разберем указанные параметры:

BrowseAllow и BrowseDeny

Указывают CUPS на стороне клиента адреса, от которых может приниматься или отвергаться, соответственно, информация о принтерах. Формат директив соответствует директивам Allow и Deny. В качестве аргумента для данной директивы может быть как отдельный IP, так и подсеть в формате 10.0.0.0/24 или 10.0.0.0/255.255.255.0 или 10.0.0.0-10.0.0.255, так и значение @LOCAL - обозначающее локальную сеть, а так же имена хостов. Возможно использование нескольких данных директив.

Browsing

Указывает CUPS предоставлять свои серверы в общий доступ, либо нет. Значения может принимать On или Off соответственно.

BrowseAddress

Аналогична BrowseAllow. за исключением того, что она задает КОМУ посылать пакеты, а не от кого принимать.

Далее в конфигурационном файле указана директива DefaultAuthTape, которая указывает механизм аутентификации, который будет использоваться для организации доступа по умолчанию. Basic - указывает использовать логины/пароли от локальной системы. None - указывает не использовать аутентификацию. При указании параметра Digest все пароли будут передаваться в зашифрованном виде, но тогда необходимо создать пользователей CUPS с помощью команды lppasswd , пользователи будут добавлены в файл /etc/cups/passwd.md5.

Существует так же директива AuthClass, которая не присутствует в моем конфигурационном файле. Данная директива определяет, какие группы пользователей могут иметь доступ к подсистеме. Может принимать значения: Anonymous, User, System, Group. Параметр Anonymous указывает, что аутентификация производиться не должна. Параметр User говорит, что любой пользователь системы, корректно указавший имя/пароль может иметь доступ. System - говорит, что доступ к подсистеме могут получить только пользователи - члены системной группы cups. Group указывает возможность пользоваться подсистемой только членам группы, которая должна быть указана в последующей директиве AuthGroupName.

Директива Order определяет порядок предоставления доступа к CUPS по умолчанию. Значение Deny,Allow определяет - отвергать попытки доступа, если право на доступ не указано явно. Если директива имеет значение Allow,Deny, то доступ будет предоставлен, если явно не запрещен.

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

Особенности использования Веб интерфейса

Долго о Веб-интерфейсе описывать не буду. Последняя версия CUPS 1.4 практически полностью русифицирована. Управление принтерами через веб-морду не сложнее процесса установки принтера в операционной системе Windows. Единственный нюанс в Linux - это то, что фактически, "принтер" есть очередь печати. То есть фактически мы посылаем документ в определенную очередь печати с определенными настройками. Очередь привязана к конкретному принтеру-устройству. Таким образом, к одному принтеру может быть привязано несколько очередей с разными настройками. Это как в Windows установить несколько "принтеров" с разными версиями драйвера, но привязанными к одному физическому устройству.

Кроме веб-интерфейса, существуют так же консольные команды управления CUPS.

Параметры принтеров CUPS хранит в файле /etc/cups/printers.conf. В данный файл руками лезть не стоит. Он заполняется при настройке в веб интерфейсе. Пример файла:

Описание каждого установленного принтера (соответствующий PPD-файл) находится в каталоге /etc/cups/ppd/ .ppd.

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

Хочу еще отметить такой нюанс. CUPS разрабатывался как замена системе печати LPD. В LPD источником информации о имеющихся принтерах очередях печати был файл /etc/printcap. CUPS обратно совместим с данной системой печати и если мы посмотрим на файл printcap, то увидим, что:

файл printcap является символьной ссылкой на /var/run/cups/printcap. Т.о. CUPS сама следит за корректностью данного файла и тем самым обеспечивает обратную совместимость с LPD.

Устранение неполадок в системе печати

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

  • Постарайтесь проверить работоспособность принтера на другой ОС. Естественно, если он не заработает в другой ОС, то проблема скорее всего в аппаратной части.
  • Проверьте все физические соединения. Питание, информационный провод. Проверьте включен ли принтер и имеется ли бумага в лотке, а так же нет ли сигнализации об ошибках на принтере.
  • Если принтер подключается по USB, LPT, COM, то посмотрите выводы команд lsusb, dmesg на наличие записей о принтере. Если принтер с Ethernet-интерфейсом, проверьте связь с ним командой ping.
  • Если все вышеперечисленные проверки завершились успехом - тщательно проверьте настройки CUPS.
  • Проверьте в Веб-интерфейсе, не остановлена ли очередь печати принтера.
  • Если в статусе принтера написано waiting for job copmlete, то что-то мешает CUPS очистить очередь печати принтера (например отсутствие физического соединения с принтером или нехватка прав доступа).
  • Если при печати на бумаге выводится всякий мусор, то скорее всего выбраны неверные параметры/модель принтера.
  • Так же, для поиска неисправности необходимо просмотреть логи принтера в каталоге /var/log/cups/
  • Ну и как всегда, вам в помощь яндэкс и гугл.

Файлы и каталоги CUPS

В статье я уже приводил некоторые каталоги и файлы CUPS. В большинстве случаев, ручное редактирование каких-либо файлов CUPS, кроме /etc/cups/cupsd.conf, требуется довольно редко. Но для общего развития я расскажу о расположении файлов. Итак, как уже говорилось, для хранения настроек CUPS использует каталог /etc/cups/. Основной файл, имеющий для нас интерес - это cupsd.conf, который хранит глобальные настройки, так же существует printers.conf, хранящий настройки принтеров очередей печати. Подкаталог ppd содержит файлы PPD для локальных принтеров. Файл passwd.md5 хранит зашифрованные пароли пользователей CUPS.

Большой объем данных лежит в /usr/share/cups/, в котором хранятся служебные файлы. Особый интерес представляет каталог /usr/share/cups/model/ (который в последней версии CUPS был перемещен в /usr/share/ppd/), который хранит описания для принтеров. При каждом старте сервер сканирует каталог /usr/share/cups/model на предмет появления новых описаний принтеров (PPD-файлов).

В процессе работы CUPS использует каталог /var/spool/cups/ для хранения описаний заданий печати и самих файлов заданий. Владельцем данного каталога должен быть пользователь root и группа lp. Права доступа определены, как 0710 (rwx--x---).

Так же используется каталог /var/run/cups/ для хранения информации о работе демона, такой как сокет, файл printcap и др.

Краткая записка которая объединяет две предыдущие записки. Чтобы CentOS видела папку которая находится на машине Windows XP, тебе надо крутить CIFS. Обязательно ставим пакеты Samba: yum install.


Краткая записка которая объединяет две предыдущие записки.

Чтобы CentOS видела папку которая находится на машине Windows XP, тебе надо крутить CIFS.
Обязательно ставим пакеты Samba:

yum install samba samba-client samba-common cifs-utils -y

Ручное подключение Windows папки выглядит так:
Создаем точку монтрования, в этом каталоге будет содержимое папки Windows XP

mount.cifs //192.168.1.3/backups /mnt/backup_dir -o user=User -o password=MyPass

Где:
//192.168.1.3/backups - сетевой путь до папки на Windows XP
/mnt/backup_dir - точка монтирования
-o user=User - Логин доступа к Windows папки
-o password=MyPass - пароль доступа к Windows папки
192.168.1.3 - IP адрес машины Windows XP
После перезагрузки доступ к сетевой папке Windows XP пропадет, чтобы этого не было нужно автоматически монтировать каталог во время загрузки CentOS. Поэтому надо делать автоматическое (подключение) монтирование во время загрузки.
Разумеется папку //192.168.1.3/backups - надо создать на Windows машине и дать сетевой доступ к ней.

Автоматическое подключение Windows папки на CentOS
Редактируем файл /etc/fstab

Добавляем туда строчку:

Где:
//192.168.1.3/backups - сетевой путь до папки на Windows XP
/mnt/backup_dir - точка монтирования
-o user=User - Логин доступа к Windows папки
-o password=MyPass - пароль доступа к Windows папки
192.168.1.3 - IP адрес машины Windows XP

Чтобы Windows машина видела папку которая лежит на CentOS, тебе надо крутить Samba.
Допустим мы хотим сделать доступным каталог /home/share. Для этого делаем следующее:

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