rpi: настроить домашнюю печать на Brother DCP-L2620DW
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# Домашняя печать с rpi
|
||||
|
||||
Принтер: Brother DCP-L2620DW, обнаружен 2026-10-11 через mDNS,
|
||||
`192.168.10.24`, hostname `BRW2C9C58C1EEA7.local`.
|
||||
Чёрно-белый, A4, двусторонняя печать; IPP `/ipp/print`, порт 631.
|
||||
Код настройки — `setup.sh`; очередь `home-brother`, драйвер IPP Everywhere.
|
||||
|
||||
Установка: `sudo apt-get install --no-install-recommends cups cups-client cups-filters cups-ipp-utils`,
|
||||
затем `sudo sh stacks/rpi-print/setup.sh` и
|
||||
`sudo install -o root -g root -m 755 stacks/rpi-print/home-print /usr/local/bin/home-print`.
|
||||
|
||||
Печать PDF/PNG/JPEG: `lp -d home-brother -o media=A4 -o fit-to-page /path/to/file`.
|
||||
Двусторонняя: добавить `-o sides=two-sided-long-edge`.
|
||||
Очередь: `lpstat -W not-completed -o home-brother`; отмена: `cancel <job-id>`.
|
||||
Word DOCX перед печатью нужно преобразовать в PDF: напрямую CUPS его не понимает.
|
||||
|
||||
⚠️ hostname через mDNS позволяет пережить смену DHCP-адреса; если принтер
|
||||
не объявляет mDNS или выключен, отправка упадёт. Политика `abort-job` исключает
|
||||
неожиданную автоматическую печать давно забытых заданий после включения.
|
||||
Очередь не публикуется в сеть (`printer-is-shared=false`); CUPS остаётся локальным.
|
||||
|
||||
Отправлять на бумагу только по прямой просьбе пользователя. Сообщение о принятии
|
||||
задания означает приём в очередь; итог следует проверить через `lpstat`.
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
# Usage: home-print status | home-print [--duplex] FILE.pdf|FILE.png|FILE.jpg
|
||||
set -eu
|
||||
printer=home-brother
|
||||
if [ "${1:-}" = status ]; then
|
||||
lpstat -p "$printer"
|
||||
lpstat -W not-completed -o "$printer"
|
||||
exit
|
||||
fi
|
||||
sides=one-sided
|
||||
if [ "${1:-}" = --duplex ]; then
|
||||
sides=two-sided-long-edge
|
||||
shift
|
||||
fi
|
||||
if [ "$#" -ne 1 ] || [ ! -f "$1" ]; then
|
||||
echo 'Укажите один существующий PDF/PNG/JPEG-файл' >&2
|
||||
exit 2
|
||||
fi
|
||||
case "$1" in
|
||||
*.pdf|*.PDF|*.png|*.PNG|*.jpg|*.JPG|*.jpeg|*.JPEG) ;;
|
||||
*) echo 'Поддерживаются PDF/PNG/JPEG; Word сначала преобразуйте в PDF' >&2; exit 2 ;;
|
||||
esac
|
||||
# Absolute path prevents a filename from becoming an lp option.
|
||||
file=$(realpath -- "$1")
|
||||
exec lp -d "$printer" -n 1 -o media=A4 -o fit-to-page -o sides="$sides" "$file"
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
# Run as root after installing cups cups-client cups-filters cups-ipp-utils.
|
||||
set -eu
|
||||
systemctl enable --now cups.service
|
||||
lpadmin -p home-brother -E -v ipp://BRW2C9C58C1EEA7.local:631/ipp/print -m everywhere \
|
||||
-D 'Brother DCP-L2620DW' -L 'Дом' \
|
||||
-o printer-is-shared=false -o PageSize=A4 -o sides-default=one-sided \
|
||||
-o printer-error-policy=abort-job
|
||||
lpadmin -d home-brother
|
||||
lpstat -p home-brother -v
|
||||
Reference in New Issue
Block a user