[[Vorlage(Getestet, focal bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Terminal: Ein Terminal öffnen] [:sudo:Root-Rechte] [:Editor: Einen Editor öffnen] [:Autostart: Programme automatisch starten] [:Programme starten: Ein Programm ohne Menüeintrag starten] [:Packprogramme: Archive entpacken] }}} [[Inhaltsverzeichnis(4)]] [[Bild(Wiki/Icons/scanner.png, 64, left)]] Die Installation des Brother Scankey-Tools ist optional und ermöglicht es, den Brother-Scanner mit der ''"Scanner"''-Taste am Gerät zu steuern. = Voraussetzungen = Das Scankey-Tool benötigt einen Brother-Scanner bzw. -Multifunktionsgerät (MFC), einen installierten [:Brother/Scanner:Scannertreiber] und folgendes Paket {{{#!vorlage Paketinstallation sane-utils, universe }}} = Installation = Nach der Installation von '''sane-utils'''[1] kann ein DEB-Paket [https://support.brother.com/g/b/branch/downloadend.aspx?c=de&lang=de&prod=mfcj6935dw_us_eu&os=128&dlid=dlf006652_000&flang=4&type3=570&dlang=true 64 Bit] {dl} oder [https://support.brother.com/g/b/branch/downloadend.aspx?c=de&lang=de&prod=mfcj6935dw_us_eu&os=128&dlid=dlf006651_000&flang=4&type3=569&dlang=true 32 Bit] {dl} heruntergeladen und manuell installiert werden [2]. [[Vorlage(Fremd, Paket, "")]] = Start = Das Scankey-Tool sollte alle angeschalteten Geräte automatisch erkennen. Zuerst wird das Terminal [3] gestartet, danach werden alle erkannten Geräte angezeigt: {{{#!vorlage Befehl 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 }}} Sollte nichts angezeigt werden, kann es helfen, das Scantool mit dem Befehl `brscan-skey -t` zu stoppen und dann erneut einen Suchlauf mit `brscan-skey -l` anzustoßen. 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''' oder '''/opt/brother/scanner/brscan-skey/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 das Scankey-Tool kann beim Anmelden eines Benutzers automatisch gestartet werden [6]. Ansonsten muss das Programm 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 (wird im Ordner '''~/brscan''' im [:Homeverzeichnis:] gespeichert) Zum E-Mail-Versand versucht Scankey den [wikipedia:Mail_Transfer_Agent: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''' (oder auch '''/usr/local/Brother/sane/script/scantofile-0.2.1-3.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 Scan-Zeitpunkts enthält. === Dateiformat === Für diese Änderung(en) wird das Programm '''pnmtojpeg''' oder '''pnmtops''' verwendet, das Teil des Paketes '''netpbm''' ist. Also muss noch das folgende Paket installieren werden: {{{#!vorlage Paketinstallation netpbm }}} 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 platzraubenden Format PNM und mit zufälligem Dateinamen. 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 (Testgerät: 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. 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 (Testgerät: 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: {{{ # Dateimanager mit Zielordner des Scans öffnen. Kann für verschiedene Dateimanager angepasst werden. # Reihenfolge im Beispiel: # 1. nautilus (Unity und GNOME 3) # 2. konqueror (KDE) # 3. dolphin (KDE) if [ "`which nautilus`" != '' ];then nautilus ~/brscan else if [ "`which konqueror`" != '' ];then konqueror ~/brscan else if [ "`which dolphin`" != '' ];then dolphin ~/brscan fi fi fi }}} == Beispiel == Dies ist ein Beispiel der kompletten Skript-Datei '''scantofile-0.2.1-3.sh''' 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 dolphin`" != '' ];then dolphin $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''' Beispielsweise 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. als Ziel eine PDF- statt einer JPG-Datei, siehe oben). = Links = * [http://support.brother.com/g/s/id/linux/en/instruction_scn5.html Anleitung] {en} * [:Brother/Scanner:] - Hauptartikel #tag: Hardware, Büro, Scanner