[sane-devel] ScanImage -L fails as user

Johannes Meixner jsmeix at suse.de
Tue Jun 12 08:53:35 UTC 2012


Hello,

> On Sun, Jun 10, 2012 at 9:42 AM, Per Dalgas Jakobsen <pdj at knaldgas.dk> wrote:
>> scanimage -L fails as user (succeeds as root).

On Jun 11 20:34 m. allan noah wrote (excerpt):
> You will have to adjust the device permissions, using something like
> udev, or hal. Unfortunately, the mechanism seems to change frequently
> with linux distros...

It is not the Linux distros but in the upstream kernel-related
area where such changes happen frequently.

The traditional persistent device node files (where chown/chmod worked
persistently as it works "since ever" for all files in Unix systems)
were replaced by dynamically created device nodes (where chown/chmod
does no longer work persistently).

The dynamic device nodes are managed by various changing stuff
like hotplug/devfs that was replaced by HAL plus udev/sysfs
but HAL is dropped since some time and recently udev was merged
into systemd...

Currently it should be udev that is used by a current Linux distro
to manage device nodes. But do not expect that there is THE udev
with a common stable set of udev rules for all Linux distros
because udev depends in some way on the kernel version.

You may have a look at
http://en.opensuse.org/SDB:Configuring_Scanners
the section "USB scanner access permissions via udev"
which reads in particular:
----------------------------------------------------------------------
The best workaround to get those kind of issues out of sight
is to use the "saned" which is a service for scanning via network.
On the server the saned is set up and launched via xinetd.
On the client the "net" meta-backend is used for scanning via network.
See "man saned" and "man sane-net". By using the loopback network
this can be used on the local host too. In this case server and
client are the same machine "localhost". To access a scanner via
the "saned" on the local host you may set up the following:
1. Let the saned run as root (default in /etc/xinetd.d/sane-port)
2. Allow access from "localhost" in /etc/sane.d/saned.conf
3. Specify the server "localhost" in /etc/sane.d/net.conf
4. Activate the "net" meta-backend in /etc/sane.d/dll.conf 
----------------------------------------------------------------------


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany
HRB 16746 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer



More information about the sane-devel mailing list