Skip to content

CUPS

Сервер печати для создания сетевого принтера.

Развернут в Proxmox LXC привилегированный linux контейнер с пробросом usb hub

/etc/pve/nodes/homelab/lxc/110.conf
---
---
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,optional,create=dir
Terminal window
apt update
apt install cups* avahi-daemon sane* printer-driver-foo2zjs

Принтер спроектирован таким образом, что если в операционной системе Windows не установлены драйверы для работы с ним, то он определяется как привод с компакт-диском, с которого можно установить драйвры. Задумка хорошая, но в Linux как минимум бесполезная, а по большому счёту даже вредная. У меня ушло некоторое время на то, чтобы сообразить, что сделать, чтобы принтер начал определяться именно как принтер. Оказалось, что для этого нужно установить в систему пакет usb-modeswitch, который изначально был создан для решения подобной проблемы с USB-модемами 3G. Установим пакет:

Добавляем root в группу lpadmin

Section titled “Добавляем root в группу lpadmin”
Terminal window
usermod -aG lpadmin root

Изменяем конфигурацию CUPS

Section titled “Изменяем конфигурацию CUPS”

Открываем доступ из локальной сети и web-интерфейс

---
// nano /etc/cups/cupsd.conf
---
Listen 0.0.0.0:631
WebInterface Yes
Browsing On
<Location />
Allow @LOCAL
</Location>
<Location /admin>
Allow @LOCAL
</Location>

apt install usb-modeswitch После установки пакета принтер определяется, как положено. https://stupin.su/wiki/cups-hp-ljp1102/ https://gist.github.com/Michael-Echlin/d89073e4a7df3fcc723dc1620115c8e8#file-gistfile1-txt