Thanks Wilhelm. I had changed that while trying to debug the problem, not sure why this would be a problem. Have reverted to the scanbd.conf from source, with modifications to sane.d directory and comment out the unnecessary manufacturer scanner.d profiles. revised config is attached - apologies for the length of code.
--- /* * $Id: scanbd.conf 213 2015-10-05 06:52:50Z wimalopaan $ * * scanbd - KMUX scanner button daemon * * Copyright (C) 2008 - 2015 Wilhelm Meier (wilhelm.me...@fh-kl.de) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ # global settings global { # turn on debugging # log to console debug = true # debug logging # 1=error, 2=warn, 3=info, 4-7=debug debug-level = 7 # drop priviliges to this user #============================= # Linux (most distributions use the saned user): # user = saned # ArchLinux (ArchLinux doesn't have saned user) # user = daemon # *BSD # user = root user = saned # Group to be used #================= # Linux (most distributions use the lp group to access scanners) # group = lp # ArchLinux (ArchLinux uses the scanner group) # group = scanner # # *BSD (no group lp here, use daemon instead) # group = daemon # root # group = lp # the saned executable for manager-mode saned = "/usr/sbin/saned" saned_opt = {} # string-list saned_env = { "SANE_CONFIG_DIR=/etc/scanbd/sane.d" } # list of environment vars for saned # Scriptdir specifies where scanbd normally looks for scripts. # The scriptdir option can be defined as: # - a path relative to the configuations (<path>/etc/scanbd) directory # - an abosolute path # Examples: # scriptdir = scripts # sets scriptdir to <path>/etc/scanbd/scripts. # scriptdir = /some/path # sets scriptdir to the specified absolute path # Default scriptdir is <path>/etc/scanbd, this is normally appropriate scriptdir = /etc/scanbd/scripts # Scripts to execute upon device insertion/removal. # It can be necessary to load firmware into the device when it is first # inserted. For example, scanbuttond backend does not know how to load # scanner firmware, and it can be rectified by making a custom script. # A simple command like "scanimage -L" in an example insert.script # invokes saned and it loads the appropriate firmware if necessary. # These scripts receive environmental variables named in the "environment" subsection: # SCANBD_DEVICE - device name (fixed string "dbus device" for dbus notification) # SCANBD_ACTION - "insert" or "remove", so one script can be used. # device_insert_script = "insert.script" # device_remove_script = # scanbuttond_backends_dir sets the path where scanbd looks for the scanbuttond backends # It can be defined as relative path, starting from the scanbd config directory or # as an absolute path # Default is <libdir>/scanbd/scanbutond/backends # Example # scanbuttond_backends_dir = "/usr/local/lib/scanbd/scanbuttond/backends" # poll timeout in [ms] # (for polling the devices) timeout = 500 pidfile = "/var/run/scanbd.pid" # env-vars for the scripts environment { # pass the device label as below in this env-var device = "SCANBD_DEVICE" # pass the action label as below in this env-var action = "SCANBD_ACTION" } # function definitions # values of the options are simply passed via env-vars function function_knob { filter = "^message.*" desc = "The value of the function knob / wheel / selector" env = "SCANBD_FUNCTION" } function function_mode { filter = "^mode.*" desc = "Color mode" env = "SCANBD_FUNCTION_MODE" } multiple_actions = true # allow multiple actions per option (up to the total amount of options) # action definitions # if the filter matches and the value changes # from from-value to to-value, # <script> is executed # <script> is the full pathname (do not include any parameters) # if parameters are needed, write a script # since we can have only at most one action for each option, the action-script # can use the function definition (see above) to distinguish different tasks # (e.g. use the env-var SCANBD_FUNCTION defined above) action scan { filter = "^scan.*" numerical-trigger { from-value = 1 to-value = 0 } desc = "Scan to file" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action email { filter = "^email$" string-trigger { from-value = "" to-value = "^email.*" } desc = "Scan to email" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action copy { filter = "^copy$" string-trigger { from-value = "" to-value = "^copy.*" } desc = "Copy to printer" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action preview { filter = "^preview$" numerical-trigger { from-value = 1 to-value = 0 } desc = "Preview" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } action globaltest { filter = "^message.*" desc = "Test (print all env vars)" # script must be an relative path starting from scriptdir (see above), # or an absolute pathname. # It must contain the path to the action script without arguments # Absolute path example: script = "/some/path/foo.script script = "test.script" } } # include # include another file at this point. This may only occur outside general and devices blocks. # an include statement may be relative to the direcory where scanbd.conf is located or absolute # include("scanner.d/myscanner.conf") # include("/my/long/path/myscanner.conf") # devices # each device can have actions and functions, you can disable not relevant devices #include(scanner.d/avision.conf) #include(scanner.d/fujitsu.conf) #include(scanner.d/hp.conf) include(scanner.d/pixma.conf) #include(scanner.d/snapscan.conf) #include(scanner.d/canon.conf) On Thu, Oct 13, 2016 at 4:10 PM, Wilhelm <wilhelm.me...@fh-kl.de> wrote: > > Looking at your log file it seems that action "globaltest" isn't > installed. There may be 2 reasons for this: > > 1) the regex doenst't match > > 2) there is no trigger definition for the action > > HtH -- sane-devel mailing list: sane-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel Unsubscribe: Send mail with subject "unsubscribe your_password" to sane-devel-requ...@lists.alioth.debian.org