sane-project-backends/doc/saned/saned.install.md

1.9 KiB

Configuring saned as a service

To launch saned automatically in response to an incoming connection, configure it as a service managed by inetd, xinetd, or systemd.

First verify that /etc/services contains a line of the following form:

sane-port 6566/tcp # SANE network scanner daemon

If not, then add it. (The name "sane-port" has been assigned by IANA.)

The examples below assume there is a "saned" group and a "saned" user. Make sure that the ACLs on the scanner device files are set such that saned can access them for reading and writing.

inetd Configuration

Configure inetd if your platform does not use systemd or xinetd. Not all inetd implementations support IPv6; check its documentation.

Add a line in /etc/inetd.conf like the following:

sane-port stream tcp nowait saned.saned /usr/local/sbin/saned saned

xinetd Configuration

Copy frontend/saned.xinetd.conf into the xinetd configuration files directory (as /etc/xinetd.d/saned.conf).

systemd Configuration

Copy frontend/saned.socket and frontend/saned@.service into one of the system-wide directories for unit files (/etc/systemd/system/).

The recommended way to adjust the service settings is with the command systemctl edit saned@. This opens a file inside a text editor where overrides may be entered. As an example, environment variables can be set which are used to control debug logging in individual backends:

[Service]
Environment=SANE_DEBUG_DLL=255
Environment=SANE_DEBUG_BJNP=5

(Refer to the man pages of the appropriate backends for more details.)

It is recommended to build SANE with explicit systemd support, which allows log messages from saned to be written to the journal. If SANE is built without this support, the following override must be used:

[Service]
StandardInput=socket