Scannen per Netzwerk: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
(Angelegt und Fertig zur Review ;))
 
K (Kleinere grammatikalische und orthographische "Bugfixes" ;))
Zeile 2: Zeile 2:
 
=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 nicht direkt in ihrer Konfigurationsoberfläche anbieten,benötigen man ein wenig Handarbeit um die gewünschte Funktionalität zu erhalten.
+
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.
Dazu benötigt man sowohl auf der Serverseite als auch auf der Clientseite nur recht wenig von besagter Handarbeit.
 
  
 
==Die Scanserverkonfiguration==
 
==Die Scanserverkonfiguration==
Zeile 27: Zeile 26:
 
  #[2001:7a8:185e::42:12]/64
 
  #[2001:7a8:185e::42:12]/64
  
Je nach verwendeter Software und dier 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 muss muss im xinetd-Daemon noch in seiner Konfiguration der saned aktiviert werden damit der Scandaemon saned überhaupt über das Netzwerk verfügbar ist.
+
Anschließend muss 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 50: Zeile 49:
 
  }
 
  }
  
Wie in der Konfigfuration zu sehen ist nutzt saned den Port 6566 im TCP-Modus weswegen noch sicherzustellen ist, daß dieser Port auch in '''/etc/services''' eingetragen sein sollte sowie eine eventuell laufende Firewall so eingestellt ist, daß der Paketfilter die Übertragung auf Port 6566 im lokalen Netzwerk (nicht über das Internet!) auch zulässt.
+
Wie in der Konfigfuration zu sehen ist, nutzt saned den Port 6566 im TCP-Modus weswegen noch sicherzustellen ist, daß dieser Port auch in '''/etc/services''' eingetragen ist sowie eine eventuell laufende Firewall so eingestellt ist, daß 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 neustarten 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 per default vergeben 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 daß 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
+
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, daß 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.
+
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 sondenr 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
Zeile 72: Zeile 71:
 
'''/etc/sane.d/net.conf'''
 
'''/etc/sane.d/net.conf'''
  
musikbox:/etc/sane.d # cat net.conf
 
 
  # This is the net backend config file.
 
  # This is the net backend config file.
 
  ## net backend options
 
  ## net backend options
Zeile 92: Zeile 90:
  
 
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 Verüfgbarkeit für 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 udn 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.
  
 
-----
 
-----
 
[[Scanner|zurück zur Scannerübersicht]]
 
[[Scanner|zurück zur Scannerübersicht]]
 
[[Kategorie:Scanner]]
 
[[Kategorie:Scanner]]

Version vom 20. Januar 2014, 18:27 Uhr

Höhe=24px 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 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, daß dieser Port auch in /etc/services eingetragen ist sowie eine eventuell laufende Firewall so eingestellt ist, daß 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, daß 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 schonmal die Umleitung aufs Netzwerk aktiviert aber der Clientrechner weiss 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.


zurück zur Scannerübersicht