--- type: tech topic: print tags: [print, printer, samsung, cups, truenas, novosibirsk] updated: "2026-10-09" --- # Samsung CLX-216x — Новосибирск ## Подключение и сервисы - Принтер подключён по USB к TrueNAS в Новосибирске: `usb://Samsung/CLX-216x%20Series?serial=9566BAGQ213134Z.&interface=1`. - `192.168.2.197` — адрес TrueNAS, не принтера. - Контейнер `cups-splix` обслуживает очередь `Samsung_CLX-216x_Series` через CUPS и драйвер splix. - В контейнере работают `cupsd`, `dbus-daemon`, `avahi-daemon`; Avahi публикует `_ipp._tcp` / mDNS для Android. ## История проблем и решений 1. После пересоздания пула исчез локально собранный образ `cups-splix`; контейнер не работал, CUPS на `:631` не было, принтер оказался недоступен. 2. Образ пересобрали из `/mnt/RED_2TB/docker/cups/`, контейнер подняли. USB-очередь восстановилась из сохранённого CUPS-конфига. 3. Штатная Android-служба считала доступную по IPP очередь недоступной: не было mDNS-анонса. 4. В контейнер добавили `avahi-daemon` и `dbus-daemon`, включили CUPS browsing. После этого Android обнаруживает принтер. ## Эксплуатация - Конфигурация: `/mnt/RED_2TB/docker/cups/` на TrueNAS. - После изменения конфигурации поднимать полным пересозданием: ```bash docker stop cups-splix docker rm cups-splix docker compose up -d ``` - Не использовать `docker restart cups-splix`: Avahi после него становится zombie, mDNS пропадает. - Из внешней сети печать идёт через SSH в контейнер; порт `631` наружу не опубликован. ## Печать PDF извне Загрузить PDF на TrueNAS, скопировать в контейнер и поставить в очередь: ```bash scp -i ~/.ssh/id_rsa file.pdf truenas_admin@mallexxx.duckdns.org:/tmp/evrika_print.pdf ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org \ 'docker cp /tmp/evrika_print.pdf cups-splix:/tmp/evrika_print.pdf' ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org \ 'docker exec cups-splix lp -d Samsung_CLX-216x_Series -o media=A4 /tmp/evrika_print.pdf' ``` Проверка: `lpstat -W completed` внутри контейнера. CUPS сам конвертирует PDF для splix. После печати удалить временные файлы в `/tmp` на TrueNAS и в контейнере. ## Контейнер и сохранность конфигурации - `docker-compose.yml` использует `network_mode: host`, USB `/dev/bus/usb`, а `/etc/cups`, кэш и spool хранятся в `/mnt/RED_2TB/docker/cups/{data,cache,spool}`. - Образ основан на Debian 12; в нём CUPS, splix, Avahi, D-Bus и USB-утилиты. Точка входа запускает D-Bus, затем Avahi, затем `cupsd`. - Каталоги `data`, `cache`, `spool` принадлежат `root:lp` и имеют права `0700`. Бэкап делать внутри контейнера через `docker exec … tar`, затем забирать `docker cp`. - Локально собранный образ не переживает потерю docker data-root; конфигурация и USB-очередь сохраняются в `/mnt/RED_2TB/docker/cups/`, образ нужно пересобрать.