# pkg install cups
Универсальная Система Печати Unix на FreeBSD
This translation may be out of date. To help with the translations please access the FreeBSD translations instance.
trademarks
FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.
Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак “™” или “®”.
Table of Contents
Аннотация
Эта статья посвящена конфигурированию Универсальной Системы Печати UNIX (CUPS) на FreeBSD.
1. Знакомимся с Универсальной Системой Печати UNIX (CUPS)
Универсальная Система Печати UNIX (Common Unix Printing System, или сокращенно CUPS), предоставляет переносимую среду печати для UNIX® и UNIX®-подобных операционных систем. Она была разработана компанией Easy Software Products, чтобы предоставить стандартное решение в печати для всех разработчиков и пользователей UNIX®.
Универсальная Система Печати UNIX использует протокол межсетевой печати (Internet Printing Protocol, IPP) как основу для управления заданиями на печать и очередями. Также частично поддерживаются следующие протоколы: LPD, SMB и AppSocket (также известный как JetDirect). CUPS дает возможность обзора сетевых принтеров и использования опций, базирующихся на ПостСкрипт Описании Принтеров (PostScript Printer Definition, PPD), чтобы поддерживать в UNIX® общепринятые традиции печати. В результате CUPS идеально подходит для совместного использования принтеров в смешанной среде из FreeBSD, Linux®, Mac OS® X или Windows®.
Официальный сайт Универсальной Системы Печати UNIX - http://www.cups.org/.
2. Установка сервера печати CUPS
Для установки CUPS используя пакет, запустите на выполнение такую команду:
Другие необязательные, но рекомендуемые к установке пакеты это print/gutenprint-cups и print/hplip, каждый из которых добавляет драйвера и утилиты для разнообразных принтеров. После установки файлы конфигурации CUPS могут быть найдены в директории /usr/local/etc/cups.
3. Настройка сервера печати CUPS
Чтобы настроить сервер CUPS необходимо отредактировать несколько конфигурационных файлов. Для начала создайте или исправьте файл /etc/devfs.rules и добавьте следующую информацию для того, чтобы установить соответствующие права на все потенциальные файлы устройств принтеров и связать принтеры с группой пользователей cups
:
[system=10] add path 'unlpt*' mode 0660 group cups add path 'ulpt*' mode 0660 group cups add path 'lpt*' mode 0660 group cups add path 'usb/X.Y.Z' mode 0660 group cups
Замените X, Y и Z номерами соответствующего принтеру целевого устройства USB, отображаемого в каталоге /dev/usb. Чтобы найти требуемые значения, просмотрите вывод dmesg(8) и найдите связанное с вашим принтером имя специального устройства ugenX.Y, последнее будет символической ссылкой на искомое устройство в каталоге /dev/usb. |
Затем, добавьте следующие две записи в /etc/rc.conf:
cupsd_enable="YES" devfs_system_ruleset="system"
Эти две записи будут запускать сервер печати CUPS во время загрузки системы и применять локальное правило devfs, созданное выше.
Для того, чтобы печать CUPS стала доступна для некоторых Microsoft® Windows® клиентов, необходимо раскомментировать следующую запись в /usr/local/etc/cups/mime.types и /usr/local/etc/cups/mime.convs:
application/octet-stream
По окончанию внесения изменений службы devfs(8) и CUPS необходимо перезапустить, для чего перезагрузите операционную систему или выполните от пользователя root
следующие две команды:
# /etc/rc.d/devfs restart
# /usr/local/etc/rc.d/cupsd restart
4. Настройка принтеров на сервере печати CUPS
После того, как система CUPS была установлена и сконфигурирована, системный администратор может начать конфигурирование локальных принтеров, подключенных к серверу печати CUPS. Эта часть процесса очень похожа, если не идентична настройке принтеров CUPS в других UNIX®-подобных операционных системах, таких как дистрибутивы Linux®.
Основным способом управления и администрирования сервера CUPS является веб-интерфейс, на который можно попасть запустив веб-браузер и набрав http://localhost:631 в его адресной строке. Если сервер CUPS находится на другой машине в сети, замените localhost
на IP адрес сервера. Веб-интерфейс CUPS достаточно очевиден, там есть разделы для управления принтерами и заданиями на печать, авторизацией пользователей и т.п. Кроме того, в правой части страницы администрирования есть несколько флажков (check-box), дающих удобный доступ к часто меняемым установкам, таким как разрешение публичного доступа к подключенным к системе принтерам, предоставление удаленного управления сервером CUPS, изменение уровня доступа пользователей к принтерам и их заданиям на печать.
Добавление принтера в общем такое же простое, как нажатие "Add Printer" на странице администрирования веб-интерфейса сервера CUPS или как нажатие одной из кнопок "New Printers Found" на той же странице администрирования. Когда перед вами предстанет выпадающий список "Device", просто выберите требуемый локально подключенный принтер, а дальше следуйте подсказкам интерфейса. В случае если были установлены порты или пакеты print/gutenprint-cups или print/hplip, как указывалось выше, дополнительные драйвера печати будут доступны на последующих страницах, что может обеспечить большую надежность и расширенные возможности.
5. Конфигурирование клиентов CUPS
После того, как сервер CUPS был настроен, принтеры добавлены и сделаны доступными в сети, следующий шаг - это настройка клиентов или машин, которые будут иметь доступ к серверу CUPS. Если у вас единственный настольный компьютер, который работает одновременно и сервером и клиентом, то в большинстве этой информации вы не нуждаетесь.
5.1. UNIX® клиенты
На UNIX® клиентах также потребуется установить CUPS. После установки системы печати на клиенте, CUPS-принтеры, присутствующие в сети, чаще всего автоматически находятся менеджерами принтеров разных графических оболочек, таких как GNOME или KDE. В качестве альтернативы, вы можете воспользоваться веб-интерфейсом CUPS на клиентской машине по адресу http://localhost:631 и на странице администрирования выбрать "Add Printer". Когда перед вами предстанет выпадающий список "Device", просто выберите сетевой CUPS принтер, если он был обнаружен автоматически, или выберите ipp
или http
и введите IPP или HTTP адрес (URI) сетевого CUPS принтера:
ipp://server-name-or-ip/printers/printername
http://server-name-or-ip:631/printers/printername
Если CUPS клиент не находит в сети принтеры, доступные через сервер CUPS, то иногда помогает создание или изменение файла /usr/local/etc/cups/client.conf с добавлением единственной записи, подобной следующей:
ServerName server-ip
В этом случае server-ip необходимо заменить на IP адрес сервера CUPS в сети.
5.2. Windows®-клиенты
Версии Windows®, предшествующие XP, не имели встроенной поддержки протокола IPP. Однако Windows® XP и более поздние версии уже обладают такой возможностью. Следовательно, добавить CUPS принтер в этих версиях Windows® довольно просто. В большинстве случаев, администратору Windows® потребуется запустить мастера установки принтера (Add Printer
) выбрать сетевой принтер (Network Printer
), а затем ввести URI следующего формата:
http://server-name-or-ip:631/printers/printername
Если используется версия Windows® без поддержки протокола IPP, то общим случаем подключения к CUPS-принтеру будет совместное использование CUPS и net/samba3. Описание этой возможности выходит за рамки данной статьи.
6. Устранение неполадок с CUPS
Проблемы c CUPS часто возникают из-за неверных прав доступа. Сначала дважды проверьте права доступа в devfs(8) (сверьтесь с уже описанными выше). Затем, проверьте реальные права устройств, созданных в файловой системе. Также бывает полезным удостовериться, что ваш пользователь входит в группу cups
. Если у вас складывается впечатление, что флажки прав доступа на странице администрирования веб-интерфейса CUPS не работают, то иным решением может быть резервное копирование конфигурационного файла /usr/local/etc/cups/cupsd.conf и редактирование разных опций конфигурации с подбором их комбинаций. Ниже приведено содержимое тестового файла конфигурации /usr/local/etc/cups/cupsd.conf. Пожалуйста, обратите внимание на то, что безопасность в этом примере cupsd.conf была пожертвована в угоду простоте настройки; как только администратор успешно подсоединится к серверу CUPS и сконфигурирует клиентов, рекомендуется пересмотреть данную конфигурацию и добавить разграничение доступа.
# Log general information in error_log - change "info" to "debug" for # troubleshooting... LogLevel info # Administrator user group... SystemGroup wheel # Listen for connections on Port 631. Port 631 #Listen localhost:631 Listen /var/run/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny #BrowseAllow @LOCAL BrowseAllow 192.168.1.* # change to local LAN settings BrowseAddress 192.168.1.* # change to local LAN settings # Default authentication type, when authentication is required... DefaultAuthType Basic DefaultEncryption Never # comment this line to allow encryption # Allow access to the server from any machine on the LAN <Location /> Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Allow access to the admin pages from any machine on the LAN <Location /admin> #Encryption Required Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Allow access to configuration files from any machine on the LAN <Location /admin/conf> AuthType Basic Require user @SYSTEM Order allow,deny #Allow localhost Allow 192.168.1.* # change to local LAN settings </Location> # Set the default printer/job policies... <Policy default> # Job-related operations must be done by the owner or an adminstrator... <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs \ Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription \ Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job \ CUPS-Move-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> # All administration operations require an adminstrator to authenticate... <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer \ Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs \ Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer \ Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class \ CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default> AuthType Basic Require user @SYSTEM Order deny,allow </Limit> # Only the owner or an administrator can cancel or authenticate a job... <Limit Cancel-Job CUPS-Authenticate-Job> Require user @OWNER @SYSTEM Order deny,allow </Limit> <Limit All> Order deny,allow </Limit> </Policy>
Last modified on: 3 ноября 2021 г. by Sergio Carlavilla Delgado