ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Scankey-Tool

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Die Installation des Brother Scankey-Tools ist optional und ermöglicht es, den Brother Scanner mit der "Scanner"-Taste am Gerät zu steuern.

Vorausssetzungen

Das Scankey-Tool benötigt ein Brother Scanner bzw. Multifunktionsgerät (MFC) und einen installierten Scannertreiber und folgendes Paket

  • sane-utils (universe )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install sane-utils 

sudo aptitude install sane-utils 

Installation

Nach der Installation von sane-utils [1] kann das deb Paket heruntergeladen {en} und wie gewohnt installiert werden [2]. (scan-key-tool)

Hinweis!

Fremdpakete können das System gefährden.

Start

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.

Automatischer Start

Es ist zwar nicht zwingend nötig, aber im Normalfall wird das Scankey-Tool beim Anmelden eines Benutzers mitgestartet [6]. Ansonsten muss das Tool vor jeder Verwendung manuell gestartet werden [7].

Verwendung

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".

Scankey-Tool Optimierung

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:

Auflösung

resolution=100

durch

resolution=300

ersetzen, um eine angemessene Scan-Qualität (300 dpi) zu erhalten.

Dateiname

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.

Dateiformat

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])

PDF-Format

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])

Scan-Zielverzeichnis in Dateimanager automatisch öffnen

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

Beispiel einer kompletten verbesserten Datei "scantofile-0.2.1-3.sh"

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

Tipp

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).

ubuntuusers.local › WikiBrotherScannerScankey-Tool