help with getting scanbd and interactive scanner tools working together
Ron Young via sane-devel <[email protected]>
| Newsgroups | gmane.comp.graphics.scanning.sane.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Everyone: I have been working on getting scanbd and sane working together on my x86 linuxmint 21.2 system with fujitsu snapscan ix500. How I want things to work is as follows: 1) using scanbd, press the single start button on the ix500 scanner, the adf contents should be scanned in /var/spool/scan without any further action. 2) Either as root or a normal user in the scanner group, using common tools (i.e. gscan2pdf, simple-scan, scanimage, etc)... scan the documents in the ix500. my current configuration works for either 1 or 2 but NOT at the same time. I would be very happy if I could do either of them as needed without having to change anything. I have attached two files that contain the detailed steps I used for each of the above configurations. sane-devel-saned is the configuration of saned without scanbd, and sane-devel-scanbd is the config with scanbd active. Of course they contain shell commands, that I cut and paste from my notes during testing, I don't run them directly as shell scripts. Any help that you can give me would be appreciated! -ron
sane-devel-saned
(text/plain, 4.1 KB)
# # linuxmint 21.2 (mate desktop) - fujitsu snapscan ix500 # #restore system status to a clean state for scanner testing sane with scanbd # with this configuration, currently, sane tools, gscan2pdf, and simple-scan doesn't work for # interactive root and normal users. BUT it does work if the button is pushed through scanbd # rm -rf /etc/scanbd/* apt-get purge -y scanbd sane libsane-common libsane1 sane-airscan sane-utils simple-scan gscan2pdf apt-get install -y scanbd sane libsane-common libsane1 sane-airscan sane-utils simple-scan gscan2pdf # # create a separate network sane scanner in addition to a local scanner # mkdir /etc/scanbd/sane.d cp -r /etc/sane.d/* /etc/scanbd/sane.d/ # # Modify /etc/sane.d/dll.conf so that it includes only the "net" directive and the local scanner (for # simple-scan and other utilities)saned cat > /etc/sane.d/saned.conf << EOF 192.168.0.0/16 127.0.0.0/8 EOF cat >/etc/sane.d/dll.conf << EOF net fujitsu EOF cat > /etc/sane.d/net.conf <<EOF connect_timeout = 3 localhost EOF ed /etc/scanbd/sane.d/dll.conf <<EOF g/^net/s/^/#/p w q EOF ed /etc/inetd.conf <<EOF g/^sane-port/s/^/#/p w q EOF ed /etc/scanbd/scanbd.conf << EOF /SANE_CONFIG_DIR/s/\/etc\/scanbd/\/etc\/scanbd\/sane.d/p g/test.script/s//scan.sh/p g/^ *user *= saned/s/saned/root/p w q EOF mkdir /etc/scanbd/scripts && cp /home/ron/scan.sh /etc/scanbd/scripts cat <etc/scanbd/scripts/scan.sh << EOF #!/bin/bash # Author: Rastislav David <[email protected]> scan_dir=/var/spool/scan datetime=`date +%F_%H%M%S` filename="scan-$datetime" [email protected] case "$SCANBD_ACTION" in pdf) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning and converting to ps" scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 | convert -density 150 - "$scan_dir/$filename.ps" logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf" ps2pdf -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf" rm "$scan_dir/$filename.ps" ;; scan) scanimage -d "$SCANBD_DEVICE" --resolution 300 --mode Gray --format=tiff > "$\ scan_dir/$filename.tiff" ;; copy) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning" scanimage -d "$SCANBD_DEVICE" --resolution 300 --depth 16--format=tiff > "$sc\ an_dir/$filename.tiff" # | convert -density 300 - $scan_dir/$filename.ps logger -t "scanbd: $0" "$SCANBD_ACTION - printing" lp "$scan_dir/$filename.tiff" rm "$scan_dir/$filename.tiff" ;; email) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning and converting to ps" scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 | convert -density 150 - "$scan_dir/$filename.ps" logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf" ps2pdf -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf" logger -t "scanbd: $0" "$SCANBD_ACTION - sending pdf" (cat <<EOCAT Document scanned on Canon LiDE 110 EOCAT uuencode "$scan_dir/$filename.pdf" "$scan_dir/$filename.pdf" ) | mail -a "From: Canon scanner <[email protected]>" -s "Document $filename" "$send_to" rm "$scan_dir/$filename.ps" rm "$scan_dir/$filename.pdf" ;; *) logger -t "scanbd: $0" "Unhandled action request." ;; esac exit 0 EOF chmod 755 /etc/scanbd/scripts/scan.sh # # enable/disable udev rules for testing # # enable start cat > /etc/udev/rules.d/40-scanner.rules << EOF SUBSSTEMS=="usb", ATTRS{idVendor}="04c5". ATTRS{idProduct}=="132b", ENV{libsane_matched}="yes", GROUP="scanner" EOF # enable end # disable start cat > /etc/udev/rules.d/40-scanner.rules << EOF # Fujitsu SnapScan ix500 SUBSSTEMS=="usb", ATTRS{idVendor}="04c5". ATTRS{idProduct}=="132b", ENV{libsane_matched}="yes", GROUP="scanner", ENV{ID_VENDOR_ID}=="04c5", ENV{ID_MODEL_ID}=="132b", ACTION=="add", RUN+="/usr/sbin/service inetutils-inetd start", RUN+="/usr/bin/scanimage -L", RUN+="/usr/sbin/service scanbd start" ENV{ID_VENDOR_ID}=="04c5", ENV{ID_MODEL_ID}=="132b", ACTION=="remove", RUN+="/usr/sbin/service scanbd stop", RUN+="/usr/sbin/service inetutils-inetd stop" EOF #disable end sudo /etc/init.d/udev restart systemctl stop scanbm.socket systemctl disable scanbm.socket systemctl daemon-reload systemctl unmask scanbd systemctl enable scanbd systemctl restart scanbd
sane-devel-scanbd
(text/plain, 4.1 KB)
# # linuxmint 21.2 (mate desktop) - fujitsu snapscan ix500 # #restore system status to a clean state for scanner testing sane with scanbd # with this configuration, currently, sane tools, gscan2pdf, and simple-scan doesn't work for # interactive root and normal users. BUT it does work if the button is pushed through scanbd # rm -rf /etc/scanbd/* apt-get purge -y scanbd sane libsane-common libsane1 sane-airscan sane-utils simple-scan gscan2pdf apt-get install -y scanbd sane libsane-common libsane1 sane-airscan sane-utils simple-scan gscan2pdf # # create a separate network sane scanner in addition to a local scanner # mkdir /etc/scanbd/sane.d cp -r /etc/sane.d/* /etc/scanbd/sane.d/ # # Modify /etc/sane.d/dll.conf so that it includes only the "net" directive and the local scanner (for # simple-scan and other utilities)saned cat > /etc/sane.d/saned.conf << EOF 192.168.0.0/16 127.0.0.0/8 EOF cat >/etc/sane.d/dll.conf << EOF net fujitsu EOF cat > /etc/sane.d/net.conf <<EOF connect_timeout = 3 localhost EOF ed /etc/scanbd/sane.d/dll.conf <<EOF g/^net/s/^/#/p w q EOF ed /etc/inetd.conf <<EOF g/^sane-port/s/^/#/p w q EOF ed /etc/scanbd/scanbd.conf << EOF /SANE_CONFIG_DIR/s/\/etc\/scanbd/\/etc\/scanbd\/sane.d/p g/test.script/s//scan.sh/p g/^ *user *= saned/s/saned/root/p w q EOF mkdir /etc/scanbd/scripts && cp /home/ron/scan.sh /etc/scanbd/scripts cat <etc/scanbd/scripts/scan.sh << EOF #!/bin/bash # Author: Rastislav David <[email protected]> scan_dir=/var/spool/scan datetime=`date +%F_%H%M%S` filename="scan-$datetime" [email protected] case "$SCANBD_ACTION" in pdf) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning and converting to ps" scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 | convert -density 150 - "$scan_dir/$filename.ps" logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf" ps2pdf -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf" rm "$scan_dir/$filename.ps" ;; scan) scanimage -d "$SCANBD_DEVICE" --resolution 300 --mode Gray --format=tiff > "$\ scan_dir/$filename.tiff" ;; copy) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning" scanimage -d "$SCANBD_DEVICE" --resolution 300 --depth 16--format=tiff > "$sc\ an_dir/$filename.tiff" # | convert -density 300 - $scan_dir/$filename.ps logger -t "scanbd: $0" "$SCANBD_ACTION - printing" lp "$scan_dir/$filename.tiff" rm "$scan_dir/$filename.tiff" ;; email) logger -t "scanbd: $0" "$SCANBD_ACTION - scanning and converting to ps" scanimage -d "$SCANBD_DEVICE" --mode Color --resolution 150 --depth 16 | convert -density 150 - "$scan_dir/$filename.ps" logger -t "scanbd: $0" "$SCANBD_ACTION - converting ps to pdf" ps2pdf -sPAPERSIZE=a4 "$scan_dir/$filename.ps" "$scan_dir/$filename.pdf" logger -t "scanbd: $0" "$SCANBD_ACTION - sending pdf" (cat <<EOCAT Document scanned on Canon LiDE 110 EOCAT uuencode "$scan_dir/$filename.pdf" "$scan_dir/$filename.pdf" ) | mail -a "From: Canon scanner <[email protected]>" -s "Document $filename" "$send_to" rm "$scan_dir/$filename.ps" rm "$scan_dir/$filename.pdf" ;; *) logger -t "scanbd: $0" "Unhandled action request." ;; esac exit 0 EOF chmod 755 /etc/scanbd/scripts/scan.sh # # enable/disable udev rules for testing # # enable start cat > /etc/udev/rules.d/40-scanner.rules << EOF SUBSSTEMS=="usb", ATTRS{idVendor}="04c5". ATTRS{idProduct}=="132b", ENV{libsane_matched}="yes", GROUP="scanner" EOF # enable end # disable start cat > /etc/udev/rules.d/40-scanner.rules << EOF # Fujitsu SnapScan ix500 SUBSSTEMS=="usb", ATTRS{idVendor}="04c5". ATTRS{idProduct}=="132b", ENV{libsane_matched}="yes", GROUP="scanner", ENV{ID_VENDOR_ID}=="04c5", ENV{ID_MODEL_ID}=="132b", ACTION=="add", RUN+="/usr/sbin/service inetutils-inetd start", RUN+="/usr/bin/scanimage -L", RUN+="/usr/sbin/service scanbd start" ENV{ID_VENDOR_ID}=="04c5", ENV{ID_MODEL_ID}=="132b", ACTION=="remove", RUN+="/usr/sbin/service scanbd stop", RUN+="/usr/sbin/service inetutils-inetd stop" EOF #disable end sudo /etc/init.d/udev restart systemctl stop scanbm.socket systemctl disable scanbm.socket systemctl daemon-reload systemctl unmask scanbd systemctl enable scanbd systemctl restart scanbd