Στο FreeBSD η πρόσβαση σε σαρωτές παρέχεται από το SANE (Scanner Access Now Easy) API το οποίο διατίθεται μέσα από την συλλογή των Ports του FreeBSD. Το SANE χρησιμοποιεί επίσης κάποιους οδηγούς συσκευών του FreeBSD για να αποκτήσει πρόσβαση στο υλικό του σαρωτή.
Το FreeBSD υποστηρίζει σαρωτές SCSI και USB. Βεβαιωθείτε ότι ο σαρωτής σας υποστηρίζεται από το SANE πριν ξεκινήσετε οποιαδήποτε εγκατάσταση και ρύθμιση. Το SANE διαθέτει μια λίστα υποστηριζόμενων συσκευών η οποία παρέχει πληροφορίες για την υποστήριξη κάθε σαρωτή και την εξέλιξη της. Σε συστήματα πριν το FreeBSD 8.X θα βρείτε επίσης τη λίστα των υποστηριζόμενων USB σαρωτών στη σελίδα manual του uscanner(4).
Όπως είπαμε παραπάνω, υποστηρίζονται σαρωτές τόσο SCSI όσο και USB. Ανάλογα με το τρόπο διασύνδεσης του σαρωτή σας, θα χρειαστείτε διαφορετικούς οδηγούς συσκευών.
Ο πυρήνας GENERIC
, από προεπιλογή, περιέχει
τους οδηγούς συσκευών που απαιτούνται για την υποστήριξη σαρωτών
USB. Αν αποφασίσετε να χρησιμοποιήσετε εξειδικευμένο πυρήνα,
βεβαιωθείτε ότι έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων
σας:
Σε συστήματα πριν το FreeBSD 8.X, θα χρειαστείτε επίσης την παρακάτω γραμμή:
Σε αυτές τις εκδόσεις του FreeBSD, η υποστήριξη των σαρωτών USB γίνεται μέσω της συσκευής uscanner(4). Από το FreeBSD 8.0 και μετά, η υποστήριξη αυτή παρέχεται απευθείας από τη βιβλιοθήκη libusb(3).
Αφού επανεκκινήσετε με το σωστό πυρήνα, συνδέστε το USB σαρωτή σας. Θα πρέπει να δείτε μια γραμμή σχετική με την ανίχνευση του σαρωτή στην προσωρινή μνήμη μηνυμάτων του συστήματος (dmesg(8)):
ή σε ένα σύστημα FreeBSD 7.X:
Τα μηνύματα αυτά δείχνουν ότι ο σαρωτής μας χρησιμοποιεί την
συσκευή /dev/ugen0.2
ή την συσκευή
/dev/uscanner0
ανάλογα με την έκδοση του
FreeBSD που χρησιμοποιείται. Στο παράδειγμα μας, χρησιμοποιήσαμε ένα
σαρωτή EPSON
Perfection® 1650 USB.
Αν ο σαρωτής σας έρχεται με διασύνδεση τύπου SCSI, είναι
σημαντικό να γνωρίζετε τι κάρτα ελεγκτή SCSI θα χρησιμοποιήσετε.
Ανάλογα με το ολοκληρωμένο κύκλωμα της κάρτας SCSI που
χρησιμοποιείται, θα πρέπει να ρυθμίσετε κατάλληλα το αρχείο
ρυθμίσεων πυρήνα. Ο πυρήνας GENERIC
υποστηρίζει
τους πιο κοινούς ελεγκτές SCSI. Βεβαιωθείτε ότι διαβάσατε το αρχείο
NOTES
και προσθέστε τη σωστή γραμμή στο αρχείο
ρυθμίσεων πυρήνα. Εκτός από το πρόγραμμα οδήγησης του ελεγκτή SCSI,
θα πρέπει ακόμα να έχετε τις ακόλουθες γραμμές στο αρχείο ρυθμίσεων
του πυρήνα σας:
Μόλις μεταγλωττίσετε και εγκαταστήσετε τον πυρήνα, θα μπορέσετε να δείτε τις συσκευές στην προσωρινή μνήμη μηνυμάτων συστήματος, κατά τη διάρκεια της εκκίνησης:
Αν ο σαρωτής σας δεν ήταν ενεργοποιημένος κατά την εκκίνηση του συστήματος σας, είναι ακόμα δυνατόν να εξαναγκάσετε τον εντοπισμό του, εκτελώντας ανίχνευση του διαύλου SCSI με την βοήθεια της εντολής camcontrol(8):
#
camcontrol rescan all
Re-scan of bus 0 was successful
Re-scan of bus 1 was successful
Re-scan of bus 2 was successful
Re-scan of bus 3 was successfulΟ σαρωτής θα εμφανιστεί τότε στη λίστα των συσκευών SCSI:
#
camcontrol devlist
<IBM DDRS-34560 S97B> at scbus0 target 5 lun 0 (pass0,da0)
<IBM DDRS-34560 S97B> at scbus0 target 6 lun 0 (pass1,da1)
<AGFA SNAPSCAN 600 1.10> at scbus1 target 2 lun 0 (pass3)
<PHILIPS CDD3610 CD-R/RW 1.00> at scbus2 target 0 lun 0 (pass2,cd0)Περισσότερες πληροφορίες σχετικά με τις συσκευές SCSI είναι διαθέσιμες στις σελίδες manual scsi(4) και camcontrol(8).
Το σύστημα SANE χωρίζεται σε δύο
κομμάτια: στο backend
(graphics/sane-backends
) και στο
frontend
(graphics/sane-frontends
). Το
backend παρέχει πρόσβαση στον ίδιο το σαρωτή. Στη λίστα
υποστηριζόμενων συσκευών του SANE
μπορείτε να βρείτε ποιο backend υποστηρίζει τον σαρωτή σας. Είναι
υποχρεωτικό να βρείτε το σωστό backend για να μπορέσετε να
χρησιμοποιήσετε το σαρωτή σας. Το τμήμα του frontend παρέχει το
γραφικό περιβάλλον εργασίας για τη σάρωση
(xscanimage).
Το πρώτο βήμα είναι να εγκαταστήσετε το port ή το πακέτο
graphics/sane-backends
. Μετά
χρησιμοποιήστε την εντολή sane-find-scanner
για να
ελέγξετε την ανίχνευση του σαρωτή σας από το σύστημα
SANE:
#
sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3Η έξοδος θα σας δείξει το είδος σύνδεσης του σαρωτή καθώς και το όνομα συσκευής που χρησιμοποιείται για τη σύνδεση με το σύστημα σας. Το όνομα του κατασκευαστή και του μοντέλου ίσως να μην εμφανιστούν, αλλά αυτό δεν είναι σημαντικό.
Ορισμένοι USB σαρωτές απαιτούν τη φόρτωση firmware. Η διαδικασία εξηγείται στη σελίδα manual του backend. Θα πρέπει επίσης να διαβάσετε τις σελίδες manual sane-find-scanner(1) και sane(7).
Πρέπει τώρα να ελέγξουμε αν ο σαρωτής θα αναγνωριστεί από το
frontend πρόγραμμα σάρωσης. Από προεπιλογή, το
SANE backend έρχεται με ένα εργαλείο
γραμμής εντολών, το scanimage(1). Η εντολή αυτή σας επιτρέπει
την απαρίθμηση των συσκευών και τη σάρωσης εικόνας από τη γραμμή
εντολών. Η επιλογή -L
χρησιμοποιείται για την
απαρίθμηση των συσκευών σάρωσης:
#
scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerΉ για παράδειγμα με τον σαρωτή που χρησιμοποιήσαμε στο Τμήμα 8.7.2.1, “Διασύνδεση USB”:
#
scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scannerΗ παραπάνω έξοδος προέρχεται από ένα σύστημα FreeBSD 8.X και
η γραμμή 'epson2:libusb:/dev/usb:/dev/ugen0.2'
μας πληροφορεί για το όνομα του backend (epson2
)
και το όνομα της συσκευής (/dev/ugen0.2
) που
χρησιμοποιεί ο σαρωτής μας.
Αν δεν δείτε έξοδο, ή δείτε ένα μήνυμα ότι δεν ανιχνεύθηκε
σαρωτής, σημαίνει ότι το scanimage(1) δεν μπόρεσε να
αναγνωρίσει το σαρωτή. Αν συμβεί αυτό, θα χρειαστεί να
επεξεργαστείτε το αρχείο ρυθμίσεων του backend και να ορίσετε το
σαρωτή που θα χρησιμοποιηθεί. Ο κατάλογος
/usr/local/etc/sane.d/
περιέχει όλα τα αρχεία ρυθμίσεων του backend. Το πρόβλημα
αναγνώρισης εμφανίζεται σε ορισμένα μοντέλα USB σαρωτών.
Για παράδειγμα, με το σαρωτή USB που χρησιμοποιείται στο
Τμήμα 8.7.2.1, “Διασύνδεση USB”, η εντολή
sane-find-scanner
δίνει τις ακόλουθες
πληροφορίες:
#
sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Ο σαρωτής βρέθηκε, χρησιμοποιεί διασύνδεση USB και το όνομα
συσκευής του είναι /dev/uscanner0
.
Τώρα πρέπει να δούμε αν αναγνωρίζεται και σωστά:
#
scanimage -L
No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).Αφού ο σαρωτής δεν αναγνωρίστηκε, θα χρειαστεί να
επεξεργαστούμε το αρχείο
/usr/local/etc/sane.d/epson2.conf
. Το μοντέλο
σαρωτή που χρησιμοποιήθηκε ήταν το EPSON
Perfection® 1650,
έτσι ξέρουμε ότι ο σαρωτής θα χρησιμοποιεί το backend
epson2
. Βεβαιωθείτε ότι διαβάσατε τα βοηθητικά
σχόλια στα αρχεία ρυθμίσεων του backend. Είναι αρκετά απλό να
αλλάξετε γραμμές: Μετατρέψτε σε σχόλια όσες γραμμές δείχνουν λάθος
τύπο διασύνδεσης για το σαρωτή σας (στην περίπτωση μας θα
μετατρέψουμε σε σχόλια όλες τις γραμμές που ξεκινάνε με τη λέξη
scsi
καθώς ο σαρωτής μας χρησιμοποιεί διασύνδεση
USB), και προσθέστε στο τέλος του αρχείου μια γραμμή που να ορίζει
το είδος διασύνδεσης και το όνομα συσκευής που χρησιμοποιείτε. Στην
περίπτωση μας προσθέσαμε την ακόλουθη γραμμή:
Σας παρακαλούμε να βεβαιωθείτε ότι διαβάσατε τα σχόλια που παρέχονται στο αρχείο ρυθμίσεων του backend καθώς και στις αντίστοιχες σελίδες manual για περισσότερες λεπτομέρειες καθώς και για τη σύνταξη που πρέπει να χρησιμοποιήσετε. Μπορούμε τώρα να επιβεβαιώσουμε ότι ο σαρωτής αναγνωρίζεται:
#
scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerΟ USB σαρωτής μας αναγνωρίστηκε. Δεν είναι σημαντικό ότι η
μάρκα και το μοντέλο δεν ταιριάζουν ακριβώς με το δικό μας.
Το βασικό σημείο είναι το πεδίο
`epson:/dev/uscanner0'
, το οποίο δείχνει το
σωστό backend και όνομα συσκευής.
Μόλις η εντολή scanimage -L
μπορέσει να δει το
σαρωτή, η ρύθμιση έχει ολοκληρωθεί. Η συσκευή είναι έτοιμη να
χρησιμοποιηθεί.
Αν και η scanimage(1) μας επιτρέπει να σαρώσουμε εικόνα από
τη γραμμή εντολών, είναι προτιμότερο να χρησιμοποιήσουμε κάποιο
πρόγραμμα σε γραφικό περιβάλλον για την εργασία αυτή. Το
SANE μας προσφέρει ένα απλό αλλά αποδοτικό
γραφικό περιβάλλον: το xscanimage
(graphics/sane-frontends
).
Το Xsane (graphics/xsane
) είναι επίσης ένα δημοφιλές
frontend πρόγραμμα σάρωσης. To frontend αυτό προσφέρει προχωρημένες
δυνατότητες, όπως διαφορετικούς τρόπους σάρωσης (φωτοτυπία, fax, κλπ)
διόρθωση χρωμάτων, πολλαπλή σάρωση κ.α. Και οι δύο αυτές εφαρμογές
διατίθενται επίσης σαν πρόσθετο (plugin) πρόγραμμα για χρήση με το
GIMP.
Όλες οι παραπάνω λειτουργίες έγιναν με τα προνόμια του χρήστη
root
. Μπορεί ωστόσο, να θέλετε να δώσετε πρόσβαση
στο σαρωτή σας και σε άλλους χρήστες. Ο χρήστης χρειάζεται άδεια
ανάγνωσης και εγγραφής στο αρχείο συσκευής που χρησιμοποιείται από το
σαρωτή. Σαν παράδειγμα, ο σαρωτής μας χρησιμοποιεί το αρχείο συσκευής
/dev/ugen0.2
το οποίο στην πραγματικότητα είναι
ένας συμβολικός δεσμός προς το πραγματικό αρχείο συσκευής, το
/dev/usb/0.2.0
(μπορείτε να το επιβεβαιώσετε
εύκολα με μια ματιά στον κατάλογο /dev
). Τόσο ο συμβολικός δεσμός όσο
και το αρχείο συσκευής ανήκουν στις ομάδες
wheel
και operator
.
Αν προσθέσουμε το χρήστη
σε αυτές τις
ομάδες, θα μπορεί να χρησιμοποιήσει το σαρωτή. Για λόγους ασφαλείας
όμως θα πρέπει να είμαστε ιδιαίτερα προσεκτικοί όταν προσθέτουμε
ένα χρήστη σε μια ομάδα, ειδικά αν πρόκειται για την
joe
wheel
. Μια καλύτερη λύση θα ήταν να
δημιουργήσουμε μια ομάδα ειδικά για τη χρήση των συσκευών
USB, και να επιτρέψουμε πρόσβαση στον σαρωτή στα μέλη της ομάδας
αυτής.
Για παράδειγμα, θα χρησιμοποιήσουμε μια ομάδα με το όνομα
. Το πρώτο
βήμα είναι η δημιουργία αυτής της ομάδας με τη βοήθεια της εντολής
pw(8):usb
#
pw groupadd usb
Θα πρέπει έπειτα να αλλάξουμε τα δικαιώματα του συμβολικού
δεσμού /dev/ugen0.2
και του αρχείου συσκευής
/dev/ugen0.2.0
ώστε να είναι προσβάσιμα από
την ομάδα usb
με δυνατότητα εγγραφής
(δικαιώματα 0660
ή 0664
).
Από προεπιλογή, μόνο ο ιδιοκτήτης αυτών των αρχείων
(ο root
) έχει τα απαραίτητα δικαιώματα εγγραφής.
Όλα τα παραπάνω μπορούν να γίνουν με τις παρακάτω γραμμές στο αρχείο
/etc/devfs.rules
:
Οι χρήστες του FreeBSD 7.X θα χρειαστούν τις παρακάτω
γραμμές, με το σωστό αρχείο συσκευής (τις περισσότερες φορές θα
είναι το /dev/uscanner0
):
Έπειτα, προσθέστε την ακόλουθη γραμμή στο αρχείο
/etc/rc.conf
και επανεκκινήστε το μηχάνημα:
Περισσότερες πληροφορίες σχετικά με αυτές τις γραμμές, μπορείτε να βρείτε στη σελίδα manual του devfs(8).
Έπειτα από τα παραπάνω βήματα, για να δώσετε πρόσβαση στο USB
σαρωτή σε κάποιο χρήστη, αρκεί να προσθέσετε το λογαριασμό του στην
ομάδα
:usb
#
pw groupmod usb -m joe
Για περισσότερες λεπτομέρειες, διαβάστε τη σελίδα manual του pw(8).
Αυτό το κείμενο, και άλλα κείμενα, μπορεί να βρεθεί στο ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Για ερωτήσεις σχετικά με το FreeBSD, διαβάστε την
τεκμηρίωση πριν να επικοινωνήσετε με την
<questions@FreeBSD.org>.
Για ερωτήσεις σχετικά με αυτή την τεκμηρίωση, στείλτε e-mail στην
<doc@FreeBSD.org>.