Arch linux установка принтера
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, сначала убедитесь, что у вас есть обновленные драйверы принтера.
Существует три разновидности драйверов принтера:
- Драйверы Gutenprint с открытым исходным кодом, поставляемые в комплекте с Linux и в виде устанавливаемого пакета.
- Драйверы, предоставляемые производителем принтера
- Драйверы, созданные третьей стороной.
Стоит установить драйверы с открытым исходным кодом, поскольку их существует более 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
Читайте также: