[2026-08-26] eagle: family/how-to/samsung.md family/how-to/truenas-infrastructure.md personal/tech/mac-print-shared-services.md

This commit is contained in:
Alexey Martemyanov
2026-08-26 20:02:03 +06:00
parent 8853b674bd
commit 4bb4d17064
3 changed files with 78 additions and 16 deletions
+12 -5
View File
@@ -16,12 +16,19 @@ updated: "2026-08-26"
Симптом: с телефона не виден принтер.
Ключевые факты из CUPS на этом Маке:
- `Listen localhost:631` — служба печати CUPS слушает **только локально**, наружу не отдаёт.
- `SharePrinters` в `/etc/cups/cupsd.conf` не активен — **шеринг печати выключен** (оба принтера `Shared: No`).
- Для печати с телефона через этот Мак нужно включить шеринг (`sudo cupsctl WebInterface=yes` + Enable Printer Sharing в Системных настройках), либо принтеру самому быть AirPrint-совместимым в той же сети.
### ✅ Корень проблемы (подтверждено SSH на TrueNAS)
Внимание на подсеть: Мак в этом сеансе был на `192.168.6.x` (192.168.6.173), а основная инфраструктура (TrueNAS/принтеры/OpenWrt) живёт на `192.168.2.x` (192.168.2.197). `192.168.2.197` — это адрес TrueNAS, принтер CLX прописан на том же IP-хосте. Мак вне основной сети → `192.168.2.197` не пингуется. Расхождение возможно из-за того, что Мак был подключён не к основной сети/роутеру (или смена сети), а не из-за принтера.
**Samsung CLX-216x физически подключён к TrueNAS (USB) и обслуживается docker-контейнером `cups-splix` (драйвер splix). Контейнер НЕ запущен** — образ не собран, контейнер отсутствует после пересоздания пула. Поэтому принтер не виден по сети → телефон не печатает.
- На TrueNAS нет другой службы печати: `lpstat`/`cupsd` не установлены, порт 631 закрыт.
- `192.168.2.197` — это адрес TrueNAS (не принтер); запись `ipps://192.168.2.197:631/...` = расшаренная печать TrueNAS.
- **Фикс:** пересобрать `cups-splix` и поднять — см. `[[truenas-infrastructure]]` (раздел «cups-splix — принтер») и `[[mac-print-shared-services]]`.
### Факты из CUPS на этом Маке (вторичны для этой проблемы)
- `Listen localhost:631` — служба печати CUPS слушает **только локально**, наружу не отдаёт.
- `SharePrinters` в `/etc/cups/cupsd.conf` не активен — **шеринг печати выключен** (оба принтера `Shared: No`). Шеринг на Маc актуален только для принтера, висящего на Маcе (Samsung M2020).
Подсеть: Мак в этом сеансе был на `192.168.6.x`, инфраструктура живёт на `192.168.2.x` — расхождение из-за того, что Мак был вне основной сети, а не из-за принтера.
Примечание: `sudo -n cupsctl` не работает без пароля — шеринг удалённо через SSH проверить нельзя.
+21 -1
View File
@@ -4,7 +4,7 @@
> ## ✅ СТАТУС на 2026-08-25: пул ONLINE, docker поднят, почти все контейнеры Up
> **Пул RED_2TB пересоздан (2026-08-21) и работает:** `zpool status` ONLINE, rsync возврата данных завершён, `/mnt/RED_2TB/` смонтирован.
> **Docker: ПОДНЯТ на 2026-08-25.** Почти все контейнеры Up (zigbee2mqtt, webdav, vless-proxy, homeassistant, caddy, transmission, syncthing, mosquitto, nodered, immich*, gitea, filebrowser, portainer*, hermes-taiga и др.). Ещё не подняты/падают отдельные (library был Restarting; inpxer/inpx-web/arr/cups/ser2net не в списке — проверить при надобности).
> **Docker: ПОДНЯТ на 2026-08-25.** Почти все контейнеры Up (zigbee2mqtt, webdav, vless-proxy, homeassistant, caddy, transmission, syncthing, mosquitto, nodered, immich*, gitea, filebrowser, portainer*, hermes-taiga и др.). Ещё не подняты/падают отдельные (library был Restarting; inpxer/inpx-web/arr/cups/ser2net не в списке — проверить при надобности). **Подтверждено 2026-08-26: `cups-splix` (принтер Samsung CLX-216x) НЕ запущен — образ не собран, контейнер отсутствует. Фикс: пересобрать образ и поднять (см. раздел «cups-splix — принтер»).**
> **⚠️ Известная проблема modbus-bridge/mbusd — гонка с udev при рестарте TrueNAS:**
> - После перезагрузки docker стартует раньше udev, поэтому `/dev/ttyZONT` и `/dev/ttyVent` на момент старта контейнеров ещё не существуют.
> - Контейнеры с `devices: /dev/ttyZONT:...` падают на `start` с `error gathering device information while adding custom device "/dev/ttyZONT": no such file or directory` (ExitCode 128/255, RestartCount=0).
@@ -115,6 +115,26 @@ TrueNAS использует **NFSv4 ACL**, а не стандартный POSIX
| modbus-bridge | modbus-bridge | — | — |
| cups-splix | cups-splix | — | принтер |
### cups-splix — принтер Samsung CLX-216x (⚠️ не поднят 2026-08-26)
**Статус:** контейнер НЕ запущен. Образ `cups-splix` не собран (пропал — `.ix-apps` docker data-root не переносился при пересоздании пула; локальная сборка не «перекачается»). Папка конфига цела.
Папка: `/mnt/RED_2TB/docker/cups/``Dockerfile`, `docker-compose.yml`, `docker build.txt`, `data/``/etc/cups`, `cache/``/var/cache/cups`, `spool/``/var/spool/cups`, `uld/`.
- **Image:** `cups-splix` (локальная сборка из Dockerfile)
- **Dockerfile** (debian:12-slim): `cups-daemon cups-client cups-common printer-driver-splix avahi-utils dbus usbutils nano`; `cupsadmin:admin` (группа lpadmin); `EXPOSE 631`; CMD `cupsd -f`
- **compose:** `network_mode: host`, `privileged: true`, volume `/dev/bus/usb:/dev/bus/usb`, restart `unless-stopped`
- **Сборка/поднятие:**
```bash
cd /mnt/RED_2TB/docker/cups/
docker build -t cups-splix .
docker compose up -d
# проверка: порт 631 открылся, принтер подцепился
```
- **Проверка доступности сейчас:** `lpstat`/`cupsd` на хосте НЕ установлены, порт 631 закрыт (local и снаружи) — подтверждает, что печать не работает.
> Полный разбор и симптом «телефон не видит принтер»: [[mac-print-shared-services]]
### Инвентарь compose-файлов по папкам (проверено 2026-08-24)
Каждый контейнер = своя папка `/mnt/RED_2TB/docker/<app>/`. Модель — **не один общий compose, а per-service compose** (контейнеры поднимались `docker compose up -d` из своей папки / `docker run`).
+45 -10
View File
@@ -29,21 +29,56 @@ created: 2026-08-26
## ⚠️ Важное наблюдение (пересечение с TrueNAS)
Адрес **`192.168.2.197` в памяти — это TrueNAS** (truenas_admin, SSH через `mallexxx.duckdns.org`, он же `192.168.2.197`; см. память/инфраструктуру). В системе печати тот же адрес числится как Samsung CLX-216x.
Адрес **`192.168.2.197` — это TrueNAS** (truenas_admin, SSH через `mallexxx.duckdns.org`), НЕ сам принтер. Samsung CLX-216x физически подключён к TrueNAS (USB) и печатается через docker-контейнер **cups-splix** (драйвер splix). Запись `ipp://192.168.2.197/printers/Samsung_CLX-216x_Series` в системе Мака — результат обнаружения расшаренной печати TrueNAS на этом адресе.
Вероятно одно из двух:
1. Samsung CLX-216x физически подключён к TrueNAS и расшаривается через него на этом адресе — тогда «принтер» на 192.168.2.197 это на самом деле TrueNAS, отдающий печать.
2. Конфиг печати помнит устаревший адрес/принтер, которого больше нет.
## ✅ НаСТОЯЩИЙ ДИАГНОЗ (2026-08-26, подтверждено SSH на TrueNAS)
Требуется уточнить у владельца, какой принтер физически в наличии.
**Корень проблемы: cups-splix контейнер НЕ запущен на TrueNAS.**
- На TrueNAS **нет ни одной работающей службы печати**: `lpstat`/`cupsd` в системе не установлены, порт 631 закрыт (и локально, и снаружи).
- Ни одного docker-контейнера по печати в `docker ps` нет (cup/sprint/ipp — пусто). **Официальный список контейнеров** (docker ps -a): immich(redis/server/postgres), modbus-bridge, mbusd, zigbee2mqtt, webdav, vless-proxy, hermes-taiga, portainer(-mcp), homeassistant, caddy, watchtower, transmission, syncthing, ser2net, rclone, nodered, mosquitto, library, inpxer, inpx-web, gitea, filebrowser. **`cups-splix` отсутствует.**
- Образ `cups-splix` не собран (`docker images | grep cups|splix` → пусто).
### Конфиг cups-splix (цел, на месте)
Папка `/mnt/RED_2TB/docker/cups/`: `Dockerfile`, `docker-compose.yml`, `docker build.txt`, `data/`, `cache/`, `spool/`, `uld/`.
**docker-compose.yml:**
```yaml
services:
cups-splix:
image: cups-splix
container_name: cups-splix
command: ["/usr/sbin/cupsd", "-f"]
network_mode: host
privileged: true
volumes:
- /dev/bus/usb:/dev/bus/usb
- /mnt/RED_2TB/docker/cups/data:/etc/cups
- /mnt/RED_2TB/docker/cups/cache:/var/cache/cups
- /mnt/RED_2TB/docker/cups/spool:/var/spool/cups
restart: unless-stopped
```
**Dockerfile** (debian:12-slim): ставит `cups-daemon cups-client cups-common printer-driver-splix avahi-utils dbus usbutils nano`, пользователь `cupsadmin:admin` (в группе lpadmin), `EXPOSE 631`, CMD `cupsd -f`.
**Как поднять** (из доки, раздел «Сборка»):
```
cd /mnt/RED_2TB/docker/cups/
docker build -t cups-splix .
docker compose up -d # или docker run из build.txt
# проверить: порт 631 открылся, принтер подцепился
```
### Почему выпал
`.ix-apps` вызов docker data-root при пересоздании пула НЕ переносился → образы (=кеш) потеряны, перекачиваются заново. `cups-splix` — локальная сборка, она не «перекачается», нужно пересобрать. Конфиги целы.
## Что НЕ запушено из-за запрета
Запуск сканирования подсети был запрещён пользователем — активного поиска принтера по сети не проводилось.
Запуск сборки/поднятия cups-splix НЕ выполнялся — ждёт подтверждения Alex.
## Вывод/нерешенное
- Телефон не видит принтер, потому что: (а) служба печати на Mac не отдаёт принтеры наружу (Listen localhost), и (б) принтеры не отвечают по сети.
- Для AirPrint-печати с телефона на принтерах, висящих на Mac, нужно включить **Printer Sharing** (**System Settings → Printers & Scanners → Share this printer**) — это поднимет `SharePrinters` и разлочит порт 631 для локальной сети.
- Для сетевого принтера (через TrueNAS) — проверить, что TrueNAS и расшаренная печать живы.
- Требуется ответ владельца: какой принтер физически и где.
- **Почему телефон не видит принтер:** cups-splix на TrueNAS не запущен → Samsung CLX-216x физически не обслуживается → принтера нет по сети.
- **Фикс:** пересобрать образ и поднять контейнер cups-splix (шаги выше), затем проверить порт 631.
- Шеринг печати на Маc не критичен для этого пути — реальная печать идёт через TrueNAS cups-splix. Включение Printer Sharing на Маc было бы актуально только для принтера, висящего на Маcе.