Néhány Linux disztribúció nyomtatási alrendszere olyan beállításokkal szokott települni, hogy hogy nem ismeri fel az KLjettool PJL fájljainak formátumát, és megpróbálja értelmezni a fájlok tartalmát a telepített szűrők segítségével. Ennek következtében a KLjettool nem az elvárt módon működik.
Az alábbiakban összefoglaljuk azokat a lépéseket, amelyek a KLjettool működésének biztosításához szükségesek 5.0-s vagy korábbi Red Hat Linux rendszerekben (az ennél újabb verzióknál ezek a lépések már nem kellenek). Feltehetően más disztribúcióknál is hasonló a helyzet. A végrehajtandó lépéseket könnyű elvégezni, csak az a cél, hogy a nyomtatási alrendszer a kapott PJL fájlokat módosítás nélkül továbbküldje a nyomtatóra.
A régi Red Hat Linux rendszerek tehát nem ismerik fel a PJL fájlokat egy alapértelmezett telepítés után, és megpróbálják a beállítások alapján módosítani az elküldött adatokat. Azt kell elérnünk, hogy a PJL fájlokat engedje tovább a rendszer. Mielőtt azonban végrehajtaná a javasolt módosításokat, győződjön meg arról, hogy a KLjettool valóban nem működik-e a rendszerben. A legtöbb disztribúció mostanra már felfrissítette a nyomtatási rendszerét.
A régi Red Hat disztribúcióhoz hasonló más disztribúciók nyomtatási alrendszerét feltehetően hasonló módon lehet "megtanítani" a PJL (Printer Job Language) fájlok helyes kezelésére.
A Red Hat rendszerekben a /var/spool/lpd/lp/filter szkript fut le minden alkalmommal a(z) /etc/printcap fájlból indítva, ha nyomtatás történik az 'lpr' parancs segítségével. A szűrő a 'file' nevű parancsot hívja meg a nyomtatási adatfájlra, mely visszajelzi a 'filter' alkalmazásnak az adatfájl formátumát. Ezután az adatfájl formátumának megfelelő alkalmazás fog elindulni, hogy a nyomtató számára értelmezhető módon konvertálja át az adatokat. A 'file' alkalmazás a /etc/magic fájl használatával dönti el, hogy a nyomtatandó dokumentum milyen formátumú ( pl. PostScript, dvi, egyszerű szöveg stb. ).
Például, ha egy teszt.ps nevű PostScript dokumentumot kell kinyomtatni, a file segédprogram jelzi a 'filter' szkriptnek, hogy a fájl PostScript formátumú. Ennek hatására a 'filter' elindítja a ghostscript programot, hogy az átkonvertálja a teszt.ps fájlt PCL 5 formátumba (melyet a LaserJet nyomtatók közvetlenül képesek kezelni). Az így átalakított dokumentum kerül ki a nyomtatóra.
Sajnos a régi Red Hat rendszerekben nincs definiálva a PJL fájltípus, ezért a nyomtatási rendszer megpróbálkozik mindenféle konvertálással, ahelyett, hogy módosítás nélkül kiküldené az adatokat a nyomtatóra.
A hiba kijavításához a következő két tennivaló elvégzése szükséges:
Adjon hozzá egy új sort a(z) /etc/magic fájlhoz, hogy a 'file' program felismerje a PJL fájlok formátumát.
Egyszerűen másolja át az alábbi két sort az Ön rendszerének /etc/magic fájljába. Teljesen mindegy, hogy a(z) /etc/magic fájlon belül hol szerepel ez a két sor.
# HP Printer Job Language, Bernd Wuebben (wuebben@math.cornell.edu) 0 string \033%-12345X HP PJL printer commands |
A(z) /var/spool/lpd/lp/filter szkriptnek meg kell mondani, hogy milyen parancsot kell végrehajtani PJL fájlok esetén. Ehhez az alábbi két sort kell a 'filter' szkripthez hozzáfűzni:
*pjl* ) startpnt="INPUT-to-prdata";; |
Ha megnézi a szkript tartalmát, rögtön észre fogja venni, hogy hová kell beilleszteni a sorokat ( az én verziómban a 220. sor tájékán). A kiegészítés hatására a nyomtatóprogram a PJL fájlokat konvertálás nélkül fogja kiküldeni a nyomtatóra.
Mellékeltem a saját rendszerem filter szkriptjét és /etc/magic fájlját. Használhatja ezeket is, ha a módosítás nem sikerülne. A fájlok ugyanabban a könyvtárban találhatók, ahol ez a dokumentációs fájl.
Örömmel fogadom, ha valaki megírja, hogy más disztribúciókban milyen, a fentiektől esetleg eltérő módon sikerült a szükséges változtatásokat végrehajtani.