[[Vorlage(Getestet, maverick, lucid, Natty)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Editor: Einen Editor öffnen] [:sudo:Root-Rechte] [:Terminal: Ein Terminal öffnen] [:Packprogramme: Archive entpacken] [:Paketinstallation_DEB: Ein einzelnes Paket installieren] [:Autostart: Programme automatisch starten] [:Programme starten: Ein Programm ohne Menüeintrag starten] }}} [[Inhaltsverzeichnis(2)]] [[Bild(Wiki/Icons/scanner.png, 75, left)]] Im Gegensatz zu den [:Brother/Drucker:Brother-Druckertreibern] werden die Scannertreiber noch nicht über die Ubuntu-Quellen zur Verfügung gestellt. Für USB-Scanner reicht die Installation des Treibers aus, für das Scannen über das Netzwerk sind einige zusätzliche Schritte notwendig. Außerdem gibt es noch das optionale [#Scankey-Tool Scankey-Tool] für die ''"Scanner"''-Taste am Gerät. = Vorbereitung = Die Pakete {{{#!vorlage Paketinstallation sane-utils xsane xsane-common }}} werden zum Betrieb vorausgesetzt und werden falls nicht schon geschehen wie gewöhnlich installiert [1]. = Installation = [[Vorlage(Fremdpaket, Brother, http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_scn.html)]] Es gibt drei Scanner-Treiber für Brother-Geräte: '''brscan''' für ältere, '''brscan2''' für neuere Geräte und '''brscan3'''für die neuesten Geräte. Welchen Treiber man für sein Modell benötigt, ist in den folgenden Tabellen aufgelistet. Entsprechend den Tabellen lädt man das '''brscan'''-, '''brscan2'''- oder das '''brscan3'''-'''.deb'''-Paket. ||<-5 tablestyle="width: 97%;" rowclass="verlauf">brscan-Treiber|| ||MFC-3100C||MFC-3200C||MFC-3220C||MFC-3320CN||MFC-3420C|| ||MFC-3820CN||MFC-4420C||MFC-4800||MFC-4820C||MFC-5100C|| ||MFC-5200C||MFC-580||MFC-590||MFC-6800||MFC-8220|| ||MFC-8420||MFC-8440||MFC-8500||MFC-8820D||MFC-8840D|| ||MFC-890||MFC-9030||MFC-9070||MFC-9160||MFC-9180|| ||MFC-9660||MFC-9700||MFC-9760||MFC-9800||MFC-9860|| ||MFC-9880||FAX-4750e||FAX-5750e||DCP-1000||DCP-1400|| ||DCP-4020C||DCP-8020||DCP-8025D||DCP-8040||DCP-8045D|| ||<-5 tablestyle="width: 97%;" rowclass="verlauf">brscan2-Treiber|| ||DCP-110C||DCP-115C||DCP-117C||DCP-120C||DCP-130C|| ||DCP-135C||DCP-150C||DCP-153C||DCP-155C||DCP-310CN|| ||DCP-315CN||DCP-330C||DCP-340CW||DCP-350C||DCP-353C|| ||DCP-357C||DCP-540CN||DCP-560CN||DCP-7010||DCP-7020|| ||DCP-7025||DCP-750CW||DCP-770CW||DCP-8060||DCP-8065DN|| ||DCP-9040CN||DCP-9042CDN||DCP-9045CDN||MFC-210C||MFC-215C|| ||MFC-230C||MFC-235C||MFC-240C||MFC-260C||MFC-3240C|| ||MFC-3340CN||MFC-3360C||MFC-410CN||MFC-420CN||MFC-425CN|| ||MFC-440CN||MFC-465CN||MFC-5440CN||MFC-5460CN||MFC-5840CN|| ||MFC-5860CN||MFC-620CN||MFC-640CW||MFC-660CN||MFC-665CW|| ||MFC-680CN||MFC-685CW||MFC-7220||MFC-7225N||MFC-7420|| ||MFC-7820N||MFC-820CW||MFC-845CW||MFC-8460N||MFC-8660DN|| ||MFC-8670DN||MFC-885CW||MFC-8860DN||MFC-8870DW||MFC-9420CN|| ||MFC-9440CN||MFC-9840CDW|| || || || ||<-5 tablestyle="width: 97%;" rowclass="verlauf">brscan3-Treiber|| ||MFC-250C||MFC-255CW||MFC-290C||MFC-295CN||MFC-297C|| ||MFC-490CW||MFC-495CW||MFC-5490CN||MFC-5890CN||MFC-6490CW|| ||MFC-6890CDW||MFC-7320||MFC-7340||MFC-7440N||MFC-7450|| ||MFC-7840N||MFC-7840W||MFC-790CW||MFC-795CW||MFC-8480DN|| ||MFC-8680DN||MFC-8880DN||MFC-8890DW||MFC-990CW|| ||DCP-145C||DCP-163C||DCP-165C||DCP-167C||DCP-185C|| ||DCP-195C||DCP-375CW||DCP-383C||DCP-385C||DCP-387C|| ||DCP-585CW||DCP-6690CW||DCP-7030||DCP-7040||DCP-7045N|| ||DCP-8080DN||DCP-8085DN||DCP-9040CN||DCP-9045CDN||DCP-J515W|| || = Konfiguration = Damit der Scanner auch für Benutzer mit Standardrechten nutzbar ist, müssen noch die Zugriffsrechte per [:udev:] angepasst werden. Diese Anleitung folgt im wesentlichen dem [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_scn1c.html Original] {en} . {{{#!vorlage Hinweis Ist das Gerät angeschaltet und angeschlossen, ist es nach den (unten genannten) Änderungen ggf. aus- und wieder einzuschalten. }}} == Ubuntu Lucid 10.04 und Maverick 10.10 und Natty 11.04== ===Variante 40-libsane.rules=== Die Datei '''/lib/udev/rules.d/40-libsane.rules''' in einem Editor [2] mit Root-Rechten [3] öffnen. Den folgenden Eintrag an das Ende der Geräte Liste einfügen (vor der Linie "# The following rule will disable ...") und abspeichern. {{{ # Brother scanners ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes" }}} Danach die Einstellungen mit Root-Rechten [3] neu einlesen: {{{#!vorlage Befehl sudo /etc/init.d/udev restart }}} bzw. neuerdings {{{#!vorlage Befehl sudo service udev restart }}} Wer sicher gehen möchte startet den Rechner und den Scanner neu bzw. schaltet Letzteren aus und wieder ein. ===Variante 55-libsane.rules=== '''Achtung: ''' Die obenstehende Anpassung der Rechte funktioniert NICHT bei allen Brother Scannern. Bei einigen Modellen wie zumindest dem DCP-115C und dem DCP-7010 muss eine andere Datei editiert werden: Die Datei '''/etc/udev/rules.d/55-libsane.rules''' in einem Editor [2] mit Root-Rechten [3] öffnen bzw. neu erstellen, da sie meistens noch nicht existiert. Folgende Zeilen sind dann in die Datei zu kopieren: {{{# USB devices (usbfs replacement) SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666" SUBSYSTEM=="usb_device", MODE="0666"}}} Nach dem Abspeichern müssen die neuen Einstellungen mit Root-Rechten [3] eingelesen werden: {{{#!vorlage Befehl sudo service udev restart }}} = Zusätzlich für Natty 11.04 = Hier muss gegebenenfalls noch zusätzlich die Datei '''/etc/sane.d/brother.conf''' angelegt werden. Diese hat den folgenden Inhalt (dabei bitte die in der letzten Zeile durch die __eures__ Scanner ersetzen! ) {{{ #Ubuntu Natty # Brother USB # For libusb support for unknown scanners use the following command # usb usb 04f9 [mark]01e9[/mark] }}} Herausfinden man diese mit der Terminaleingabe [4] von: {{{#!vorlage Befehl lsusb }}} Nachdem der richtige Treiber installiert worden ist. = Scanner über Netzwerk nutzen = Je nachdem welches Paket installiert wurde, muss folgender Befehl im Terminal [4] ausgeführt werden: {{{#!vorlage Befehl brsaneconfig -a name=FRIENDLY-NAME model=MODEL-NAME ip=xx.xx.xx.xx }}} oder {{{#!vorlage Befehl brsaneconfig2 -a name=FRIENDLY-NAME model=MODEL-NAME ip=xx.xx.xx.xx }}} bzw. {{{#!vorlage Befehl brsaneconfig3 -a name=FRIENDLY-NAME model=MODEL-NAME ip=xx.xx.xx.xx }}} {{{#!vorlage Hinweis Für MODEL-NAME den exakten Namen laut brscan Paket verwenden }}} == IP-Adresse des Scanners herausfinden == Um die IP-Adresse des Scanners herauszufinden, gibt es zwei Möglichkeiten: 1. Am Gerät selbst 1. über das Tool "`BRADmin Light`" Zu 1: Hierzu geht man ins Menü des Druckers (Knopf "''Menü''" am Drucker), wählt "''LAN''" aus, und geht anschließend zum Punkt "''TCP/IP''". Hier kann man nun alle Netzwerk-relevanten Einstellungen tätigen/ablesen (IP-Adresse, Subnet, Knotenname,...). Zu 2. Von Brother gibt es das praktisches Tool mit dem Namen "`BRAdmin Light`". Dieses steht auf dieser [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/download_esp.html Seite] {en} zum Download zu Verfügung. Auf der Webseite muss man die Datei '''BRAdmin Light''' auswählen und herunterladen. [[Vorlage(Fremd, Software, "")]] Zur Ausführung dieses Programms wird [:Java:] 1.4.2 oder höher benötigt. Welche Java-Version man installiert hat, kann man über den Befehl {{{#!vorlage Befehl java -version }}} herausfinden. Hat man die Datei heruntergeladen, muss man den enthaltenen Ordner an einen beliebigen Ort entpacken [5]. Anschließend öffnet man den neu erstellten Ordner und öffnet die Datei '''BRAdmin Light.jar''' Es ist wichtig, dass die Datei mit dem Programm '''Sun Java 6 Runtime''' geöffnet wird. Es werden alle erkannten Geräte angezeigt, mit entsprechender IP-Adresse. [[Bild(http://media.ubuntuusers.de/wiki/attachments/45/01/Bildschirmfofto-BRAdmin_Light.png)]] Nun muss für das entsprechende Modell die richtige IP eingetragen werden. Beim Model MFC-5460CN (Bild) mit der IP-Adresse 192.168.150.50 wäre das: {{{ brsaneconfig2 -a name=SCANNER1 model=MFC-5460CN ip=192.168.150.50 }}} = Anschalten und Scannen = Jetzt kann man den Scanner anschalten und mit einem beliebigen [:Scanner#Software:Scan-Programm] testen. Als grafisches Frontend empfehlen sich z.B. [:Scanner:XSane], [:Scanner:Kooka] oder [:gscan2pdf:]. = Scankey-Tool = Das Scankey-Tool ist optional und ermöglicht es, den Scanner mit der ''"Scanner"''-Taste am Gerät zu steuern. == Installation == Das Scankey-Tool benötigt {{{#!vorlage Paketinstallation sane-utils, universe }}} Nach der Installation von '''sane-utils''' kann das Tool [http://solutions.brother.com/linux/en_us/download_scn.html heruntergeladen] {en} und wie gewohnt installiert werden [6]. [[Vorlage(Fremd, Paket, "")]] Das Scankey-Tool sollte alle angeschalteten Geräte automatisch erkennen. Zuerst wird das Hintergrundprogramm 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 }}} 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-.cfg''' editieren [2] [3]. 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 [7]. Ansonsten muss das Tool vor jeder Verwendung manuell gestartet werden [8]. == 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 [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 '''/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 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. 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 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 '''/usr/local/Brother/sane/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). = Links = * [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_scn1.html Download Seite] {en} * [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/faq_scn.html Brother Scanner Faq] {en} * [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_scn4.html Scankey Anleitung] {en} * [http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_scn1b.html Scanner im Netzwerk einrichten] {en} * [http://solutions.brother.com/linux/en_us/instruction_scn2.html Weitere Informationen] {en} * [http://www.dennis-dominguez.de/ojo/MFC-7840W/ Empfehlung: Howto für MFC 7840W funktioniert aber auch mit anderen MFCs] {de} ---- # tag: Hardware, Scanner