====== Очереди печати ======
Очередь печати в **EYEPRINT** — именованный приёмник заданий на сервере печати (служба ''eyeprint-ps''). Клиенты (Windows, Linux и другие) отправляют документы по протоколу **LPR/LPD** на порт **515**, указывая **имя очереди**. Сервер принимает задание, проверяет права пользователя, сохраняет его и — если очередь в режиме прямой печати — отправляет данные на привязанный принтер (порт **9100**).
Очередь EYEPRINT — это не очередь Windows Spooler и не CUPS. В драйвере клиента указывают адрес сервера EYEPRINT и **имя очереди из веб-интерфейса**.
===== Как это работает =====
Рабочая станция (LPR)
│ порт 515, имя очереди
▼
eyeprint-ps (LPD-сервер)
│ проверка прав пользователя
│ сохранение задания и учёт
▼
Принтер (raw TCP, порт 9100)
— только если очередь прямая и к ней привязан принтер
- Пользователь печатает на принтер, добавленный в ОС и указывающий на сервер EYEPRINT.
- Служба **eyeprint-ps** принимает задание по LPD (RFC 1179).
- По владельцу задания из control-файла проверяются права: печать, цвет, дуплекс (карточка пользователя в веб-интерфейсе).
- Задание записывается в базу, исходный файл сохраняется на диск, при необходимости конвертируется (нужен **Ghostscript**).
- Если очередь **прямая** и к ней привязан принтер из справочника устройств — поток печати отправляет данные на IP устройства, порт **9100**.
- Если принтер не привязан, задание остаётся в очереди сервера и на устройство не уходит.
Список очередей служба ''eyeprint-ps'' читает **при старте**. После создания или удаления очереди в веб-интерфейсе выполните:
systemctl restart eyeprint-ps
===== Службы и порты =====
^ Компонент ^ Роль ^
| ''eyeprint-core'' | Основная логика, база, мониторинг устройств |
| ''eyeprint-web'' | Веб-интерфейс (по умолчанию порт **8080**) |
| ''eyeprint-ps'' | Принт-сервер: приём LPD и отправка на принтеры |
^ Порт ^ Назначение ^
| **515** | Приём печати (LPD). Должен быть свободен на сервере |
| **9100** | Отправка задания на сетевой принтер (JetDirect/raw) |
| **8080** | Веб-интерфейс администратора |
===== Режимы очереди =====
^ Режим ^ Когда используется ^ Поведение ^
| **Прямая печать** (direct) + привязан принтер | Обычная работа офиса | Задание принимается и сразу печатается на выбранном устройстве |
| **Без принтера** | Отладка, удержание | Задание принимается и учитывается, на устройство не отправляется |
При установке создаётся очередь ''stuck_queue'' без привязанного принтера. Для реальной печати создайте свою очередь и привяжите устройство из справочника принтеров.
===== Права печати =====
Права задаются **на пользователя**, а не на очередь.
^ Право ^ Смысл ^
| Печать | Пользователь может отправлять задания |
| Цветная печать | Разрешены цветные задания (определяются по содержимому PostScript) |
| Дуплекс | Ограничение односторонней печати |
Если у пользователя выключена печать, задание на сервер не ставится. Имя пользователя в задании должно совпадать с учётной записью в EYEPRINT (как его передаёт клиент LPR).
Группы устройств в системе используются для учёта и доступа к карточкам принтеров. Они **не маршрутизируют** задания по очередям: маршрут задаёт только привязка «очередь → принтер».
===== Администрирование в веб-интерфейсе =====
Войдите в веб-интерфейс (по умолчанию ''http://IP-сервера:8080'', учётка ''epadmin'' / ''epadmin'') и откройте раздел очередей печати.
==== Создание очереди ====
- Убедитесь, что принтер уже есть в справочнике устройств (обнаружен сканированием сети или добавлен вручную), у него верный IP и открыт порт **9100**.
- Создайте очередь:
* **Имя** — то, что укажут в Windows/Linux как имя LPR-очереди. Только латиница, без пробелов, уникально в системе.
* **Прямая печать** — включите для вывода на устройство.
* **Принтер** — устройство из справочника.
* **Активна** — очередь доступна для использования.
- Перезапустите принт-сервер:
systemctl restart eyeprint-ps
- Подключите рабочие станции: см. [[add_printer|Подключение устройства к очереди печати]].
==== Просмотр и удаление ====
Список очередей показывает имя и привязанное устройство. Изменение привязки через интерфейс не предусмотрено: удалите очередь и создайте заново с нужным принтером, затем снова перезапустите ''eyeprint-ps''.
Удаление очереди также требует перезапуска ''eyeprint-ps'', иначе старое имя может остаться в памяти службы.
==== Типовые проблемы ====
^ Симптом ^ Что проверить ^
| Задание не доходит до сервера | Служба ''eyeprint-ps'', порт **515**, имя очереди совпадает с именем в ОС клиента |
| Задание есть в учёте, принтер молчит | Режим прямой печати, привязан ли принтер, доступен ли IP:9100, перезапуск PS после создания очереди |
| Отказ в печати | Права пользователя: печать / цвет / дуплекс |
| Ошибка конвертации | Установлен пакет ''ghostscript'' на сервере EYEPRINT |
===== Каталоги на сервере =====
Пути по умолчанию (могут быть изменены в конфигурации принт-сервера):
* исходники заданий: ''/opt/eyeprint/storage/pcl/''
* PDF после конвертации: ''/opt/eyeprint/storage/pdf/''
На сервере должны быть установлены **Ghostscript** и служба **eyeprint-ps** (см. [[install|Установку]]).