Проблема
В офисе со смешанным парком устройств старые USB-принтеры, современные сетевые МФУ, ноутбуки на Windows, Linux и macOS организация централизованной печати превращается в головную боль. Каждый принтер требует отдельной настройки на каждом компьютере, драйверы для разных ОС несовместимы, а при замене или перемещении устройства приходится перенастраивать всех пользователей. Без единой точки управления печатью поддержка превращается в бесконечную рутину: «у меня не печатает», «принтер не найден», «документ ушёл в неизвестном направлении».
Выход выделенный сервер печати на Linux с системой CUPS (Common UNIX Printing System). Он принимает задания от любых устройств в сети и направляет их на нужные принтеры, избавляя от необходимости настраивать каждый клиент отдельно.
Решение
CUPS (Common UNIX Printing System) это стандартный менеджер печати в Linux, который также поддерживает клиентов Windows, macOS и мобильных устройств по протоколам IPP и SMB/CIFS. Он позволяет централизованно управлять очередями печати, разграничивать доступ и вести журнал заданий. Для Windows-клиентов, у которых нет встроенной поддержки IPP, потребуется Samba, которая сделает CUPS-принтеры видимыми как обычные сетевые принтеры Windows.
В этой статье мы настроим на Ubuntu Server 24.04 LTS:
- Установку и базовую настройку CUPS.
- Веб-интерфейс для удалённого управления принтерами.
- Подключение принтеров по USB и по сети.
- Расшаривание принтеров для Windows-клиентов через Samba.
- Управление драйверами и устранение типичных проблем.
Вот пошаговая инструкция, как развернуть CUPS.
1. Предварительные требования
Убедитесь, что сервер соответствует минимальным требованиям:
- Ubuntu Server 24.04 LTS (или Debian 12) с правами суперпользователя.
- Постоянный (статический) IP-адрес в локальной сети.
- Открытый порт TCP 631 для CUPS.
- Не менее 2 ГБ ОЗУ и 10 ГБ свободного места на диске.
2. Установка CUPS
Подключаемся к серверу и устанавливаем пакеты.
sudo apt update
sudo apt install cups cups-client cups-filters cups-ipp-utils system-config-printer -y
3. Настройка CUPS
После установки нужно разрешить доступ к веб-интерфейсу из локальной сети и настроить права администраторов. CUPS управляется через веб-интерфейс на порту 631.
3.1. Разрешаем удалённое управление и печать
По умолчанию CUPS принимает команды только с локального хоста. Чтобы разрешить доступ с других компьютеров, отредактируйте /etc/cups/cupsd.conf.
sudo nano /etc/cups/cupsd.conf
Найдите строку Listen localhost:631 и измените её на:
Listen 0.0.0.0:631
Если нужен доступ только из определённой подсети, укажите её адрес. Добавьте разрешения для локальной сети:
<Location />
Order allow,deny
Allow localhost
Allow 192.168.1.0/24
</Location>
<Location /admin>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.1.0/24
</Location>
Сохраните изменения и перезапустите службу:
sudo systemctl restart cups
3.2. Добавление пользователя в группу администраторов
Для управления принтерами через веб-интерфейс пользователь должен состоять в группе lpadmin.
sudo usermod -a -G lpadmin $USER
4. Настройка брандмауэра
Открываем порт 631 для CUPS и, опционально, 5353 для Avahi (автообнаружение принтеров).
sudo ufw allow 631/tcp
sudo ufw allow 5353/udp
sudo ufw reload
5. Добавление принтеров через веб-интерфейс
Откройте браузер и перейдите по адресу http://<IP-адрес_сервера>:631. Перейдите во вкладку Administration и нажмите Add Printer.
Система запросит логин и пароль пользователя, входящего в группу lpadmin. Далее вы увидите список доступных принтеров:
- Локальные USB-принтеры отобразятся автоматически, если подключены напрямую.
-
Сетевые принтеры можно найти через «Find Network Printer» или добавить вручную, указав протокол и IP-адрес (например,
ipp://192.168.1.50:631/ipp/port1).
Выбрав принтер, укажите его имя, описание и местоположение. CUPS попытается подобрать драйвер автоматически. Если автоматический выбор не подходит, выберите PPD-файл или укажите производителя и модель из списка. После добавления принтера обязательно распечатайте тестовую страницу.
6. Расшаривание принтеров для Windows-клиентов через Samba
Windows не поддерживает IPP «из коробки», но может подключаться к принтерам через протокол SMB/CIFS. Для этого настроим Samba.
6.1. Установка и настройка Samba
sudo apt install samba smbclient -y
Создайте резервную копию конфигурационного файла и отредактируйте его.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf
В секции [global] задайте имя рабочей группы (должно совпадать с настройками ваших Windows-компьютеров) и включите расшаривание принтеров.
[global]
workgroup = WORKGROUP
server string = Print Server
security = user
map to guest = Bad User
load printers = yes
printing = cups
printcap name = cups
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = yes
writable = no
printable = yes
printer admin = root, @lpadmin
Сохраните файл, перезапустите службы и проверьте доступность принтеров.
sudo systemctl restart smbd nmbd
smbclient -L localhost -N
6.2. Подключение принтера на Windows-клиенте
На компьютере с Windows откройте «Панель управления» → «Устройства и принтеры» → «Добавление принтера». Выберите «Искомый принтер отсутствует в списке» → «Выбрать общий принтер по имени» и введите UNC-путь: \\<IP-адрес_сервера>\<имя_принтера>. Если принтер не отображается, проверьте сетевую доступность сервера и настройки Samba.
7. Управление драйверами
Для корректной работы принтеров, особенно МФУ, часто требуются специальные драйверы. Самый простой способ получить их — установить пакеты производителя.
Для принтеров HP:
sudo apt install hplip
Для принтеров Epson:
sudo apt install printer-driver-escpr
Для принтеров Brother: скачайте драйверы с официального сайта.
Универсальные драйверы: если точный драйвер отсутствует, попробуйте драйвер Generic или Text Only. Они дают базовую функциональность, но не поддерживают цветную печать и сканирование.
8. Мониторинг и ведение логов
CUPS хранит все задания в веб-интерфейсе (вкладка Jobs), а также в системных логах.
sudo journalctl -u cups -f
sudo tail -f /var/log/cups/error_log
Для отслеживания успешных и неудачных печатей можно включить подробное логирование через веб-интерфейс (Server → Settings → Save debugging information).
Устранение распространённых проблем
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Не удаётся войти в веб-интерфейс | Пользователь не входит в группу lpadmin | Добавьте пользователя в группу и перезапустите сеанс: sudo usermod -a -G lpadmin $USER |
| Принтер не отображается в Windows | Samba не настроена или служба не запущена | Проверьте sudo systemctl status smbd. Убедитесь, что в smb.conf разрешён гостевой доступ |
| Windows запрашивает пароль при подключении | В smb.conf отключён гостевой доступ | Измените map to guest = Bad User и guest ok = yes в секции [printers] |
| Ошибка «Filter failed» при печати | Неподходящий драйвер или отсутствует PPD-файл | Смените драйвер принтера в веб-интерфейсе CUPS. Попробуйте универсальный драйвер |
| Принтер не добавляется через веб-интерфейс | Неправильный URI или недоступность принтера по сети | Проверьте подключение к принтеру: ping <IP-адрес> или telnet <IP-адрес> 9100 |
| Печать зависает в очереди | Неисправность принтера или отсутствие бумаги | Проверьте статус принтера через веб-интерфейс. Удалите зависшее задание и очистите очередь |
| Нет звука при завершении печати | Не настроены уведомления CUPS | В веб-интерфейсе: Server → Settings → Notifications |
Итог
Мы развернули централизованный принт-сервер на базе CUPS, который позволяет управлять всеми принтерами и МФУ офиса из единой точки. Cups принт сервер linux избавляет от необходимости настраивать каждое устройство на каждом компьютере, централизует учёт и контроль печати, а также решает проблему совместимости между разными ОС. При подключении Windows-клиентов через Samba сотрудники могут отправлять задания на печать так же, как если бы принтер был подключён напрямую. А благодаря веб-интерфейсу вы можете добавлять новые принтеры и отслеживать состояние очередей из любой точки сети.







