Tartalomjegyzék
Az openSUSE sokféle nyomtató használatát támogatja; többek között hálózati nyomtatókét is. A nyomtatók beállítása történhet kézzel vagy a YaST használatával. A beállítással kapcsolatos utasítások: Section “Setting Up a Printer” (Chapter 2, Setting Up Hardware Components with YaST, ↑Start-Up). A nyomtatási feladatok elindításához és felügyeletéhez grafikus és parancssoros segédprogramok egyaránt rendelkezésre állnak. Ha a nyomtató nem a várakozásoknak megfelelően működik, tájékozódjon a következő részben: 11.7. - Hibaelhárítás.
A CUPS (Common Unix Printing System) az openSUSE alapértelmezett nyomtatási rendszere.
A nyomtatók csoportosíthatók csatoló szerint (például USB vagy hálózati), illetve a nyomtató által használt nyelv szerint. Egy nyomtató vásárlásakor győződjön meg róla, hogy a nyomtató a hardver által támogatott csatolóval (pl. USB vagy párhuzamos port) rendelkezik és megfelelő nyomtatónyelvet használ. A nyomtatók a nyomtatónyelv szerint az alábbi három osztályba sorolhatók:
A PostScript az a nyomtatónyelv, amelyen Unix/Linux alatt a legtöbb nyomtatási feladat elkészül és amelyet a belső nyomtatási rendszer feldolgoz. Ha a PostScript-dokumentumokat a nyomtató képes közvetlenül feldolgozni és nem kell a nyomtatási rendszer egyéb szakaszaiban átalakítani, akkor csökken a potenciális hibaforrások száma.
Bár ezek a nyomtatónyelvek igen régiek, továbbra is bővítik őket, hogy lefedjék a nyomtatók új funkcióit. Ismert nyomtatónyelvek esetében a nyomtatási rendszer a Ghostscript segítségével képes átalakítani a PostScript-feladatokat a megfelelő nyomtatónyelvre. Ezt a feldolgozási fázist nevezzük értelmezésnek. A legismertebb ilyen nyelv a PCL (amelyeket elsősorban HP-nyomtatók és klónjaik használnak), illetve az ESC/P, amelyet pedig az Epson-nyomtatók). Ezeket a nyomtatónyelveket általában támogatja a Linux és elfogadható minőségű nyomatot eredményeznek. A Linuxon néhány speciális nyomtatófunkció lehet, hogy nem működik. A HP által készített HPLIP-et kivéve (HP Linux Imaging and Printing), jelenleg egy nyomtatógyártó sem készít linuxos illesztőprogramokat és teszi azt elérhetővé a Linux-disztribútorok számára nyílt forráskódú licenc keretében.
Ezek a nyomtatók nem támogatják a szokásos nyomtatónyelvek egyikét sem. A saját, nem dokumentált nyomtatónyelvüket használják, amely a modell egy új kiadásának megjelenésekor változhat. Ezekhez a nyomtatókhoz általában csak windowsos illesztőprogramok állnak rendelkezésre. További információkért lásd: 11.7.1. - Szabványos nyomtatónyelveket nem támogató nyomtatók.
Mielőtt új nyomtatót vásárolna, forduljon az alábbi forrásokhoz és ellenőrizze, hogy milyen mértékben támogatják a megvenni szándékozott nyomtatót:
Ez a nyomtató-adatbázist tartalmazó OpenPrinting weboldal. Az adatbázis a legfrissebb linuxos támogatási állapotot mutatja. Egy Linux-disztribúció azonban csak a gyártáskor elérhető illesztőprogramokat tudja tartalmazni. Ennek megfelelően, előfordulhat, hogy egy pillanatnyilag „teljesen támogatott” nyomtató az openSUSE legutolsó kiadásának megjelenésekor még nem volt ebben az állapotban. Más szavakkal, az adatbázis nem hajszálpontosan jelzi, hogy a disztribúció támogatja-e az adott nyomtatót, de jó közelítést ad.
A Ghostscript weboldala.
/usr/share/doc/packages/ghostscript-library/catalog.devices
A mellékelt illesztőprogramok
A felhasználó létrehoz egy nyomtatási feladatot. A nyomtatási feladat egyrészt a kinyomtatandó, másrészt a feladatkezelőnek szánt adatokból (például a nyomtató vagy a nyomtatási sor nevéből) áll. Harmadrészt – bár ez nem kötelező –, a szűrőnek szánt adatokat is tartalmazhat, például nyomtatóspecifikus paramétereket.
Minden nyomtatóhoz létezik legalább egy nyomtatási sor. A nyomtatásisor-kezelő a sorban tartja a nyomtatási feladatokat egészen addig, amíg a kívánt nyomtató készen nem áll az adatok fogadására. Ha a nyomtató készen áll, akkor a nyomtatásisor-kezelő elküldi az adatokat a szűrőbe, a végeredményt pedig a nyomtatóra.
A szűrő a nyomtatást végző alkalmazás által előállított adatokat (általában PostScript vagy PDF, de lehet ASCII, JPEG stb.) alakítja át nyomtatóspecifikus adatokká (PostScript, PCL, ESC/P stb). A nyomtató funkcióit a PPD-fájlok írják le. A PPD-fájlok nyomtatóspecifikus beállításokat tartalmaznak a megfelelő paraméterekkel, amelyekkel ezek a funkciók bekapcsolhatók a nyomtatón. A szűrőrendszer gondoskodik arról, hogy a felhasználó által kiválasztott paraméterek be legyenek kapcsolva.
PostScript-nyomtató használata esetén a szűrőrendszer nyomtatóspecifikus PostScript-állománnyá alakítja az adatokat. Ehhez nincs szükség nyomtatóillesztőre. Nem PostScript-nyomtató használata esetén a szűrőrendszer nyomtatóspecifikus adatokká alakítja az adatokat. Ehhez viszont szükség van a nyomtatónak megfelelő illesztőprogramra. A háttérrendszer a szűrőtől megkapott adatokat továbbadja a nyomtatónak.
A nyomtatók többféleképpen is csatlakoztathatók a rendszerhez. A CUPS nyomtatási rendszer beállítása nem tesz különbséget a helyi és a hálózaton keresztül csatlakozó nyomtatók között. A nyomtatók csatlakoztatásáról további információ a támogatási adatbázis (http://old-en.opensuse.org/SDB:CUPS_in_a_Nutshell) CUPS dióhéjban című cikkében olvasható.
![]() | Vezetékes kapcsolatok megváltoztatása egy futó rendszerben |
|---|---|
A nyomtatónak a számítógéphez csatlakoztatása közben ne feledje, hogy csak az USB-eszközöket lehet működés közben csatlakoztatni és eltávolítani. A rendszer ill. a nyomtató károsodásának megelőzése érdekében nem USB-csatlakozás esetén a rendszert le kell állítani. | |
A PPD (PostScript printer description, PostScript-nyomtatóleírás) az a számítógépes nyelv, amelyen leírhatók a nyomtató tulajdonságai, például a felbontása, valamint az egyéb jellemzői, például hogy van-e benne duplex egység. Ezekre a leírásokra a CUPS többféle beállításánál is szükség van. PPD-fájl nélkül a nyomtatási adatok „nyers” formátumban kerülnek a nyomtatóra továbbításra, ami általában nem kívánatos. Az openSUSE telepítése során számos PPD-fájl telepítődik.
PostScript-nyomtató beállításának a legjobb módja a megfelelő PPD-fájl beszerzése. Számos PPD-fájl megtalálható a manufacturer-PPDs nevű csomagban, amely a normál telepítés részeként automatikusan telepítődik. Lásd 11.6.2. - Különféle csomagok PPD-fájljai és 11.7.2. - Nincs megfelelő PPD-fájl egy PostScript-nyomtatóhoz.
Az új PPD-fájlok az /usr/share/cups/model/ könyvtárba menthetők, vagy felvehetők a YaST segítségével is a nyomtatási rendszerbe, lásd: Section “Adding Drivers with YaST” (Chapter 2, Setting Up Hardware Components with YaST, ↑Start-Up). Következésképpen a PPD-fájl kiválasztható nyomtató beállításakor.
Legyen óvatos, ha a nyomtató gyártója akarja telepíteni a teljes szoftvercsomagot. Először is az ilyesfajta telepítés hatására elvész az openSUSE által biztosított támogatás, másodszor lehet, hogy a nyomtatási parancsok másképp viselkednek és a rendszer többé nem képes más gyártók eszközeit helyesen kezelni. Éppen ezért nem ajánlott a gyártók által biztosított szoftverek telepítése.
A hálózati nyomtatók többféle protokollt is támogatnak, némelyikük akár egyidőben is. Habár a legtöbb támogatott protokoll szabványosított, egyes gyártól módosítják ezeket a szabványokat. Ezen felül a gyártók csak néhány operációs rendszerhez biztosítanak illesztőprogramokat. Sajnos Linux-illesztőprogramokat ritkán adnak a nyomtatókhoz. A jelenlegi helyzet szerint nem lehet nyugodtan feltételezni azt, hogy minden protokoll kifogástalanul működik Linux alatt. Éppen ezért lehet, hogy kísérletezni kell a különféle beállításokkal egy működő konfiguráció kialakításához.
A CUPS a socket, LPD, IPP és smb protokollokat támogatja.
A Socket jelenti azt a kapcsolatot, amelyen az egyszerű nyomtatási adatok közvetlenül a TCP socketbe mennek. A leggyakrabban használt socket portszámok a 9100 és a 35. Az eszköz URI (egységes erőforrás-azonosító) szintaxisa: socket://nyomtató_IP_cím:port, példa: socket://192.168.2.202:9100/
Az LPD protokollt az RFC 1179-es szabvány írja le. Ennél a protokollnál a tényleges nyomtatási adatok előtt a feladatokkal kapcsolatos kiegészítő információ, például a sor azonosítója kerül továbbításra. Ezért a nyomtatási sort meg kell adni az LPD-protokoll beállításakor. A különféle nyomtatógyártók megvalósításai általában elég rugalmasak ahhoz, hogy bármilyen nevet elfogadjanak nyomtatási sorként. Ha szükséges, a nyomtató kézikönyve megadja, hogy milyen nevet kell használni. Gyakori az LPT, LPT1, LP1 vagy hasonló nevek használata. Az LPD szolgáltatás portszáma 515. Egy eszköz URI példa: lpd://192.168.2.202/LPT1
Az IPP a HTTP protokollra épülő, viszonylag új (1999-es) szabvány. Az IPP használata esetén a többi protokollnál is több feladatspecifikus adat kerül továbbításra. A CUPS belső adatátvitelre az IPP-t használja. A nyomtatási sor nevét pontosan kell megadni ahhoz, hogy az IPP helyesen működjön. Az IPP portszáma 631. Egy eszköz URI példa: ipp://192.168.2.202/ps és ipp://192.168.2.202/printers/ps
A CUPS lehetővé teszi a windowsos megosztásokon keresztüli nyomtatást is. Erre az SMB nevű protokoll szolgál. Az SMB által használt portszámok: 137, 138, 139. Egy URI példa: smb://felhasználó:jelszó@munkacsoport/smb.example.com/nyomtató; smb://felhasználó:jelszó@smb.example.com/nyomtató és smb://smb.example.com/nyomtató
A nyomtató által támogatott protokollt még a beállítás előtt meg kell állapítani. Ha a gyártó nem biztosítja a szükséges információt, akkor az nmap parancs (az nmap csomag része) használható a protokoll meghatározására. Az nmap a nyitott portokat ellenőrzi. Például:
nmap -p 35,137-139,515,631,9100-10000 printerIPA CUPS az lpinfo, lpadmin és az lpoptions parancsok segítségével parancssorból is beállítható. Szükség van egy eszköz URI-jére, amely a csatolási módból (pl. parallel) és a paraméterekből áll. A rendszeren érvényes eszköz URI-k meghatározásához adja ki az lpinfo -v | grep ":/" parancsot:
# lpinfo -v | grep ":/" direct usb://ACME/FunPrinter%20XL direct parallel:/dev/lp0
Az lpadmin paranccsal CUPS nyomtatási sorokat vehet fel, törölhet vagy kezelhet. Nyomtatási sor hozzáadásához használja a következő szintaxist:
lpadmin -pqueue-vdevice-URI-PPPD-file-E
Ekkor az eszköz (-v) sorként (-p) áll rendelkezésre a megadott PPD-fájl (-P) használatával. Ez azt jelenti, hogy a nyomtató kézi beállításához ismernie kell a PPD-fájl helyét és az eszköz URI-ját.
A -E ne legyen az első paraméter. A CUPS összes parancsánál az első paraméterként megadott -E titkosított kapcsolatot állít be. A nyomtató engedélyezéséhez a -E paramétert az alábbi példához hasonlóan kell használni:
lpadmin -p ps -v parallel:/dev/lp0 -P \ /usr/share/cups/model/Postscript.ppd.gz -E
A következő példa egy hálózati nyomtatót állít be:
lpadmin -p ps -v socket://192.168.2.202:9100/ -P \ /usr/share/cups/model/Postscript-level1.ppd.gz -E
Az lpadmin további paramétereivel kapcsolatban lásd az lpadmin(8) man oldalt.
A rendszer telepítése közben bizonyos paramétereket alapértékekre állít be a telepítőprogram. Ezek a beállítások minden egyes nyomtatási feladat esetében módosíthatók (a használt nyomtatási eszköztől függően). Az alapértelmezett értékek módosítására a YaST is használható. Parancssori eszközökkel az alapértelmezett értékek az alábbi módon állíthatók át:
Először is írassa ki az összes paramétert:
lpoptions -p queue -lpélda:
Resolution/Output Resolution: 150dpi *300dpi 600dpi
Az aktív alapértelmezett értéket az előtte álló csillag (*) karakter azonosítja.
Módosítsa a paramétert az lpadmin paranccsal:
lpadmin -p queue -o Resolution=600dpiEllenőrizze az új beállítást:
lpoptions -p queue -l
Resolution/Output Resolution: 150dpi 300dpi *600dpi
Ha egy normál felhasználó az lpoptions parancsot futtatja, akkor a beállítások az ~/.cups/.lpoptions fájlba íródnak. A root felhasználó beállításai az /etc/cups/lpoptions fájlba íródnak.
Parancssori nyomtatáshoz adja ki az lp -d sor_neve fájlnév parancsot úgy, hogy a sor_neve és a fájlnév helyére behelyettesíti a megfelelő neveket.
Egyes alkalmazások az lp parancsra támaszkodnak a nyomtatás során. Ebben az esetben írja be a megfelelő parancsot az alkalmazás nyomtatási párbeszédablakába (de általában nem kell megadni a fájlnév paramétert) például: lp -d sor_neve
A CUPS némely funkciói átalakításra kerültek az openSUSE rendszerben. Az alábbiakban végigvesszük a legfontosabb módosításokat.
Az openSUSE alapértelmezett telepítésének befejezése után a SuSEfirewall2 aktív és a hálózati eszközök úgy vannak beállítva, hogy a bejövő forgalmat blokkoló külső zónában legyenek. A SuSEfirewall2 konfigurálásával kapcsolatban további információk: Section “SuSEfirewall2” (Chapter 14, Masquerading and Firewalls, ↑Security Guide) és http://en.opensuse.org/SDB:CUPS_and_SANE_Firewall_settings.
A CUPS kliens általában egy normál, a tűzfal mögötti, megbízható hálózaton belüli munkaállomáson fut. Ebben az esetben ajánlott a hálózati csatolót úgy beállítani, hogy a belső zónában legyenek, így a munkaállomás elérhető lesz a hálózaton belül.
Ha a CUPS-kiszolgáló egy tűzfallal védett, megbízható hálózat része, akkor a hálózati csatolót úgy kell beállítani, hogy a tűzfal belső zónájában legyen. Nem célszerű a CUPS-kiszolgálót egy nem megbízható hálózatban beüzemelni, hacsak speciális tűzfalszabályokkal és a CUPS-konfiguráció biztonsági beállításainak alkalmazásával nem gondoskodik a rendszer védelméről.
A YaST nyomtatókonfigurációs modulja a CUPS nyomtatási sorait kizárólag az /usr/share/cups/model könyvtárban talált PPD-fájlok alapján állítja be. A nyomtatómodellhez tartozó megfelelő PPD-fájlok meghatározásához a YaST összehasonlítja a hardverfelismerés során megállapított gyártó- és modellnevet a PPD-fájlokban lévőkkel. E célból a YaST nyomtatókonfiguráció létrehoz a PPD-fájlokból kinyert gyártó- és modelladatokból egy adatbázist.
A kizárólag a PPD-fájlokra épülő, minden más információforrást mellőző beállítás előnye, hogy az /usr/share/cups/model könyvtárban található PPD-fájlok szabadon módosíthatók. Ha például csak PostScript-nyomtatókkal rendelkezik, akkor általában nincs szükség a cups-drivers csomag Foomatic PPD-fájljaira, vagy a gutenprint csomag Gutenprint PPD-fájljaira. Ehelyett a PostScript-nyomtatók PPD-fájljai közvetlenül bemásolhatók az /usr/share/cups/model könyvtárba (ha hiányoznának a manufacturer-PPDs csomagból), így optimálisan állíthatók be a meglévő nyomtatók.
cups csomag CUPS PPD-fájljai¶
A cups csomagban található általános PPD-fájlok ki lettek bővítve megfelelően átalakított Foomatic PPD-fájlokkal PostScript level 1 és level 2 nyomtatókhoz:
/usr/share/cups/model/Postscript-level1.ppd.gz
/usr/share/cups/model/Postscript-level2.ppd.gz
cups-drivers csomag PPD-fájljai¶
A nem PostScript nyomtatókhoz általában a Foomatic nyomtatószűrő (foomatic-rip) kerül felhasználásra a Ghostscripttel együtt. A megfelelő Foomatic PPD-fájlokhoz a *NickName: ... Foomatic/Ghostscript driver és a *cupsFilter: ... foomatic-rip bejegyzések tartoznak. Ezek a PPD-fájlok a cups-drivers csomag részei.
A YaST általában előnyben részesíti a manufacturer-PPDs (gyártói PPD-ket tartalmazó) csomagból származó fájlokat. Ha azonban nincs megfelelő gyártó-PPD fájl, akkor egy *NickName: … Foomatic … (javasolt) Foomatic PPD fájl lesz kiválasztva.
gutenprint csomag Gutenprint PPD-fájljai¶
Számos nem-PostScript nyomtató esetén a foomatic-rip helyett a Gutenprint (korábban GIMP-Print) rastertogutenprint CUPS-szűrője is használható. Ez a szűrő és a megfelelő Gutenprint PPD-fájlok a gutenprint csomagban találhatók. A Gutenprint PPD-fájlok az /usr/share/cups/model/gutenprint/ könyvtárban találhatók és a *NickName: ... CUPS+Gutenprint, valamint *cupsFilter: ... rastertogutenprint bejegyzések tartoznak hozzájuk.
manufacturer-PPDs csomagban ¶
A manufacturer-PPDs csomag a nyomtatógyártók saját, megfelelően liberális licencfeltételek mellett kiadott PPD-fájljait tartalmazzák. A PostScript-nyomtatókat célszerű a gyártó PPD-fájljával beállítani, mivel ez a fájl lehetővé teszi a PostScript-nyomtató összes funkciójának kihasználását. A YaST előnyben részesíti a manufacturer-PPDs (gyártói PPD-ket tartalmazó) csomag PPD-fájljait. A YaST nem tudja használni a manufacturer-PPDs csomag PPD-fájlját, ha a modell neve nem egyezik meg. Ez olyankor történhet meg, ha a manufacturer-PPDs csomag csak egyetlen PPD-fájlt tartalmaz több, hasonló modellhez, például a Funprinter 12xx sorozat összes tagjához. Ebben az esetben a megfelelő PPD-fájlt kézzel kell kiválasztani a YaST-ban.
Az alábbi fejezetek a nyomtatóhardver és -szoftver leggyakoribb problémáit tekintik át, valamint bemutatják a megoldás módját vagy lehetőséget adnak a megkerülésükre. Szó lesz a GDI-nyomtatókról, a PPD-fájlokról és a portbeállításokról, valamint a hálózati nyomtatókkal kapcsolatos legjellemzőbb gondokról, a rossz nyomtatási kimenetekről valamint a sorkezelésről.
A szabványos nyomtatónyelveket nem támogató, csak speciális vezérlőszekvenciákkal szabályozható nyomtatókat GDI-nyomtatóknak szokás hívni. Ezek a nyomtatók csak azon operációsrendszer-verziók alatt használhatók, amelyekhez a gyártó biztosít illesztőprogramot. A GDI a Microsoft által grafikus eszközökhöz kifejlesztett programozási felület. A gyártók általában csak a Windowshoz adnak illesztőprogramot és amióta a Windows-illesztő a GDI-felületet használja, ezeket a nyomtatókat szintén GDI-nyomtatóknak szokás hívni. A tényleges problémát nem a programozási felület jelenti, hanem az a tény, hogy a GDI-nyomtatók csak az adott nyomtatómodell egyedi nyomtatónyelvével vezérelhetők.
Egyes nyomtatók átkapcsolhatók, hogy GDI-módban működjenek vagy a szabványos nyomtatónyelvek valamelyikével. Ha lehetséges, nézze meg a nyomtató kézikönyvét. Bizonyos modelleknél az átkapcsoláshoz szükség van egy speciális Windows szoftverre (figyeljen rá, hogy a Windows-illesztő lehet, hogy minden alkalommal visszaállítja a nyomtatót GDI-módra, ha Windowsból nyomtat). Más GDI-nyomtatókhoz vannak szabványos nyomtatónyelvi bővítőmodulok.
Egyes gyártók egyedi illesztőprogramokat biztosítanak GDI-nyomtatóikhoz. Az egyedi illesztőprogramok hátránya, hogy nincs garancia arra, hogy ezek működnek a telepített nyomtatórendszerrel, vagy hogy megfelelők a különféle hardverplatformokhoz. A szabványos nyomtatónyelveket támogató nyomtatók ezzel szemben nem függenek a nyomtatási rendszer egy adott változatától, sem a használt hardverplatformtól.
Ahelyett, hogy megpróbál egy zárt forrású Linuxos illesztőprogramot működésre bírni, sokkal költséghatékonyabb, ha olyan nyomtatót vásárol, amely támogatja a szabványos nyomtatónyelveket (lehetőleg a PostScriptet). Ez megoldja az illesztőprogram problémáját egyszer és mindenkorra: nincs többé szükség speciális illesztőprogramok telepítésére és beállítására, valamint a nyomtatási rendszer fejlesztései miatt új illesztőprogram-verziók beszerzésére.
Ha a manufacturer-PPDs csomag nem tartalmaz megfelelő PPD-fájlt egy PostScript-nyomtatóhoz, akkor használható a nyomtatógyártó illesztőprogram CD-jén található PPD-fájl, vagy letölthető egy alkalmas PPD-fájl a nyomtatógyártó weboldaláról.
A PPD-fájl általában ZIP-archívum (.zip) vagy önkicsomagoló ZIP-archívum (.exe) formájában érhető el. A zip kiterjesztésű állomány kicsomagolása az unzip paranccsal lehetséges. Először tekintse meg a PPD-fájl licencfeltételeit. Ezután a cupstestppd segédprogrammal ellenőrizze, hogy a PPD-fájl megfelel-e az „Adobe PostScript Printer Description File Format Specification, version 4.3.” specifikáció előírásainak. Ha a segédprogram „FAIL” eredményt ad vissza, akkor a PPD-fájlban komoly hibák vannak, és komoly hibákra lehet számítani a nyomtatásnál is. A cupstestppd által azonosított problémákat lehetőleg meg kell szüntetni. Ha szükséges, kérjen helyes PPD-fájlt a nyomtató gyártójától.
A legbiztonságosabb megközelítés a nyomtatót közvetlenül az első párhuzamos portra kötni és az alábbi beállításokat megadni a BIOS-ban:
I/O address (I/O-cím): 378 (hexadecimális)
Interrupt (megszakítás): mindegy
Mode (mód): normal (normál), SPP vagy output only (csak kimenet)
DMA: disabled (letiltva)
Ha a nyomtató a fenti beállítások ellenére sem érhető el a párhuzamos porton, akkor adja meg az I/O-címet a BIOS-ban található beállítással az /etc/modprobe.conf fájlban 0x378 formában. Ha két párhuzamos port van, amelyek I/O-címei 378 és 278 (hexadecimális), akkor ezeket 0x378,0x278 formában kell megadni.
Ha a 7-es megszakítás szabad, akkor az az alább bemutatott módon aktiválható (11.1. példa - /etc/modprobe.conf: Az első párhuzamos port megszakítási módja). A megszakítási mód aktiválása előtt ellenőrizze a /proc/interrupts fájlban, hogy mely megszakítások vannak már használatban. Csak az éppen használt megszakítások kerülnek megjelenítésre. Ez függhet attól, hogy mely hardverelemek aktívak. A párhuzamos port megszakítását más eszköz nem használhatja. Ha nem biztos a dolgában, használja a lekérdezéses (polling) módot az irq=none beállítással.
11.1. példa - /etc/modprobe.conf: Az első párhuzamos port megszakítási módja¶
alias parport_lowlevel parport_pc options parport_pc io=0x378 irq=7
Csatlakoztassa a nyomtatót közvetlenül a számítógéphez. Tesztelési célból állítsa be a nyomtatót helyi nyomtatóként. Ha így működik, akkor a probléma a hálózatban lesz.
A TCP/IP-hálózatnak és a névfeloldásnak működnie kell.
Az alábbi paranccsal ellenőrizhető, hogy létesíthető-e TCP-kapcsolat a gép neve gépen futó lpd-vel (port 515):
netcat -z host 515 && echo ok || echo failedHa az lpd felé nem létesíthető kapcsolat, akkor lehet, hogy az lpd nem fut, vagy valamilyen gond van a hálózattal.
A root felhasználó nevében adja ki az alábbi parancsot egy (várhatóan jó hosszú) állapotjelentés lekéréséhez a távoli gép_neve gépen található sorról (nyomtatási_sor), feltéve, hogy az lpd aktív és a gép elfogadja a kéréseket:
echo -e "\004queue" \
| netcat -w 2 -p 722 host 515
Ha az lpd nem válaszol, akkor lehet, hogy nem fut vagy valamilyen gond van a hálózattal. Ha az lpd válaszol, akkor a válaszból ki kell derülnie, hogy miért nem lehet nyomtatni a gép_neve gép sorára (nyomtatási_sor). Ha a 11.2. példa - Az lpd hibaüzenete példában bemutatotthoz hasonló választ kap, akkor a problémát a távoli lpd okozza.
11.2. példa - Az lpd hibaüzenete¶
lpd: your host does not have line printer access lpd: queue does not exist printer: spooling disabled printer: printing disabled
A CUPS hálózati kiszolgáló – alapértelmezés szerint –, az UDP 631-es porton 30 másodpercenként üzenetet küld ki. Ennek megfelelően a következő parancs használható annak kiderítésére, hogy található-e magát hirdető CUPS hálózati kiszolgáló a hálózaton. A parancs végrehajtása előtt győződjön meg róla, hogy leállította a helyi CUPS-démont.
netcat -u -l -p 631 & PID=$! ; sleep 40 ; kill $PID
Ha létezik nyilvános üzeneteket küldő CUPS hálózati kiszolgáló, akkor a kimenet az alábbi példában bemutatotthoz lesz hasonló: 11.3. példa - A CUPS hálózati kiszolgáló nyilvános üzenete.
Az alábbi paranccsal ellenőrizhető, hogy létesíthető-e TCP-kapcsolat a host gépen futó cupsd-vel (631-es port):
netcat -z host 631 && echo ok || echo failed
Ha a cupsd felé nem létesíthető kapcsolat, akkor lehet, hogy a cupsd nem fut, vagy valamilyen gond van a hálózattal. Az lpstat -h host -l -t paranccsal lekérhető egy (várhatóan jó hosszú) állapotjelentés a host gépen található összes sorról, feltéve, hogy a cupsd aktív és a gép elfogadja a kéréseket.
A következő paranccsal ellenőrizhető, hogy a host gépen található sor (queue)) elfogad-e egy mindössze egyetlen soremelés karakterből álló nyomtatási feladatot. Semmi sem kerül kinyomtatásra. A nyomtató esetleg kidob egy üres oldalt.
echo -en "\r" \
| lp -d queue -h hostA nyomtatókiszolgáló egységekben (pl. JetDirect) futó nyomtatásisor-kezelők néha problémát jelenthetnek, ha egyidejű nyomtatási feladatokkal kell megküzdeniük. Mivel ennek oka a nyomtatókiszolgáló egységben található sorkezelő, ezért ezt a problémát nem lehet megoldani. Kerülő megoldásként ki lehet hagyni a nyomtatókiszolgáló egységben működő nyomtatásisor-kezelőt, ha közvetlenül, a TCP-socketen keresztül címzi meg a nyomtatót. Lásd: 11.4. - Hálózati nyomtatók .
Ily módon a nyomtatókiszolgáló egység az adatátvitel különböző formái (TCP/IP-hálózat és helyi nyomtatókapcsolat) közötti átalakítóvá egyszerűsödik. A módszer használatához ismerni kell a nyomtatókiszolgáló egység TCP-portját. Ha a nyomtató a nyomtatókiszolgáló egységhez csatlakozik és be van kapcsolva, akkor ez a TCP-port általában meghatározható az nmap csomagban található nmap segédprogrammal a nyomtatókiszolgáló egység bekapcsolása után. Az nmap IP-cím például a következő eredményt adhatja egy nyomtatókiszolgáló egység esetében:
Port State Service 23/tcp open telnet 80/tcp open http 515/tcp open printer 631/tcp open cups 9100/tcp open jetdirect
Ez a kimenet azt jelzi, hogy a nyomtatókiszolgáló egységre csatlakozó nyomtató a 9100-as TCP socketporton keresztül is elérhető. Alapértelmezésben az nmap csak az /usr/share/nmap/nmap-services fájlban felsorolt ismert portokat ellenőrzi. Az összes lehetséges port ellenőrzéséhez használja az nmap -p mettől-meddig IP-cím parancsot. Ez viszont eltarthat egy darabig. További információt talál az nmap parancs man oldalán.
Az alábbihoz hasonló paranccsal
echo -en "\rHello\r\f" | netcat -w 1 IP-address port cat file | netcat -w 1 IP-address port
küldhet karaktersorozatokat vagy fájlokat közvetlenül a megfelelő portra annak ellenőrzésére, hogy a nyomtató valóban elérhető-e ezen a porton.
A nyomtatórendszerben a nyomtatási feladat akkor fejeződik be, ha a CUPS háttérrendszer befejezi az adatok elküldését a fogadónak (a nyomtatónak). Ha a fogadón a további feldolgozással probléma van (például a nyomtató nem képes a nyomtatóspecifikus adatok kinyomtatására), akkor a nyomtatási rendszer ezt már nem veszi észre. Ha a nyomtató nem képes a nyomtatóspecifikus adatok kinyomtatására, akkor válasszon a nyomtatónak jobban megfelelő PPD-fájlt.
Ha az adatátvitel a fogadóra több kísérlet után sem sikerül, akkor a CUPS háttérrendszer, például USB vagy socket hibát jelez a nyomtatási rendszer (a cupsd) felé. A háttérrendszer határozza meg, hogy hány sikertelen nyomtatási kísérletre van szükség, amíg az adatátvitel lehetetlennek minősül. Mivel ezek után a további kísérletek hiábavalók, a cupsd letiltja az adott sorra nyomtatást. A probléma okának megszüntetése után a rendszergazdának újra engedélyeznie kell a nyomtatást a cupsenable paranccsal.
Ha egy CUPS hálózati kiszolgáló meghirdeti a nyomtatási sorait a kliensgépek felé tallózáson keresztül és egy megfelelő helyi cupsd aktív a kliensgépeken, akkor a kliens cupsd elfogadja az alkalmazások nyomtatási feladatait és továbbítja őket a kiszolgálón futó cupsd felé. Amikor a cupsd a kiszolgálón elfogad egy nyomtatási feladatot, akkor új feladatszámot ad neki. Ez azt jelenti, hogy a kliensgépen a feladat száma nem fog megegyezni a kiszolgáló feladatszámával. Mivel a nyomtatási feladatok jellemzően azonnal továbbításra kerülnek, nem törölhetők a feladatszámmal a kliensgépen. Ennek oka az, hogy a kliens cupsd-je a nyomtatási feladatot befejezettnek tekinti azonnal, ahogy az továbbításra került a kiszolgáló cupsd-je felé.
Amikor szükségessé válik a nyomtatási feladat törlése a kiszolgálón, az lpstat -h cups.example.com -o paranccsal állapítsa meg a feladat számát a kiszolgálón, feltéve, hogy a kiszolgáló nem végzett még a feladat kinyomtatásával (nem küldte még el a nyomtatóra). A feladatszám segítségével a kiszolgálón a következő paranccsal törölhető a nyomtatási feladat:
cancel -h cups.example.com queue-jobnnumberAmennyiben nyomtatás közben lekapcsolja a nyomtatót vagy a számítógépet, a nyomtatási feladatok a nyomtatási sorban maradnak. A nyomtatás folytatódik, amint a számítógép (vagy a nyomtató) újra bekapcsolásra kerül. A hibás nyomtatási feladatokat a cancel paranccsal lehet eltávolítani a sorból.
Ha egy nyomtatási feladat hibás vagy hiba történik a gép és a nyomtató közötti kommunikációban, akkor a nyomtató sok papírt ki fog nyomtatni hibás karakterekkel, mert nem lesz képes az adatok helyes értelmezésére. A helyzet orvoslása érdekében kövesse az alábbi lépéseket:
A nyomtatás leállításához vegye ki az összes papírt a nyomtatóból, vagy nyissa ki a nyomtató papírtálcáját. Egyes nyomtatókon külön gomb is van az éppen folyó nyomtatás megszakítására.
Lehet, hogy a nyomtatási feladat még mindig a sorban van, mivel a feladatok csak akkor törlődnek a sorból, ha már teljes egészében el lettek küldve a nyomtatóra. Az lpstat -o vagy lpstat -h cups.example.com -o paranccsal ellenőrizheti, melyik sor nyomtatása folyik éppen. A nyomtatási feladat törléséhez adja ki a cancel sor-feladatszám vagy cancel -h cups.example.com sor-feladatszám parancsot.
Bizonyos adatok még a nyomtatási feladat sorból való törlése után is továbbítódhatnak a nyomtatóra. Ellenőrizze, hogy fut-e a sorért felelős CUPS háttérfolyamat és ha igen, állítsa le. Például a párhuzamos portra csatlakoztatott nyomtató esetében a fuser -k /dev/lp0 paranccsal szüntethető meg minden olyan folyamat, amelyik még mindig a nyomtatót (pontosabban a párhuzamos portot) próbálja elérni.
Állítsa teljesen alaphelyzetbe a nyomtatót: kapcsolja ki hosszabb időre. Ezután helyezzen bele papírt, majd kapcsolja újra be.
A CUPS nyomtatási rendszer problémái az alábbi eljárással kereshetők meg:
Állítsa be az /etc/cups/cupsd.conf fájlban a LogLevel debug paramétert.
Állítsa le a cupsd démont.
Törölje a /var/log/cups/error_log* fájlokat, hogy ne kelljen nagyon nagy naplófájlokban keresgélni.
Indítsa el a cupsd démont.
Ismételje meg a műveletet, ami a hibához vezetett.
Ellenőrizze a /var/log/cups/error_log* fájlokban található üzeneteket a probléma okának meghatározásához.
Számos speciális probléma megoldása megtalálható a SUSE támogatási adatbázisában (http://en.opensuse.org/Portal:Support_database). A vonatkozó cikkek kikereséséhez adja meg az SDB:CUPS keresési feltételt.