summaryrefslogtreecommitdiff
path: root/doc/saned/saned.install.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/saned/saned.install.md')
-rw-r--r--doc/saned/saned.install.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/saned/saned.install.md b/doc/saned/saned.install.md
new file mode 100644
index 0000000..ba40a82
--- /dev/null
+++ b/doc/saned/saned.install.md
@@ -0,0 +1,59 @@
+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