A FreeBSD lapolvasókhoz a SANE (Scanner Access Now Easy) elnevezésű API (alkalmazásfejlesztői felület) segítségével képes hozzáférni, amelyet a Portgyűjteményben találhatunk meg. A lapolvasást végző hardvereszközök használatához a FreeBSD a SANE mellett még néhány eszközmeghajtóra is támaszkodik.
A FreeBSD egyaránt ismeri az SCSI és USB
csatlakoztatású lapolvasókat is.
Még mielőtt nekikezdenénk a lapolvasó
beállításához, bizonyosodjuk meg
róla, hogy a SANE
támogatja. A SANE által
ismert eszközök felsorolásában
ellenőrizhetjük a lapolvasónk
támogatottságának állapotát.
A FreeBSD 8.X
előtti
kiadásaiban ezenkívül még a
uscanner(4) man oldalon is láthatjuk az ismert USB-s
lapolvasók listáját.
A korábbiak értelmében tehát mind a SCSI, mind pedig a USB felületen csatlakozó eszközök támogatottak. A lapolvasónknak megfelelően eltérő eszközmeghajtók szükségesek.
A GENERIC
rendszermag
alapértelmezés szerint tartalmazza az USB-s
lapolvasók használatához
szükséges eszközmeghajtókat. Ha
valamiért azonban mégis saját
rendszermagot akarunk használni, akkor ne
felejtsük el ellenőrizni, hogy a rendszermag
beállításai között
megtalálhatóak a következő
sorok:
A FreeBSD 8.X
előtti
kiadásaiban még a következő sorra is
szükségünk lesz:
A FreeBSD ezen változataiban a uscanner(4) eszközmeghajtón keresztül tudjuk használni az USB csatolóval rendelkező lapolvasókat. A FreeBSD 8.0 változatától kezdődően pedig ehhez a libusb(3) függvénykönyvtár nyújt közvetlen támogatást.
A megfelelően előkészített rendszermag elindítása után csatlakoztassuk az USB-s lapolvasónkat. Ez a sor fog megjelenni a rendszer üzenetpufferében (dmesg(8)):
Vagy FreeBSD 7.X
rendszerek
esetében:
Ezek az üzenetek elárulják nekünk,
hogy a lapolvasóhoz mostantól a használt
FreeBSD verziótól függően a
/dev/ugen0.2
vagy a
/dev/uscanner0
eszközleíró tartozik. A fenti
példában egy EPSON
Perfection® 1650
típusú USB lapolvasót
láthatunk.
Ha a lapolvasónk SCSI felületen csatlakozik,
fontos tisztában lennünk azzal, hogy pontosan
milyen SCSI-vezérlőn keresztül is
érhetjük el, ugyanis a rajta
található SCSI chipkészletnek
megfelelően kell majd hangolnunk a rendszermag
beállításait. A
GENERIC
rendszermag alapból ismeri
a leggyakrabban előforduló
SCSI-vezérlőket. Mindenképpen olvassuk
át a NOTES
nevű
állományt és adjuk hozzá a
rendszermag beállításaihoz a
megfelelő sort. A SCSI-kártya
meghajtóján kívül még az
alábbi beállításokat is meg kell
adnunk a rendszermagunk számára:
Ahogy sikerült a rendszermagot sikeresen lefordítani és telepíteni, a rendszer indulása során az üzenetpufferben már láthatjuk is a felismert eszközt:
Ha a rendszer indulásakor még nem kapcsoltuk volna be a lapolvasónkat, a camcontrol(8) parancs segítségével később külön kérhetjük a SCSI buszon található eszközök újbóli felderítését:
#
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 successfulEkkor a lapolvasó megjelenik a SCSI eszközök felsorolásában:
#
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)A SCSI eszközökről további leírásokat a scsi(4) és camcontrol(8) man oldalakon találhatunk.
A SANE rendszere két
részre oszlik: a backendekre (graphics/sane-backends
) és a
frontendekre (graphics/sane-frontends
). Ezek
közül maguk a backendek szolgáltatják a
lapolvasó
hozzáférhetőségét. A
SANE által ismert
eszközeinek listájából
kifürkészhetjük, hogy lapolvasónkat
melyik backenden keresztül érhetjük el. Az
eszköz megfelelő használatához
döntő fontosságú
megállapítani a hozzá tartozó
backendet. A frontendek között találjuk meg a
lapolvasást felügyelő grafikus felületeket
(mint például az
xscanimage).
Elsőként telepítsük a graphics/sane-backends
portot vagy
csomagot. Ezután ellenőrizzük, hogy a
SANE felismeri a lapolvasót,
és ehhez adjuk ki a sane-find-scanner
parancsot:
#
sane-find-scanner -q
found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3A kimenetében jelzi a felületet, amin a lapolvasó csatlakozik, valamint a hozzá tartozó eszközleírót. A gyártó neve és a termék típusa nem minden esetben jelenik meg, de ez nem is annyira fontos.
Némely USB-s lapolvasók esetén még egy firmware-t is be kell töltenünk, amiről bővebben a backendhez tartozó man oldalokon olvashatunk. Ajánlott még elolvasni a sane-find-scanner(1) és sane(7) man oldalakat is.
Most pedig nézzük meg, hogy vajon a frontend is
be tudja-e azonosítani a lapolvasónkat.
Alapértelmezés szerint a
SANE backendjéhez tartozik
még egy scanimage(1) nevű segédprogram
is, aminek segítségével listázni
tudjuk a használható eszközöket
és képeket tudunk beolvasni parancssorból.
Közülük a -L
kapcsoló
listáz:
#
scanimage -L
device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scannerVagy ha a 7.6.2.1. szakasz - Beállítás USB felületenban szereplő USB lapolvasóval nézzük:
#
scanimage -L
device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scannerEzt a kimenetet egy FreeBSD 8.X
rendszeren kaptuk, ahol a
'epson2:libusb:/dev/usb:/dev/ugen0.2'
az
eszközhöz tartozó backendet
(epson2
) és
eszközleírót
(/dev/ugen0.2
) adja meg.
Ha ennek eredményeképpen semmi sem jelenik
meg, vagy a scanimage(1) látszólag nem
talált semmilyen eszközt, akkor a lapolvasó
azonosítása nem sikerült. Ilyen esetekben
valószínűleg módosítanunk
kell a backend beállításait
tartalmazó állományt a használni
kívánt lapolvasó eszköz szerint. A
backendek beállításait a /usr/local/etc/sane.d/
könyvtárban találjuk. Ez a probléma
bizonyos USB-s lapolvasók esetében
jelentkezik.
Például, ha 7.6.2.1. szakasz - Beállítás USB felületenban használt USB-s
lapolvasónkat FreeBSD 8.X
alatt tökéletesen felismeri a rendszer, de a FreeBSD
korábbi változatai esetén (ahol a
uscanner(4) eszközmeghajtót
használják) a
sane-find-scanner
parancs a
következőket adja vissza:
#
sane-find-scanner -q
found USB scanner (UNKNOWN vendor and product) at device /dev/uscanner0Akkor a lapolvasót sikerült megtalálni,
és láthatjuk, hogy USB-n keresztül
csatlakozik és a /dev/uscanner0
eszközleíró tartozik hozzá. Most
már ellenőrizhetjük a lapolvasó helyes
beazonosítását is:
#
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).Az üzenet fordítása:
Mivel a lapolvasót nem sikerült
azonosítani, át kell írnunk a
/usr/local/etc/sane.d/epson2.conf
állományt. A használt lapolvasó
típusa EPSON
Perfection® 1650, ezért
hozzá az epson2
backendet fogjuk
használni. Ehhez feltétlenül olvassuk el a
konfigurációs állományban
található megjegyzéseket is. A sorokat
igen könnyű átírni: tegyük
megjegyzésbe az összes olyat, ahol a
lapolvasónk számára nem megfelelő
felületek találhatóak (a mi esetünkben
tehát megjegyzésbe fogjuk tenni az összes
scsi
szóval kezdődő sort,
hiszen nekünk USB-s eszközünk van), majd az
állomány végére írjuk be a
használni kívánt felületet és
eszközleírót. Ez ebben a konkrét
esetben ennyi lenne:
A megfelelő formátum és a további részletek leírásához ne felejtsük el azonban elolvasni a backend konfigurációs állományában felbukkanó megjegyzéseket és az ide tartozó man oldalt sem. Most már megpróbálkozhatunk újra a lapolvasó azonosításával:
#
scanimage -L
device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scannerLáthatjuk, hogy az USB-s lapolvasónkat
sikerült azonosítani. Nem számít,
ha esetleg nem egyezne a valósággal a
gyártó vagy a típus
megjelölése. Itt a valóban lényeges
elem az `epson:/dev/uscanner0'
mező
lesz, melynek a backend és az
eszközleíró nevét kell helyesen
tartalmaznia.
A beállítást akkor zárhatjuk le,
miután a scanimage -L
parancs
képes észlelni a lapolvasót. A eszköz
ekkor már készen áll a
beolvasásra.
Míg a scanimage(1) parancssorból teszi
lehetővé számunkra a lapolvasást,
addig érdemesebb a képek olvasását
egy grafikus felületen keresztül
végeznünk. A SANE egy
egyszerű, ám hatékony grafikus felületet
ajánl fel ehhez, ez az
xscanimage (graphics/sane-frontends
).
Az Xsane (graphics/xsane
) egy másik
népszerű grafikus frontend.
Segítségével speciális
lehetőségeket is kihasználhatunk, mint
például többféle
képolvasási mód
(fénymásoló, fax stb.),
színkorrekció, kötegelt beolvasás,
stb. Mind a két említett alkalmazás
elérhető a The GIMP
bővítményeként is.
A korábban tárgyalt műveletek
mindegyikét root
felhasználóként tudjuk csak
végrehajtani. Azonban előfordulhat, hogy más
felhasználók számára is
szeretnénk hozzáférést
biztosítani a lapolvasóhoz. Ehhez az
érintett felhasználóknak a
lapolvasóhoz tartozó
eszközleíróhoz olvasási és
írás joggal kell rendelkezniük.
Például az USB-s lapolvasónk a
/dev/ugen0.2
eszközleírót használja, amely
valójában csak a
/dev/usb/0.2.0
eszközleíróra mutató szimbolikus link
(ezt gyorsan le tudjuk ellenőrizni, ha
megnézzük a /dev
könyvtár
tartalmát). Az eszközleíró és
a rá mutató szimbolikus link rendre a
wheel
és
operator
csoportok birtokában van.
Ha a
nevű felhasználót felvesszük ezekbe a
csoportokba, akkor ezáltal hozzá tud majd
férni a lapolvasóhoz. Nyilvánvaló
biztonsági megfontolásokból azonban
kétszer is javasolt meggondolni, mely
felhasználókat mely csoportokba vesszük fel,
különösen, ha pgj
wheel
csoportról van szó. Ennél valamivel jobb
megoldást kínál, ha létrehozunk
külön az USB eszközök
használatára vonatkozó csoportot és
a lapolvasót ezen csoport tagjainak számára
elérhetővé tesszük.
Tehát erre a célra például
megalkotjuk a
csoportot. Ehhez első lépésként a
pw(8) parancs segítségével hozzuk
létre magát a csoportot:usb
#
pw groupadd usb
Ezután a /dev/usb/0.2.0
eszközleírót és a rá
mutató /dev/ugen0.2
szimbolikus
linket kell az usb
csoport
részére elérhetővé
tennünk, a megfelelő írási
engedélyekkel (0660
vagy
0664
) együtt, mivel
alapértelmezetten csak a tulajdonosuk
(root
) tudja írni ezeket. Mindezt
úgy tudjuk megtenni, ha az
/etc/devfs.rules
állományhoz hozzáadjuk a megfelelő
sorokat:
A FreeBSD 7.X
változatok
esetén valószínűleg a
következő sorokra lesz szükségünk a
/dev/uscanner0
eszközleíróhoz:
Ezt követően az /etc/rc.conf
állományba írjuk be az alábbi sort
és utána indítsuk újra a
számítógépet:
Az itt szereplő sorok pontos jelentéséről a devfs(8) man oldaláról tájékozódhatunk.
Ezután már csak fel kell vennünk azokat a
felhasználókat a
csoportba,
amelyeknek engedélyezzük a lapolvasó
használatát:usb
#
pw groupmod usb -m pgj
A további részletekről a pw(8) man oldalon olvashatunk.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.