====== Сервис CUPS ======
* [[https://ru.wikipedia.org/wiki/PostScript|PostScript]]
* [[https://wiki.archlinux.org/title/CUPS_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)/Printer_sharing_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|CUPS (Русский)/Printer sharing (Русский)]]
* [[https://habr.com/ru/articles/443094/|Настройка с нуля принтсервера CUPS с доменной авторизацией и без нее в сети с разными ОС]]
* [[https://play.google.com/store/apps/details?id=io.github.benoitduffez.cupsprint&hl=ru|CUPS Printing для Android]]
===== Установка CUPS =====
student@clietn1:~$ sudo apt install cups
===== Настройка доступа к CUPS =====
* Через [[Управление учетными записями в Linux#Управление членством в группах]]
# usermod -a -G lpadmin student
* http://localhost:631
===== Настройка локальной печати =====
* [[https://www.openprinting.org/printers|openprinting Printer Listings]]
==== Использование USB принтера ====
* [[Анализ оборудования в Linux]]
* [[http://support.ricoh.com/bb/html/dr_ut_e/re1/model/sp111/sp111.htm?lang=ru|support.ricoh.com model sp111]]
* [[https://xubuntu-ru.net/hardware/835-ustanovka-printera-ricoh-sp-100.html|Установка принтера Ricoh sp 100]]
* [[https://github.com/droidzone/ricoh-sp100|github.com/droidzone/ricoh-sp100 + RICOH_Aficio_SP_111.ppd]]
* [[Управление ПО в Linux|Поиск пакета (в том числе среди неустановленных) в который входит файл]]
==== Использование виртуального PDF принтера ====
* [[https://www.ekzorchik.ru/2012/04/cups-pdf|Поднимаем виртуальный CUPS принтер под Ubuntu]]
# apt install printer-driver-cups-pdf
$ ls ~/PDF
# ls /var/spool/cups-pdf/ANONYMOUS/
===== Настройка печати по сети =====
==== Настройка сетевого доступа в CUPS ====
* [[https://www.altlinux.org/CUPS/%D0%9F%D0%B5%D1%87%D0%B0%D1%82%D1%8C_%D0%B8%D0%B7-%D0%BF%D0%BE%D0%B4_Windows|Печать из windows на cups-принтер]]
* Разрешаем совместный доступ к принтерам и, конкретно, к принтеру
* Можно настроить доступ по ссылке:
http://192.168.1.181:631/printers/RICOH_SP_111_DDST Windows (HP PS)
ipp://192.168.1.181:631/printers/RICOH_SP_111_DDST Linux (Ricoh IPP Everywhere)
==== Настройка доступа к принтеру по сети ====
=== Через mdns и dns-sd ===
* [[https://xakep.ru/2019/12/16/multicast-dns-pentest/|Игра на доверии. Пентестим Multicast DNS и Service discovery]]
* [[https://wiki.archlinux.org/title/avahi|Avahi is a free zero-configuration networking (zeroconf) implementation, including a system for multicast DNS/DNS-SD service discovery]]
* [[https://serverfault.com/questions/143184/how-do-i-get-the-machine-name-from-an-ip-via-multicast-dns|How do I get the machine name from an IP via Multicast DNS?]]
$ dig @224.0.0.251 -p 5353 +short alfer-desktop.local
$ dig @224.0.0.251 -p 5353 -t ptr _printer._tcp.local
$ dig @224.0.0.251 -p 5353 +short NPID78751.local
# apt install libnss-mdns
$ getent hosts NPID78751.local
# apt install avahi-utils
$ avahi-resolve --name -4 val-HP-Notebook.local
$ avahi-browse --resolve _printer._tcp
$ lpinfo --include-schemes dnssd -v
=== Отключение авто обнаружения принтеров ===
[root@val-299-alt ~]# cat /etc/cups/printers.conf | grep ' /etc/cups/printers.conf
[root@val-299-alt ~]# systemctl restart cups
=== Через ip адрес или dns имя ===
* [[https://www.cups.org/doc/network.html|Using Network Printers]]
* [[https://docs.oracle.com/cd/E36784_01/html/E36821/gmfou.html|How to Add a Network Printer on a Different Subnet by Using CUPS Commands]]
# ping 10.5.11.60
# lpinfo -m
# lpinfo -m | grep HP
# lpadmin -p OLDHP -E -v socket://10.5.11.60 -m drv:///sample.drv/laserjet.ppd
# lpadmin -p NEWYounger2009Printer -E -v ipp://10.5.11.60/ipp/print -m everywhere
alt# lpadmin -p NEWYounger2009Printer -E -v ipp://192.168.1.65/ipp/print -m everywhere
[root@val-299-alt ~]# ping Canonf77e20.local.bmstu.ru
[root@val-299-alt ~]# lpadmin -p Canonf77e20 -E -v ipp://Canonf77e20.local.bmstu.ru/ipp/print -m everywhere