Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
scanbm(8)		     Scanner button daemon		     scanbm(8)

NAME
       scanbm- User scanning support daemon for	scanbd / scanbd	manager

SYNOPSIS
       scanbm [-c configfile [-d[debuglevel] ] [-s] [-t	device -a action ]

       scanbd -m [-c configfile	[-d[debuglevel]	] [-s] [-t device -a action ]

DESCRIPTION
       scanbm  is  a  companion	 to scanbd, a scanner button monitoring	daemon
       that can	trigger	execution of scripts when a button is pressed.

       scanbm is actually a (symbolic) link to scanbd and  can	be  called  as
       scanbm or scanbd	-m.

       scanbd  (the  scanner  button  daemon)  opens and polls the scanner and
       therefore locks the device. So no other application can access the  de-
       vice directly (open the /dev/..., or via	libusb,	etc).

       To  enable  scanning  from applications,	we use scanbm as a manager for
       scanbd.	scanbm is a "proxy" for	saned to access	the  scanner  from  an
       application.  scanbm  listens  for  requests on the saned network port.
       All applications	therefore need to use the "net	backend	 to  access  a
       scanner.

       If  a  scan request arrives to scanbm on	the sane-port, scanbm requests
       the scanbd scanner polling daemon to interrupt polling and  to  release
       the  device  by	sending	 it a dbus-message (default) or	a posix-signal
       (SIGUSR1) (signal-mode).	 It then starts	the real saned which does  the
       scanning	 and  sends  the data back to the requesting application. When
       the scanning is done and	saned exits, scanbm requests scanbd to restart
       the polling by sending a	second dbus-message (or	the  posix-signal  SI-
       GUSR2)  and  ends execution.  The polling scanbd	now re-enables polling
       of the devices.

       scanbm is meant to be started from inetd, xinetd	 or  systemd.	Unlike
       saned it	does not support stand-alone mode.

       Note: Please note that the scanbm acts as a proxy to saned, all scanner
       applications must be configured to use the sane "net" backend to	access
       the scanner. Direct access will not be possible.

OPTIONS
       -c configfile --config=configfile
	      Use    configfile	   instead    of    the	   default    /usr/lo-
	      cal/etc/scanbd/scanbd.conf configuration file.

       -d[debuglevel] --debug[=debuglevel]
	      turn debug mode on. If specified,	set the	debug level  to	 debu-
	      glevel
	      1	= error
	      2	= warn
	      3	= info
	      4	- 7 = debug)

       -s --signal
	      use signals SIGUSR1/ SIGUSR2 instead of dbus messages to request
	      the polling scanbd to stop / restart polling

       -t device --trigger=device
	      Trigger action for device	(numerical)

       -a action --action=action
	      action (numerical) to be triggered

SCANBD/SCANBM CONFIGURATION
       scanbd	and   scanbm   are  configured	trough	scanbd.conf  (/usr/lo-
       cal/etc/scanbd/scanbd.conf or the file pointed out by the  -c  <config-
       file> )

NETWORK	SETUP FOR SCANBM
       scanbm must be setup very similar to the	way saned must be setup.  Note
       that your inetd must support IPv6 if you	want to	connect	to scanbm over
       IPv6  ;	xinetd,	 openbsd-inetd	and systemd are	known to support IPv6,
       check the documentation for your	inetd daemon.

INETD CONFIGURATION
       For scanbm it is	also necessary to add a	configuration line to /etc/in-
       etd.conf	just like it is	for saned.

       The configuration line normally looks like this:

	      sane-port	stream tcp nowait scanbd.scanbd	/usr/local/sbin/scanbm
	      scanbm

       However,	if your	system uses tcpd(8) for	additional security screening,
       you may want to disable	saned  access  control	by  putting  ``+''  in
       saned.conf  (see	 saned(8)  )  and  use a line of the following form in
       /etc/inetd.conf instead:

	      sane-port	 stream	 tcp   nowait	scanbd.scanbd	/usr/sbin/tcpd
	      /usr/local/sbin/scanbm

       Note  that  both	 examples  assume  that	 there is a scanbd group and a
       scanbd user.  If	you follow this	example, please	make sure that the ac-
       cess permissions	on the special device are set  such  that  scanbd  and
       saned  can  access  the	scanner	 (the programs generally need read and
       write access to scanner devices).

       If xinetd is installed on your system instead of	 inetd	the  following
       example for xinetd.conf may be helpful:

	      #	default: off
	      #	description: The sane server accepts requests
	      #	for network access to a	local scanner via the
	      #	network.
	      service sane-port
	      {
		 port	     = 6566
		 socket_type = stream
		 wait	     = no
		 user	     = scanbd
		 group	     = scanbd
		 server	     = /usr/local/sbin/scanbm
		 server_args =
	      }

       Finally,	 it  is	 also necessary	to add a line of the following form to
       /etc/services:

	      sane-port	6566/tcp # SANE	network	scanner	daemon

       The official IANA short name for	port 6566 is  "sane-port".  The	 older
       name "sane" is now deprecated.

       scanbm  does not	do access control, but it relies on the	access control
       done by saned.

SEE ALSO
       scanbd(8), sane(7), saned(8), sane-dll(5), sane-net(5)
       http://http://scanbd.sourceforge.net/

AUTHOR
       Louis Lagendijk

scanbd 1.92			  02 Jan 2013			     scanbm(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=scanbm&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help