Hallo Leute,
ich habe eine Scanner (Canon Lide20). Das Gerät scannt einwandfrei. Vorne am Scanner sind 3 Tasten, mittlerweile mit
Scanbuttond funktionieren diese wunderbar. Was ich auch mache das File was raus kommt ist nicht brauchbar. Wenn ich es mit z.B. diesem Script mache:
|
Quellcode
|
1
2
3
4
5
|
#!/bin/sh
TMPFILE=$1
scanimage --format pnm --mode Color --depth 8 --resolution 75 -l 0 -t 0 -x 215mm -y 280mm --lampoff-time 300 > ${TMPFILE}.pnm
pnmtojpeg -quality 85 -optimize -comment "was immer man als Kommentar haben will" $TMPFILE.pnm > $TMPFILE.jpeg
rm -f $TMPFILE.pnm
|
Das script liegt auf ~/.scanscripts und wird in dieser Datei gestartet: /usr/local/etc/scanbuttond/buttonpressed.sh. Das script sieht so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/bin/sh
TMPDIR="$HOME/Arbeitsfläche" #hier wird ein Verzeichnis für die Datei festgelegt; durch die Verwendung der Umgebungsvariable $HOME wird jedesmal der Desktop des aktuellen Benutzers verwendet
TMPFILE="$TMPDIR/scan`date +%Y%m%d`-`date +%H%M%S`" #wir generieren uns hier den Dateinamen für das spätere Ergebnis; der Name besteht aus dem Präfix scan und wird jedesmal um Datum und Uhrzeit ergänzt
#Dateinamenerweiterungen werden später hinzugefügt
LOCKFILE="/tmp/copy.lock" #Variable für das Lockfile, das kennzeichnet, ob der Scanner schon in Benutzung ist; wird hier nicht verwendet
case $1 in
1) echo "Button 1 pressed" #wird Button 1 gedrückt so wird eine Meldung ausgegeben (nur sichtbar, wenn scanbuttond im Vordergrund läuft - zum Debuggen)
$HOME/.scanscripts/scan.sh $TMPFILE $DEVICE #und das Skript scan.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet; zusätzlich werden noch Name und Ort des Tempfiles,
;; #sowie die Adresse des Scanners übergeben, sinnvoll bei mehr als einem Scanner
2) echo "Button 2 pressed" #wird Button 2 gedrückt, so wird eine Meldung ausgegeben (siehe oben)
$HOME/.scanscripts/copy.sh $TMPFILE $DEVICE #und das Skript copy.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet; zu übergebenen Attributen siehe oben
;;
3) echo "Button 3 pressed" #wird Button 3 gedrückt, so wird eine Meldung ausgegeben (siehe oben)
$HOME/.scanscripts/mail.sh $TMPFILE $DEVICE #und das Skript mail.sh im versteckten Ordner .scanscripts im Homeverzeichnis gestartet; zu übergebenen Attributen siehe oben
;;
esac
|
Drückt man also die Taste am Scanner oder führt man das Script aus, wird schön brav ein jpeg abgelegt, das aber 0MB hat. Anscheinend wird das Format "pnm" vom System nicht verstanden. Denn wenn ich scanimage manuell ausführe, wird ein Datei mit ca. 1,5MB abgelegt. Die aber von keinem Programm gelesen werden kann.
|
Quellcode
|
1
|
scanimage --format pnm --mode Color --depth 8 --resolution 75 -l 0 -t 0 -x 215mm -y 280mm --lampoff-time 300 > test.pnm
|
Sanebackends sind alle einkompiliert. Keine Ahnung was da nicht passt.
lg
boospy