notes/rpi_printserver.md

192 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Принт-сервер и сетевой сканер на Raspberry PI
_МФУ Samsung SCX3405W_
## Печать
Подразделени Samsung, которое занималось производством принтером было куплено компанией HP, поэтому справедливо установить драйвера HP и свободные драйвера
```bash
sudo apt-get update
sudo apt-get install hplip printer-driver-splix -y
```
Установить службу печати линукс CUPS
```bash
sudo apt-get install cups -y
```
Необходимо добавить пользователя в группу lpadmin
```bash
sudo usermod -a -G lpadmin da2001
sudo reboot
```
Следующим этапом необходимо отредактировать конфигурационный файл службы печати
```bash
vim /etc/cups/cupsd.conf
```
строку `Listen localhost:631` необходимо изменить на `Port 631`
добваить две строки
```
BrowseRemoteProtocols CUPS dnssd
BrowseAddress @LOCAL
```
Внести изменения в секцию Location, привести к виду:
```
<Location />
Order allow,deny
Allow all
</Location>
```
В секции Location /admin закомментировать строку `Order allow,deny`
```
<Location /admin>
</Location>
```
Перезапустить службу печати
```bash
sudo systemctl restart cups
```
Если всё настроено верно, должен отобразиться web-интрефейс https://print-server-ip:631
![web](images/cups_web.png)
На вкладке Администрирование необходимо добавить новый принтер.
В случае с Samsung SCX3405W, его нет в списке, но есть Samsung SCX3200 - он также подойдёт.
С настройкой принтера закончено, теперь он должен быть доступен в локальной сети.
## Сканирование
Необходимо установить пакет sane
```bash
sudo apt install sane -y
```
Далее необходимо убедиться, что сканер опознан в системе
```bash
sudo sane-find-scanner
```
_пример вывода_
```bash
da2001@printserver:~ $ sudo sane-find-scanner
# sane-find-scanner will now attempt to detect your scanner. If the
# result is different from what you expected, first make sure your
# scanner is powered up and properly connected to your computer.
# No SCSI scanners found. If you expected something different, make sure that
# you have loaded a kernel SCSI driver for your SCSI adapter.
# Also you need support for SCSI Generic (sg) in your operating system.
# If using Linux, try "modprobe sg".
found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x344f [SCX-3400 Series]) at libusb:001:004
found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
```
Можно попробовать выполнить Сканирование
```bash
sudo scanimage -L
```
пример вывода:
```bash
Created directory: /var/lib/snmp/cert_indexes
device 'xerox_mfp:libusb:001:004' is a Samsung Samsung SCX-3400 Series multi-function peripheral
```
свидетельствует о готовности сканера
Непосредственно само сканирование
```bash
scanimage > ~/test-scan-file.pnm
```
Получить информацию о созданном файле
```bash
file test-scan-file.pnm
```
### Сетевое сканирование
Изменить конфигурацию для включения демона saned
```bash
sudo vim /etc/default/saned
```
добавить строку `RUN=yes`
В основном конфигурациооном файле `/etc/sane.d/saned.conf` необходимо указать сеть доступности сканирования
```
192.168.13.0/24
```
кроме этого необходимо раскомментировать строку
```
data_portrange = 10000 - 10100
```
Также необходимо изменить разрешения, чтобы демон saned мог запускаться не от рута. В части вывода `sane-find-scanner` было показано
```
found USB scanner (vendor=0x04e8 [Samsung Electronics Co., Ltd.], product=0x344f [SCX-3400 Series]) at libusb:001:004
```
`libusb:001:004` сообщает, что сканер находится по адресу /dev/bus/usb/001/004
Проверим права этого файла
```bash
da2001@printserver:~ $ ls -l /dev/bus/usb/001
итого 0
crw-rw-r-- 1 root root 189, 0 мая 6 19:37 001
crw-rw-r-- 1 root root 189, 1 мая 6 18:09 002
crw-rw-r-- 1 root root 189, 2 мая 6 18:09 003
crw-rw-r--+ 1 root lp 189, 3 мая 6 19:39 004
```
как видно из вывода, файлом владеет root с группой lp (linux print). Нам нужно добавить демона sane в группу lp, чтобы дать ему необходимые разрешения:
```bash
sudo adduser saned lp
```
В конце необходимо запустить saned
```bash
sudo systemctl enable --now saned.socket
```