Scannen per Netzwerk: Unterschied zwischen den Versionen
K (Kleinere grammatikalische und orthographische "Bugfixes" ;)) |
Gehrke (Diskussion | Beiträge) K (Review: formelle Änderungen, nichts Inhaltliches) |
||
Zeile 1: | Zeile 1: | ||
{{Review|kompletter Artikel}} | {{Review|kompletter Artikel}} | ||
=Scannen per Netzwerk= | =Scannen per Netzwerk= | ||
− | Da hat man nun einen Scanner der mit Hilfe von Sane unter Linux direkt läuft und ein Netzwerk und will auch von anderen Rechnern aus scannen statt nur von dem Rechner aus an dem der Scanner hängt. | + | Da hat man nun einen Scanner, der mit Hilfe von Sane unter Linux direkt läuft und ein Netzwerk und will auch von anderen Rechnern aus scannen statt nur von dem Rechner aus an dem der Scanner hängt. |
− | Da saned (der sane-Backenddaemon) durchaus dazu in der Lage ist als Server oder als Vermittler für die eigentlichen Frontends wie kooka, xsane, xscanimage, [[GIMP]], [[Libreoffice]] oder ähnliche zu fungieren aber die gängigen Konfigurationstools der meisten Distributionen dies aber nicht direkt in ihrer Konfigurationsoberfläche anbieten,benötigt man ein wenig Handarbeit um die gewünschte Funktionalität zu erhalten, und zwar sowohl auf der Serverseite als auch auf der Clientseite. | + | Da saned (der sane-Backenddaemon) durchaus dazu in der Lage ist als Server oder als Vermittler für die eigentlichen Frontends wie kooka, xsane, xscanimage, [[GIMP]], [[Libreoffice]] oder ähnliche zu fungieren, aber die gängigen Konfigurationstools der meisten Distributionen dies aber nicht direkt in ihrer Konfigurationsoberfläche anbieten, benötigt man ein wenig Handarbeit um die gewünschte Funktionalität zu erhalten, und zwar sowohl auf der Serverseite als auch auf der Clientseite. |
==Die Scanserverkonfiguration== | ==Die Scanserverkonfiguration== | ||
− | Als erstes benötigt man die Information welche Clientrechner überhaupt scannen dürfen sollen. | + | Als erstes benötigt man die Information, welche Clientrechner überhaupt scannen dürfen sollen. |
Diese tragen wir entweder alle einzeln in die Datei '''/etc/sane.d/saned.conf''' bzw. bei einigen Distributionen '''/etc/saned.conf''' ein. | Diese tragen wir entweder alle einzeln in die Datei '''/etc/sane.d/saned.conf''' bzw. bei einigen Distributionen '''/etc/saned.conf''' ein. | ||
− | Je nachdem ob man mit verfügbarer Namensauflösung per eigenem [[DNS]]-Server im eigenen Netz arbeitet oder mit entsprechenden Einträgen in '''/etc/hosts''' oder nur puren IP-Adressen trägt man nun entweder die Namen der Clientrechner, deren IP-Adressen oder gar einen kompletten Netzwerkadressbereich ein. | + | Je nachdem ob man mit verfügbarer Namensauflösung per eigenem [[DNS]]-Server im eigenen Netz arbeitet oder mit entsprechenden Einträgen in '''/etc/hosts''' oder nur puren IP-Adressen, trägt man nun entweder die Namen der Clientrechner, deren IP-Adressen oder gar einen kompletten Netzwerkadressbereich ein. |
Beispiel: | Beispiel: | ||
Zeile 26: | Zeile 26: | ||
#[2001:7a8:185e::42:12]/64 | #[2001:7a8:185e::42:12]/64 | ||
− | Je nach verwendeter Software und der Frage ob der Rechner an dem der Scanner hängt auch als Arbeitsrechner genutzt wird oder nicht, kann ein zusätzlicher Eintrag für ''localhost'' dort auch Sinn machen. | + | Je nach verwendeter Software und der Frage, ob der Rechner an dem der Scanner hängt auch als Arbeitsrechner genutzt wird oder nicht, kann ein zusätzlicher Eintrag für ''localhost'' dort auch Sinn machen. |
− | Anschließend | + | Anschließend muss im xinetd-Daemon noch in seiner Konfiguration saned aktiviert werden, damit der Scandaemon saned überhaupt über das Netzwerk verfügbar ist. |
'''/etc/xinetd.d/sane-port''' | '''/etc/xinetd.d/sane-port''' | ||
Zeile 49: | Zeile 49: | ||
} | } | ||
− | Wie in der Konfigfuration zu sehen ist, nutzt saned den Port 6566 im TCP-Modus weswegen noch sicherzustellen ist, | + | Wie in der Konfigfuration zu sehen ist, nutzt saned den Port 6566 im TCP-Modus, weswegen noch sicherzustellen ist, dass dieser Port auch in '''/etc/services''' eingetragen ist sowie eine eventuell laufende Firewall so eingestellt ist, dass der Paketfilter die Übertragung auf Port 6566 im lokalen Netzwerk (nicht über das Internet!) auch zulässt. |
+ | |||
Sofern xinetd und die Firewall bereits laufen, sollte man beide neu starten oder zumindest ihre Konfigurationen neu einlesen lassen. | Sofern xinetd und die Firewall bereits laufen, sollte man beide neu starten oder zumindest ihre Konfigurationen neu einlesen lassen. | ||
− | Der User root mit der Gruppe root wird nur benötigt wenn man nicht die Gerätedateien mit anderen Rechten als sie per default vergeben sind versehen will. Bei den meisten Distributionen wäre jedoch der User saned aus der Gruppe saned die korrektere Wahl. Allerdings kann bei USB-Scannern vorkommen, | + | Der User root mit der Gruppe root wird nur benötigt, wenn man nicht die Gerätedateien mit anderen Rechten als sie per default vergeben sind versehen will. Bei den meisten Distributionen wäre jedoch der User saned aus der Gruppe saned die korrektere Wahl. Allerdings kann bei USB-Scannern vorkommen, dass dieser Benutzer nicht auf den Scanner zugreifen darf, da die Rechte aufgrund der dynamischen Einbindung von USB-Geräten per default eben nicht dazu passen. Dort ist root eben der einfachere Weg den Zugang zu ermöglichen. |
Wenn diese Schritte soweit erfolgt sind kann der erste Test stattfinden: | Wenn diese Schritte soweit erfolgt sind kann der erste Test stattfinden: | ||
Man startet auf einem der Clientrechner einfach | Man startet auf einem der Clientrechner einfach | ||
telnet scanservername 6566 | telnet scanservername 6566 | ||
− | und schaut ob dort telnet mit einer Fehlermeldung abbricht oder nicht. Wartet telnet auf eine Eingabe, dann ist kein Fehler vorhanden und der Serverdaemon läuft bereits. Abbrechen kann man telnet in der Konsole / einer Terminalemulation mit der Tastenkombination Strg-C. | + | und schaut, ob dort telnet mit einer Fehlermeldung abbricht oder nicht. Wartet telnet auf eine Eingabe, dann ist kein Fehler vorhanden und der Serverdaemon läuft bereits. Abbrechen kann man telnet in der [[Konsole]] / einer Terminalemulation mit der Tastenkombination Strg-C. |
Nun fehlt nur noch die Clientrechnereinrichtung | Nun fehlt nur noch die Clientrechnereinrichtung | ||
==Die Clientrechnerkonfiguration== | ==Die Clientrechnerkonfiguration== | ||
− | Hier bedarf es nicht viel. Es muss nur das net-Backend im saned (der hier ja nicht als Server sondern als Vermittler zum tatsächlichen Server fungieren soll) aktiviert werden und diesem Backend der Server bekanntgegeben werden. | + | Hier bedarf es nicht viel. Es muss nur das net-Backend im saned (der hier ja nicht als Server, sondern als Vermittler zum tatsächlichen Server fungieren soll) aktiviert werden und diesem Backend der Server bekanntgegeben werden. |
− | Dazu editiert man '''/etc/sane.d/dll.conf''' und fügt folgende Zeile ein bzw. entfernt die Auskommentierung der entsprechenden Backendzeile die per Default schon dort aber eben auskommentiert ist: | + | Dazu editiert man '''/etc/sane.d/dll.conf''' und fügt folgende Zeile ein bzw. entfernt die Auskommentierung der entsprechenden Backendzeile, die per Default schon dort, aber eben auskommentiert ist: |
net | net | ||
− | Nun ist prinzipiell | + | Nun ist prinzipiell schon mal die Umleitung aufs Netzwerk aktiviert, aber der Clientrechner weiß ja noch nicht, welchen Server er dafür befragen soll. Dies wird sichergestellt in der Konfiguration des net-Backends unter '''/etc/sane.d/net.conf''', indem man dort den Server einträgt: |
Beispiel: | Beispiel: | ||
Zeile 89: | Zeile 90: | ||
192.168.2.1 | 192.168.2.1 | ||
− | Den Eintrag ''localhost'' sollte man aktivieren sofern man einen weiteren Scanner an dem Clientrechner hängen hat der auch an den Server gehen soll um einen "Zweitscanner" zu erreichen,ansonsten dürfte dieser Eintrag für die meisten Frontends nicht benötigt werden. | + | Den Eintrag ''localhost'' sollte man aktivieren, sofern man einen weiteren Scanner an dem Clientrechner hängen hat, der auch an den Server gehen soll um einen "Zweitscanner" zu erreichen, ansonsten dürfte dieser Eintrag für die meisten Frontends nicht benötigt werden. |
− | Nun kann die Verfügbarkeit für den / die Clientrechner am Clientrechner selbst getestet werden indem man | + | Nun kann die Verfügbarkeit für den / die Clientrechner am Clientrechner selbst getestet werden, indem man |
scanimage -L | scanimage -L | ||
in einer Konsole eingibt. Dort sollte der Scanner, der am Server vor der Aktivierung der Netzwerkfunktion logischerweise ja schon eingerichtet worden sein sollte, nun auch zu sehen sein und man kann das Frontend seiner Wahl nun scannen lassen. | in einer Konsole eingibt. Dort sollte der Scanner, der am Server vor der Aktivierung der Netzwerkfunktion logischerweise ja schon eingerichtet worden sein sollte, nun auch zu sehen sein und man kann das Frontend seiner Wahl nun scannen lassen. | ||
Zeile 96: | Zeile 97: | ||
----- | ----- | ||
[[Scanner|zurück zur Scannerübersicht]] | [[Scanner|zurück zur Scannerübersicht]] | ||
− | [[Kategorie:Scanner]] | + | [[Kategorie:Scanner]] [[Kategorie:Netzwerk]] |
Version vom 20. Januar 2014, 19:35 Uhr
Dieser Artikel oder Teile davon wurden mit 'Review' markiert. Das bedeutet, dass größere Arbeiten am Inhalt des Artikels abgeschlossen sind und der Autor eine Korrekturlesung durch andere User zur Qualitätssicherung für angebracht hält.
Zu sichtende Teile: kompletter Artikel Bitte hilf LinuxClubWiki, indem du den zu sichtenden Teil überprüfst und den Artikel gegebenenfalls überarbeitest! |
Scannen per Netzwerk
Da hat man nun einen Scanner, der mit Hilfe von Sane unter Linux direkt läuft und ein Netzwerk und will auch von anderen Rechnern aus scannen statt nur von dem Rechner aus an dem der Scanner hängt. Da saned (der sane-Backenddaemon) durchaus dazu in der Lage ist als Server oder als Vermittler für die eigentlichen Frontends wie kooka, xsane, xscanimage, GIMP, Libreoffice oder ähnliche zu fungieren, aber die gängigen Konfigurationstools der meisten Distributionen dies aber nicht direkt in ihrer Konfigurationsoberfläche anbieten, benötigt man ein wenig Handarbeit um die gewünschte Funktionalität zu erhalten, und zwar sowohl auf der Serverseite als auch auf der Clientseite.
Die Scanserverkonfiguration
Als erstes benötigt man die Information, welche Clientrechner überhaupt scannen dürfen sollen. Diese tragen wir entweder alle einzeln in die Datei /etc/sane.d/saned.conf bzw. bei einigen Distributionen /etc/saned.conf ein. Je nachdem ob man mit verfügbarer Namensauflösung per eigenem DNS-Server im eigenen Netz arbeitet oder mit entsprechenden Einträgen in /etc/hosts oder nur puren IP-Adressen, trägt man nun entweder die Namen der Clientrechner, deren IP-Adressen oder gar einen kompletten Netzwerkadressbereich ein.
Beispiel:
## Access list # A list of host names, IP addresses or IP subnets (CIDR notation) that # are permitted to use local SANE devices. IPv6 addresses must be enclosed # in brackets, and should always be specified in their compressed form. # # The hostname matching is not case-sensitive. #scan-client.somedomain.firm #192.168.0.1 192.168.2.1/24 #[2001:7a8:185e::42:12] #[2001:7a8:185e::42:12]/64
Je nach verwendeter Software und der Frage, ob der Rechner an dem der Scanner hängt auch als Arbeitsrechner genutzt wird oder nicht, kann ein zusätzlicher Eintrag für localhost dort auch Sinn machen.
Anschließend muss im xinetd-Daemon noch in seiner Konfiguration saned aktiviert werden, damit der Scandaemon saned überhaupt über das Netzwerk verfügbar ist.
/etc/xinetd.d/sane-port
# default: off # description: The saned provides scanner service via the network. \ # Applications like kooka, xsane or xscanimage can use the remote \ # scanner. service sane-port { socket_type = stream wait = no disable = no protocol = tcp user = root group = root server = /usr/sbin/saned port = 6566 }
Wie in der Konfigfuration zu sehen ist, nutzt saned den Port 6566 im TCP-Modus, weswegen noch sicherzustellen ist, dass dieser Port auch in /etc/services eingetragen ist sowie eine eventuell laufende Firewall so eingestellt ist, dass der Paketfilter die Übertragung auf Port 6566 im lokalen Netzwerk (nicht über das Internet!) auch zulässt.
Sofern xinetd und die Firewall bereits laufen, sollte man beide neu starten oder zumindest ihre Konfigurationen neu einlesen lassen. Der User root mit der Gruppe root wird nur benötigt, wenn man nicht die Gerätedateien mit anderen Rechten als sie per default vergeben sind versehen will. Bei den meisten Distributionen wäre jedoch der User saned aus der Gruppe saned die korrektere Wahl. Allerdings kann bei USB-Scannern vorkommen, dass dieser Benutzer nicht auf den Scanner zugreifen darf, da die Rechte aufgrund der dynamischen Einbindung von USB-Geräten per default eben nicht dazu passen. Dort ist root eben der einfachere Weg den Zugang zu ermöglichen.
Wenn diese Schritte soweit erfolgt sind kann der erste Test stattfinden: Man startet auf einem der Clientrechner einfach
telnet scanservername 6566
und schaut, ob dort telnet mit einer Fehlermeldung abbricht oder nicht. Wartet telnet auf eine Eingabe, dann ist kein Fehler vorhanden und der Serverdaemon läuft bereits. Abbrechen kann man telnet in der Konsole / einer Terminalemulation mit der Tastenkombination Strg-C.
Nun fehlt nur noch die Clientrechnereinrichtung
Die Clientrechnerkonfiguration
Hier bedarf es nicht viel. Es muss nur das net-Backend im saned (der hier ja nicht als Server, sondern als Vermittler zum tatsächlichen Server fungieren soll) aktiviert werden und diesem Backend der Server bekanntgegeben werden. Dazu editiert man /etc/sane.d/dll.conf und fügt folgende Zeile ein bzw. entfernt die Auskommentierung der entsprechenden Backendzeile, die per Default schon dort, aber eben auskommentiert ist:
net
Nun ist prinzipiell schon mal die Umleitung aufs Netzwerk aktiviert, aber der Clientrechner weiß ja noch nicht, welchen Server er dafür befragen soll. Dies wird sichergestellt in der Konfiguration des net-Backends unter /etc/sane.d/net.conf, indem man dort den Server einträgt:
Beispiel: /etc/sane.d/net.conf
# This is the net backend config file. ## net backend options # Timeout for the initial connection to saned. This will prevent the backend # from blocking for several minutes trying to connect to an unresponsive # saned host (network outage, host down, ...). Value in seconds. # connect_timeout = 60 ## saned hosts # Each line names a host to attach to. # If you list "localhost" then your backends can be accessed either # directly or through the net backend. Going through the net backend # may be necessary to access devices that need special privileges. # localhost 192.168.2.1
Den Eintrag localhost sollte man aktivieren, sofern man einen weiteren Scanner an dem Clientrechner hängen hat, der auch an den Server gehen soll um einen "Zweitscanner" zu erreichen, ansonsten dürfte dieser Eintrag für die meisten Frontends nicht benötigt werden. Nun kann die Verfügbarkeit für den / die Clientrechner am Clientrechner selbst getestet werden, indem man
scanimage -L
in einer Konsole eingibt. Dort sollte der Scanner, der am Server vor der Aktivierung der Netzwerkfunktion logischerweise ja schon eingerichtet worden sein sollte, nun auch zu sehen sein und man kann das Frontend seiner Wahl nun scannen lassen.