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

This commit is contained in:
Alexey Martemyanov
2026-09-02 15:58:05 +06:00
parent ae20848432
commit 2fab8793cd
2 changed files with 31 additions and 3 deletions
+29 -3
View File
@@ -1,9 +1,14 @@
---
type: tech
topic: print
tags: [print, printer, samsung, cups, macos]
created: 2026-08-26
updated: 2026-08-31
tags:
- print
- printer
- samsung
- cups
- macos
created: 2026-08-26T00:00:00.000Z
updated: '2026-09-02T00:00:00.000Z'
---
# Печать и общие сервисы (Mac + сеть)
@@ -95,6 +100,27 @@ nc -z 192.168.2.197 631 # 631 OPEN снаружи
Полный рецепт на будущее продублирован в `truenas-infrastructure.md` → раздел «Печать / cups-splix».
## ✅ Печать PDF извне сети TrueNAS (когда клиент НЕ в подсети, `mallexxx.duckdns.org:631` закрыт)
Когда принтер физически в TrueNAS, а клиент НЕ в подсети `192.168.2.x` → прямой IPP до `:631` закрыт. Печатать через SSH `mallexxx.duckdns.org` в контейнер `cups-splix` (проверено 2026-09-02):
```bash
# 1. Залить PDF на TrueNAS
scp -i ~/.ssh/id_rsa file.pdf truenas_admin@mallexxx.duckdns.org:/tmp/evrika_print.pdf
# 2. Скопировать внутрь контейнера
ssh -i ~/.ssh/id_rsa truenas_admin@mallexxx.duckdns.org \
'docker cp /tmp/evrika_print.pdf cups-splix:/tmp/evrika_print.pdf'
# 3. Отправить в очередь (CUPS сам конвертит PDF→vnd.cups-postscript→pstoqpdl; gs+pdftops в контейнере есть)
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 | grep "<reqid>"` (искомый job появляется строкой `Samsung_CLX-216x_Series-<N> <user> <bytes> ... <дата>`), очередь пуста (`lpstat -o`), принтер `idle … Rendering completed`. access_log контейнера: `Create-Job successful-ok` + `Send-Document successful-ok`.
**Важно:** `lp -d <printer> file.pdf` сам создаёт job (`Create-Job`) — НЕ комбинировать с отдельным print-job-id, иначе `client-error-not-found`. PPD CLX-216x принимает `application/vnd.cups-postscript` (`*cupsFilter: 0 pstoqpdl`), поэтому чистый PDF конвертится автоматически. Job в `lpstat -W completed` показывает владельцем `root` (выполняется через docker по SSH) — это нормально.
Полный шаги: залить → `docker cp``docker exec cups-splix lp` → проверить `completed` → убрать временные файлы (`/tmp/...` на хосте и внутри контейнера).
## ⚠️ ТОПОЛОГИЯ ИЗМЕНЕНА (2026-08-31) — TrueNAS больше НЕ в локальной сети
TrueNAS ушла из локальной сети и доступна **только** через публичный DNS `mallexxx.duckdns.org` (внешка `90.189.160.148`). Локальный `192.168.2.197` физически **недостижим** (пинг 100% потеря) — TrueNAS не в `192.168.2.x` и не в сети телефона.