Ubuntu 12.04 „Precise Pangolin“
Die Installation des Brother Scankey-Tools ist optional und ermöglicht es, den Brother Scanner mit der "Scanner"-Taste am Gerät zu steuern.
Das Scankey-Tool benötigt ein Brother Scanner bzw. Multifunktionsgerät (MFC) und einen installierten Scannertreiber und folgendes Paket
sane-utils (universe )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install sane-utils
sudo aptitude install sane-utils
Nach der Installation von sane-utils [1] kann das deb Paket heruntergeladen und wie gewohnt installiert werden [2]. (scan-key-tool)
Fremdpakete können das System gefährden.
Das Scankey-Tool sollte alle angeschalteten Geräte automatisch erkennen. Zuerst wird das Terminal [3] gestartet, danach werden alle erkannten Geräte angezeigt:
brscan-skey # Hintergrundprogramm starten brscan-skey -l # Parameter "-l" zeigt alle gefundenen Geräte
Man sollte eine ähnliche Ausgabe wie diese hier bekommen:
BrotherNetzScanner : brother2:net1;dev0 : 192.168.178.30 Active BrotherUSBScanner : brother2:bus2;dev1 : USB Active
Als Standard wird die erste Ethernet Schnittstelle (eth0) genutzt. Wenn dies nicht die tatsächlich genutzte Schnittstelle ist, muss man die Konfigurationsdatei /usr/local/Brother/sane/brscan-skey-<version>.cfg mit Root-Rechten editieren [4] [5].
Es muss eine Zeile ergänzt werden, in der die richtige Netzwerkschnittstelle angegeben werden muss. Beispiel:
eth=ath0
Nach Änderung und Neustart des Scankey-Tools arbeitet es wie gewünscht.
Nach einem Druck auf die "Scanner"-Taste am Gerät gibt es vier Wahlmöglichkeiten (mit Pfeiltasten auswählen, mit "Start" bestätigen):
In eine E-Mail scannen
Als Bild scannen (mit GIMP öffnen)
OCR-Scan
In eine Datei scannen (landet im Ordner brscan im Homeverzeichnis)
Zum E-Mail-Versand versucht Scankey den MTA sendmail zu nutzen. Dieser ist in der Standard-Installation von Ubuntu nicht enthalten. Da sendmail relativ schwer zu konfigurieren ist, wird an dieser Stelle die Installation von Postfix empfohlen. Ist Postfix korrekt eingerichtet, müssen im Verzeichnis /usr/local/Brother/sane noch die Dateien brscan_mail.config und brscan_mailmassage.txt angepasst werden. Die nötigen Einstellungen sind selbsterklärend und beschränken sich auf "Absender", "Zieladresse", "Betreff", "Nachricht".
Nach der Installation empfiehlt es sich, die Datei /opt/brother/scanner/brscan-skey/script/scantofile-0.2.4-0.sh mit Root-Rechten wie folgt anzupassen:
resolution=100
durch
resolution=300
ersetzen, um eine angemessene Scan-Qualität (300 dpi) zu erhalten.
output_file=`mktemp ~/brscan/brscan.XXXXXX`
durch die zwei Zeilen
output_file=~/brscan/brscan_""`date +%F_%H-%M-%S` touch $output_file
ersetzen, um einen Dateinamen zu erhalten, der statt kryptischen Zufallszeichen das Datum und die Uhrzeit des Scanzeitpunktes enthält.
Für diese Änderung(en) wird das Programm pnmtojpeg oder pnmtops verwendet, das Teil des Paketes netpbm ist. Also auch noch das Paket
netpbm (main)
aus den Ubuntu-Quellen installieren.[2] Dann die Zeile
scanimage --device-name "$device" --resolution $resolution> $output_file
durch die drei Zeilen
scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ | pnmtojpeg --quality=90 > "$output_file".jpg rm $output_file
ersetzen, um als Resultat eine jpg-Datei in angemessener Qualität (90%) zu erhalten, anstelle einer Datei im platz raubenden pnm-Format und mit zufälliger Dateinamenerweiterung. (Bem.: Die obigen Parameter -l 0 -t 0 -x 210.00 -y 292.00
dienen einer geeigneteren Auswahl des Scanbereichs für das DIN-A4-Format [Erfahrung mit Brother MFC-7820N])
Man kann auch die folgenden vier Zeilen verwenden:
scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 295.00 \ | pnmtops -imagewidth 8.26 -nocenter | gs -q -dNOPAUSE -sDEVICE=pdfwrite \ -sOutputFile=- - > "$output_file".pdf rm $output_file
Dies erzeugt die Ausgabe in eine PDF-Datei statt in eine JPG-Datei. (Bem.: Die obigen Parameter -l 0 -t 0 -x 210.00 -y 295.00
und -imagewidth 8.26 -nocenter
dienen einer geeigneteren Bereichsauswahl für das DIN-A4-Format für optimales Ergebnis [Erfahrung mit Brother MFC-7820N])
Um nach dem Scanvorgang gleich das Zielverzeichnis im Dateimanager zu öffnen, folgende Zeilen am Ende des Skriptes hinzufügen:
# Open file manager showing the target directory of the scan: # Use a file browser that is available in the current Linux installation. # 1st choice: nautilus (gnome default file manager) # 2nd choice: konqueror (KDE default file manager) # 3rd choice: dolphin (KDE default simple file manager) if [ "`which nautilus`" != '' ];then nautilus ~/brscan else if [ "`which konqueror`" != '' ];then konqueror ~/brscan else if [ "`which d3lphin`" != '' ];then d3lphin ~/brscan fi fi fi
Dies ist ein Beispiel einer kompletten Skript-Datei nach Umsetzung obiger Verbesserungen:
#! /bin/sh set +o noclobber # # $1 = scanner device # $2 = friendly name # # MJ: 100|150|200|300|400|600|1200|2400|4800|9600dpi [200] # MJ: Original was 100. E.g. for the MFC-7820N the maximum is 2400x600 (9600 with interpolation) # # MJ: Set output path and resolution as desired: # MJ: Original: #resolution=100 # MJ: Better: normal=300. HQ=600: resolution=300 output_path=~/brscan device=$1 mkdir -p $output_path if [ "`which usleep`" != '' ];then usleep 10000 else sleep 0.01 fi # MJ: Original: #output_file=`mktemp ~/brscan/brscan.XXXXXX` # MJ: Better: time stamp instead of random characters: See next two lines: output_file=$output_path""/brscan_""`date +%F_%H-%M-%S` touch $output_file chmod 644 $output_file echo "scan from $2($device) to $output_file" # MJ: Original: #scanimage --device-name "$device" --resolution $resolution> $output_file # MJ: Modified: #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 > $output_file # MJ: PNG: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ #| pnmtopng > "$output_file".png #rm $output_file # MJ: JPG: (requires installation of the packet "netpbm") scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ | pnmtojpeg --quality=90 > "$output_file".jpg rm $output_file # MJ: PS: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 292.00 \ #| pnmtops -dpi $resolution -equalpixels > "$output_file".ps #rm $output_file # MJ: PDF: (requires installation of the packet "netpbm") #scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 -x 210.00 -y 295.00 \ #| pnmtops -imagewidth 8.26 -nocenter | gs -q -dNOPAUSE -sDEVICE=pdfwrite \ #-sOutputFile=- - > "$output_file".pdf #rm $output_file # MJ: FINALLY: Open file manager showing the target directory of the scan: # Use a file browser that is available in the current Linux installation. # 1st choice: nautilus (gnome default file manager) # 2nd choice: konqueror (KDE default file manager) # 3rd choice: dolphin (KDE default simple file manager) if [ "`which nautilus`" != '' ];then nautilus $output_path else if [ "`which konqueror`" != '' ];then konqueror $output_path else if [ "`which d3lphin`" != '' ];then d3lphin $output_path fi fi fi
Wenn man z.B. das Einscannen per Scan-Key direkt in eine Text-Datei (OCR) nicht benötigt, kann man diese Funktionen nach Belieben umdefinieren. Generell sind die vier Funktionen im Drucker-Display den folgenden Dateien in /opt/brother/scanner/brscan-skey/script/ wie folgt zugeordnet:
Brother Menü "Scannen: Datei " : scantofile-0.2.1-3.sh
Brother Menü "Scannen: Text " : scantoocr-0.2.1-3.sh
Brother Menü "Scannen: E-Mail" : scantoemail-0.2.1-3.sh
Brother Menü "Scannen: Bild " : scantoimage-0.2.1-3.sh
Zum Beispiel kann man die Datei scantoocr-0.2.1-3.sh mit dem identischen Inhalt wie scantofile-0.2.1-3.sh versehen und lediglich diejenigen Parameter ändern, die man gerne als zweite Option noch am Drucker verfügbar hätte (z.B. Ziel=PDF-Datei statt JPG-Datei, siehe oben).