Arch linux установка принтера

Обновлено: 03.07.2024

Linux, Archlinux, Android, ChromeOS и другие интересные штуки. Блог веду исключительно для себя, но если кому-нибудь записи окажутся полезными, буду только рад.

вторник, 19 марта 2013 г.

Установка принтера и сканера в Archlinux (для моих трех Epson)

Ниже речь идет о трех моих принтерах Epson: SX125 (МФУ), T27 и R200.
В первую очередь текст касается настройки Epson SX125 (МФУ).

$ sudo pacman -S libcups
$ sudo pacman -S cups cups-filters ghostscript gsfonts
$ sudo pacman -S foomatic-db foomatic-db-engine foomatic-db-nonfree foomatic-filters gutenprint cups-pdf

Инициируем запуск сервиса cups при загрузке так:
$ sudo systemctl enable cups.service
$ sudo systemctl start cups.service

Если есть желание и почему-то не хватило драйвера gutenprint , то можно установить и драйверы от Epson:
$ yaourt -S epson-inkjet-printer-n10-nx127 (для МФУ Epson SX125)
$ yaourt -S epson-inkjet-printer-stylus-s21-series (для принтера Epson T27)

Далее делаем так:

$ lsusb | grep Epson
Bus 004 Device 003: ID 04b8:085c Seiko Epson Corp. ME 320/330 Series [Stylus SX125]

ATTR= color: red;">04b8 ", ATTR= color: red;">085c ", MODE:="0660", GROUP:="lp", ENV:="yes"

Далее (для KDE) проверяем наличие и работу avahi.

При необходимости (если не установлен), установим avahi :
$ sudo pacman -S avahi
Инициируем запуск сервера при загрузке так:
$ sudo systemctl enable avahi-daemon.service
$ sudo reboot

В настройках обязательно снять галочку в строке "Отменить задания на печать":



ВНИМАНИЕ! С PPD sx125 (epson-inkjet-printer-n10-nx127) настроить принтер не удалось (в Сети на 21.03.2013) много упоминаний об известном баге с SX125).
Использовал PPD (драйвер gutenprint) от МФУ Epson Color SX115 .
Принтер начал печатать.


2. СКАНЕР

$ yaourt -S iscan iscan-data
или же
$ yaourt -S sane xsane

Я обычно предпочитаю iscan - проще и работает сразу. :-)
Вот, собственно, и все.
Должно все заработать.

Если ваш принтер не определяется автоматически, эта статья научит вас, как добавить принтер в Linux вручную.

Несмотря на то, что сейчас будущее, и мы все должны использовать электронные гаджеты, принтер все еще может пригодиться. Производители принтеров еще не стандартизировали способы взаимодействия своих периферийных устройств с компьютерами, поэтому существует необходимый набор драйверов принтеров, независимо от того, на какой платформе вы работаете. Рабочая группа по принтерам IEEE-ISTO (PWG) неустанно работают над тем, чтобы сделать печать как можно проще. Сегодня многие принтеры определяются автоматически, без участия пользователя.

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

Драйверы принтера

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

Существует три разновидности драйверов принтера:

  1. Драйверы Gutenprint с открытым исходным кодом, поставляемые в комплекте с Linux и в виде устанавливаемого пакета.
  2. Драйверы, предоставляемые производителем принтера
  3. Драйверы, созданные третьей стороной.

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

Установка драйверов с открытым исходным кодом

Возможно, в вашем дистрибутиве Linux они уже установлены, но если нет, вы можете установить их с помощью менеджера пакетов. Например, в Fedora, CentOS, Mageia и подобных:

Установка драйверов производителя

Иногда производитель принтера использует нестандартные протоколы, поэтому драйверы с открытым исходным кодом не работают. В других случаях драйверы с открытым исходным кодом работают, но в них могут отсутствовать специальные функции, предназначенные только для производителя. В этом случае необходимо посетить веб-сайт производителя и найти драйвер Linux для вашей модели принтера. Процесс установки может быть разным, поэтому внимательно читайте инструкции по установке.

В случае, если ваш принтер не поддерживается производителем, существуют сторонние авторы драйверов, которые могут поддерживать ваш принтер. Эти драйверы не имеют открытого исходного кода, но и большинство драйверов производителей тоже. Обидно, когда приходится тратить дополнительные 45 долларов, чтобы получить поддержку принтера, но альтернатива - выбросить принтер в мусор, и теперь вы знаете по крайней мере одну марку, которую следует избегать при покупке следующего принтера!

Общая система печати Unix (CUPS)

Common Unix Printing System (CUPS) была разработана в 1997 году компанией Easy Software Products и приобретена Apple в 2007 году. Это основа с открытым исходным кодом для печати в Linux, но большинство современных дистрибутивов предоставляют для нее специализированный интерфейс. Благодаря CUPS ваш компьютер может найти принтеры, подключенные к нему с помощью USB-кабеля, и даже общий принтер по сети.

После установки необходимых драйверов вы можете добавить принтер вручную. Сначала подключите принтер к компьютеру и включите их оба. Затем откройте приложение "Принтеры" на экране "Деятельность" или в меню приложений.

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

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

Если вы видите свой принтер в списке, значит, все готово, и вы уже можете печатать из Linux!

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

Ваш компьютер ищет подключенные принтеры (также называемые локальными принтерами). Чтобы компьютер искал общий сетевой принтер, введите IP-адрес принтера или его хост.

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

Итак. Предположительно, сервис печати CUPS — это мощное решение, позволяющее организовать централизованное управление принтерами в компании. Так оно и есть, но в процессе настройки потребуется провести некоторое время в поисках решения в Google множества мелких неочевидных проблем, особенно, если ваша необходимость выходит за рамки стандартных мануалов по настройке.

В статье будет описана установка принтсервера CUPS на Ubuntu Server в сети с работающим доменом Active Directory, хотя его наличие совершенно не обязательно и инструкции по настройке взаимодействию с ним можно будет смело пропустить, его настройка, а также настройка клиентских машин Linux и Windows для взаимодействия с данным принт-сервером.

Настройка принтсервера

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

Заходим на принтсервер любым удобным способом и обновим на нем пакеты:

Далее проверим, установлен ли CUPS на сервере:

Если вывод выглядит как то так:

то CUPS установлен, если вывода нет — устанавливаем CUPS:

Теперь настроим административный доступ к веб-интерфейсу CUPS. Все файлы конфигурации находятся по пути /etc/cups/. Для начала, на всякий случай сделаем резервные копии основных файлов конфигурации CUPS:

Впрочем, если вы этого не сделали — не беда, образцы данных файлов по умолчанию лежат по пути /usr/share/cups. Также нужно упомянуть, что вы можете проверить любые добавленные опции в файлы конфигурации CUPS с помощью команды:

Если вы что-то напутали, опечатались или использовали опцию, которая уже не поддерживается CUPS'ом, то вывод команды отразит данные ошибки.

Но приступим наконец к настройке. После любых изменений файлов в папке /etc/cups/ для получения эффекта необходимо перезапускать сервис CUPS:

А если вы отредактировали файл /etc/cups/cups-browsed.conf, то за него отвечает отдельный сервис cups-browsed, который тоже нужно перезапустить:

Первой незакомментированной опцией является

Она определяет минимальную информативность логов CUPS. Лог-файлы CUPS находятся по пути /var/log/cups/. На время установки, настройки и отладки принтсервера будет разумным перевести логгирование в debug-режим. Для этого изменим warn на debug2:

По умолчанию CUPS слушает входящие подключения только от localhost, то бишь на loopback интерфейсе. Чтобы убедится в этом, можете выполнить команду

Одна из строк будет выглядеть приблизительно так:

Либо же вы можете разрешить CUPS'у слушать подключения со всех адресов

Следующий момент настройки — это обнаружение сетевых и расшаренных принтеров.

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

Далее идут настройки аутентификации:

Определяет права доступа к веб-интерфейсу CUPS, а также к его административной части. Чтобы пользователь user имел право на администрирование CUPS, его нужно добавить в системную группу lpadmin:

Вообще, группы, которым позволен административный доступ к CUPS, определяются в файле конфигурации cups-files.conf в блоке

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

Теперь перейдем к блоку <Location />:

Order allow,deny означает, что запрещены подключения отовсюду, если специально не указано разрешение. То есть нужно добавлять IP-адреса, подсети, хосты или хосты по маске (.example.com) в виде "Allow from [разрешенный адрес]*":

Для полной уверености и отладки, можно оставить, пока не настроите все остальное, такую констукцию, которая позволит печать отовсюду:

Приступим к настройке административного доступа к CUPS на принтсервере. Определитесь, с какого/каких IP и/или подсетей вы собираетесь подключаться к CUPS, и добавить их по аналогии с блоком <Location />:

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

Если нужная вам локализация, например ru, есть, то добавьте строчку в /etc/cups/cupsd.conf:

Самым простым способом это можно сделать так:

Если вы хотите, чтобы принтсервер примимал любые обращения, или не хотите заморачиваться, то можно добавить это:

Еще нужно взглянуть внутрь файла /etc/cups/cups-browsed.conf. Этот файл управляет тем, как принтсервер будет искать принтеры в сети и проводить широковещательную рассылку своих принтеров. Я предлагаю совершенно отключить опцию рассылки. Принтсервер будет искать принтера в сети, но с него принтеры на клиентские машины будут подключатся вручную. Ниже будет описано, почему. Пока же мы находим строку BrowseRemoteProtocols dnssd cups:

На этом настройку принтсервера приостанавливаем и переходим к настройке клиентких машин Windows и Linux. Требования к ним такие — позволять посылать на себя задания печати принтсерверу, и посылать задания на печать именно (и только) на принтсервер в случае необходимости печати на сетевой принтер.

Теперь выполним аналогичную операцию на клиентской машине Linux c именем хоста linux1. Вообще, данная часть будет куда объемнее, так как у клиентской машины есть свой сервис CUPS и его тоже нужно настроить во многом так же, как и принтсервер, за исключением его подчиненной роли в организации печати.

Исправление ошибки обращения к CUPS через loopback по имени хоста

В большинстве инструкций по введению Linux в домен одним из пунктов является приведение файла /etc/hosts приблизительно к такому виду:

Почему то CUPS не в силах ассоциировать обращение через 127.0.1.1, то есть через Loopback интерфейс, с именем хоста.

Исправляется эта ошибка двумя способами. Если в вашей сети IP адреса статичные, то в файле /etc/hosts исправьте 127.0.1.1 на IP адрес внешнего сетевого интерфейса клиентской машины, например:

Либо же, раз уж вы вводите Linux в домен, то это предполагает, что в вашей сети работает DHCP и DNS сервер Active Directory. В таком случае просто закомментируйте данную строчку:

Разницы в работоспособности или проблем от данного действия пока обнаружено не было.

Настройка адресов прослушивания подключений к CUPS у клиентских машин Linux

Заходим на linux1 любым удобным способом. Редактируем файл /etc/cups/cupsd.conf:

Находим, добавляем или изменяем в нем строки:

Настройка адресов прослушивания подключений к CUPS

В предыдущем блоке мы настроили возможность подключения к CUPS. Теперь перейдем к настройке разрешений на доступ к печати, а также к административным страницам сервиса CUPS на хосте linux1. Вновь открываем, если закрыли, файл /etc/cups/cupsd.conf и переходим к редактированию блоков <Location />, <Location /admin>, <Location /admin/conf>, <Location /admin/log>:

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

Еще у клиетской машины Linux, в данном случае linux1, необходимо отредактировать файл /etc/cups/cups-browsed.conf:

Настройка административного доступа

Еще пару слов по поводу административного доступа, как на WEB-интерфейс CUPS на принтсервере, так и на любой клиентской машине Linux. Даже при условии наличия 30-50 компьютеров нужно унифицировать авторизацию на CUPS, а не держать в голове или еще где пароли каждой машины. И это важно на всех Linux машинах, ведь чтобы добавить принтер на сервер, его сперва нужно установить локально. Я вижу несколько путей.

Первый — на каждой системе Linux создать пользователя printeradmin (например) и добавить в группу lpadmin:

Второй вариант практически идентичен и предлагает создать группу в системе, например, printersadmins, добавить туда требуемого администратора CUPS (printeradmin, user):

Затем нужно найти в файле /etc/cups/cups-files.conf строку

и добавить через пробел одну или несколько групп пользователей с правом администрировать CUPS.

И наконец, третий вариант. Сделать администраторами принтсервера и CUPS'ов клиентских машин доменную группу пользователей. Для этого принтсервер и клиентские машины Linux должны быть присоединены к домену AD. Есть несколько методов подключения Linux к домену Windows, но, насколько я знаю, основные это подключение с помощью winbind и с помощью SSSD(realmd). Описание данных методов не входит в статью, поэтому остановлюсь только на моментах которые касаются конкретно CUPS'а.

Настройка использования доменных групп пользователей для администрирования CUPS

Каждый метод присоединения к системе централизованной авторизации в Linux создает специальный файл-"трубу" (pipe), сквозь который приложения могут посмотреть список пользователей домена. Чтобы так мог сделать CUPS, нужно разрешить ему использовать pipe в AppArmor'е для аутентификации пользователей. AppArmor — модуль безопасности Linux по управлению доступом. Ограничивает определенные программы набором перечисленных в его политиках файлов. Чтобы добавить CUPS'у право использовать пользователей и группы домена через winbindd, нужно добавить в файл /etc/apparmod.d/local/usr.sbin.cupsd такую строку:

Если Linux введен в домен через SSSD, то необходимо указать расположение его pipe в /etc/apparmod.d/local/usr.sbin.cupsd, добавив туда строку:

К тому же, в случае с SSSD это позволяет пройти аутентификацию (узнать кто заходит), но чтобы пройти авторизацию (узнать есть ли право у пользователя управлять CUPS) необходимо также добавить в файл конфигурации SSSD /etc/sssd/sssd.conf строку:

Это, условно выражаюсь, дает CUPS'у право "заглядывать" в SSSD.

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

Добавим CUPS'у указание грузиться после SSSD. Отредактируем файл сервиса cups.service по пути /lib/systemd/system/, добавив инструкцию After в секцию [Unit]:

Таким образом CUPS настроен на Basic авторизацию через домен, то есть авторизацию с помощью ввода логина и пароля доменного пользователя с правом администрирования CUPS.

Авторизация может быть настроена и иначе, но принцип (pipe-файл) в целом универсален и есть шанс настроить и для LDAP, FreeIPA и прочих служб каталогов по аналогии.

Установка принтера в Linux

Теперь, когда сервер и клиенские машины Linux настроены, к некоторым из них присоединены принтеры, а также есть машины на Windows, которым и с которых нужно печатать, и вся эта система должна быть стабильной и в случае, если на одном из ПК необходимо заменить принтер, то это не должно повлечь за собой перенастройку доброй половины всех ПК, если не всех. К тому же нужно как можно меньше проблем с драйверами. И это вполне возможно.

Группы принтеров (Classes)

Выше мы описывали подключение Canon-MF4400 c хоста windows1 через протокол LPD. Принтер все еще подключен и его статус можно посмотреть на странице http://cupsserver:631/printers/Canon-MF4400 . А теперь обратим пристальное внимание на главную страницу администрирования cupsserver http://cupsserver:631/admin . На этой странице есть кнопка "Добавить группу" [Add Class]. Нажмем на нее. В ней вы увидите поля "Название", "Описание", "Расположение", аналогичные таким же при настройке обычного принтера. В нижнем же блоке вы увидите список всех подключенных к принтсерверу принтеров. Выберите Canon-MF4400 или любой который хотите, затем в поле "Название" впишите, например printer-windows1, "Описание" и "Расположение" на ваше усмотрение, и нажмите "Добавить группу".

Главная прелесть данного метода в том, что если на любом из ПК заменяется принтер, заменяется сам компьютер, или то и другое сразу, то это никак не влияет на тех, кто был к ним подключен через группу на принтсервере. Единственная настройка производится на принтсервере — к принтсерверу подключается новый принтер, затем из группы, в которой состоял старый принтер, он удаляется, и добавляется новый принтер на замену старому. И никаких дополнительных настроек на любом количестве ПК, только на принтсервере и собственно ПК на котором меняли принтер. Драйвера "IPP Everywhere" и "MS Publisher Imagesetter" содержат большое количество настроек бумаги, печати и т.д., так что нет проблем настроить нужный вид печати через них.

Заключение

Тема слишком обширна, чтобы изложить сколько-нибудь подробно, и даже так статья вышла крайне объемной. Любые уточнения, указания на ошибки, нераскрытые вопросы и советы, данные в комментариях к данной статье, будут приняты во внимание и в случае необходимости включены в статью.

Здравствуйте, коллеги, вот небольшое руководство по установке многофункционального устройства HP в ArchLinux.

Многофункциональность: копирование, печать, сканирование, факс.

Прежде всего, мы должны установить несколько основных пакетов:

sudo pacman -S cups ghostscript gsfonts hplip

После установки этих пакетов мы приступаем к созданию служб и их запуску.

sudo systemctl enable cups.service

sudo systemctl start cups.service

Если они этого не сделали при установке, мы должны добавить нашего пользователя в группу lp и группа сканер:

sudo gpasswd -a scanner

sudo gpasswd -a lp

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

sudo hp-setup

Предыдущая команда требует запуска некоторых библиотек, если вы не хотите их устанавливать и выполнять настройку из терминала, просто добавьте -i к команде.

sudo hp-setup -i

Экран, который показывает нам, довольно интуитивно понятен.

Насколько точно это многофункциональный USB, просто дайте [Войти] в первой команде, а затем ответьте на несколько простых вопросов, где вы можете дать устройству имя и хотите ли вы указать место. Например: МФК 1, жилая.

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

Я особенно предпочитаю Simple-Scan

sudo pacman -S sane simple-scan

Он установит некоторые зависимости.

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

sudo sane-find-scanner

Как только он его обнаружит, необходимо раскомментировать строку вменяемого.

sudo nano /etc/sane.d/dll.conf

В конце раскомментируем строку, в которой говорится hpaio

Должно получиться так:

hpaio

Сохраняем и закрываем.

Теперь тестируем сканер, можем это сделать через терминал:

sudo scanimage -L

Или мы переходим в простое сканирование и что-то сканируем.

На этом пока все, надеюсь, помогло. Есть вопросы, понимаете 😀

Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Полный путь к статье: Из Linux » GNU / Linux » Установка многофункционального устройства HP на ArchLinux

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