108.4 Lecke 1
Tanúsítvány: |
LPIC-1 |
---|---|
Verzió: |
5.0 |
Témakör: |
108 Alapvető rendszerszolgáltatások |
Fejezet: |
108.4 Nyomtatók menedzselése és nyomtatás |
Lecke: |
1/1 |
Bevezetés
A számítógépek megjelenése által előidézett “papírmentes társadalomról” szóló nyilatkozatok a mai napig hamisnak bizonyultak. Sok szervezet még mindig a nyomtatott, vagy “hard copy” információs oldalakra támaszkodik. Ezt szem előtt tartva láthatjuk, mennyire fontos, hogy egy számítógép-felhasználó tudja, hogyan nyomtathat egy rendszerből, valamint azt is, hogy egy rendszergazdának tudnia kell azt, hogy hogyan kell fenntartani a számítógép nyomtatókkal való együttműködési képességét.
A Linuxon, valamint számos más operációs rendszeren a Common Unix Printing System (CUPS) szoftvercsomag teszi lehetővé a nyomtatást és a nyomtatók kezelését. Az alábbiakban egy nagyon leegyszerűsített vázlatban bemutatjuk, hogyan kerül kinyomtatásra egy fájl Linuxon a CUPS segítségével:
-
A felhasználó megad egy nyomtatandó fájlt.
-
A CUPS daemon, a
cupsd
, ezután besorolja (spool) a nyomtatási feladatot. A nyomtatási feladatot a CUPS egy feladatszámmal és a nyomtatandó dokumentum nevével látja el, valamint azzal az információval, hogy melyik nyomtatási sorban van a feladat. -
A CUPS telepített szűrőket használ a nyomtató által használható formázott fájl létrehozásához.
-
A CUPS ezután elküldi az újraformázott fájlt a nyomtatónak nyomtatásra.
Ezeket a lépéseket részletesebben is megnézzük, valamint azt, hogyan telepíthetünk és kezelhetünk nyomtatót Linuxon.
A CUPS szolgáltatás
A legtöbb asztali Linux telepítésével együtt a CUPS csomagok is felkerülnek a rendszerre. A minimalista Linuxok esetén a disztribúciótól függően előfordulhat, hogy a CUPS csomagok nincsenek telepítve. Egy egyszerű CUPS telepítés Debian rendszerre a következő módon végezhető el:
$ sudo apt install cups
Fedora rendszereken a telepítési folyamat ugyanilyen egyszerű. A Fedora és más Red Hat-alapú disztribúciókon a telepítés után manuálisan kell elindítani a CUPS szolgáltatást:
$ sudo dnf install cups ... $ sudo systemctl start cups.service
A telepítés befejezése után a systemctl
parancs segítségével ellenőrizhetjük, hogy a CUPS szolgáltatás fut-e:
$ systemctl status cups.service ● cups.service - CUPS Scheduler Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 14:35:47 EDT; 41min ago Docs: man:cupsd(8) Main PID: 3136 (cupsd) Tasks: 2 (limit: 1119) Memory: 3.2M CGroup: /system.slice/cups.service ├─3136 /usr/sbin/cupsd -l └─3175 /usr/lib/cups/notifier/dbus dbus://
Mint sok más Linux-daemon, a CUPS is konfigurációs fájlokra támaszkodik a működésekor. Az alábbiakban felsoroljuk a rendszergazda számára legfontosabbakat:
/etc/cups/cupsd.conf
-
Ez a fájl magának a CUPS szolgáltatásnak a konfigurációs beállításait tartalmazza. A CUPS konfigurációs fájlja nagyon hasonlít az Apache webszerver konfigurációs fájljára, így ha azt már láttuk, akkor ismerős lehet az általa használt szintaxis. A
cupsd.conf
fájl olyan beállításokat tartalmaz, mint például a rendszerben használt különböző nyomtatási várólistákhoz való hozzáférés szabályozása, a CUPS webes felület engedélyezése, valamint a daemon által használt naplózás szintje. /etc/printcap
-
Ez az a legacy fájl, amelyet a CUPS megjelenése előtt az LPD (Line Printer Daemon) protokoll használt. A CUPS a visszamenőleges kompatibilitás érdekében továbbra is létrehozza ezt a fájlt a rendszereken és gyakran a
/run/cups/printcap
-ra mutató szimbolikus link. A fájl minden egyes sora egy olyan nyomtatót tartalmaz, amelyhez a rendszernek hozzáférése van. /etc/cups/printers.conf
-
Ez a fájl tartalmazza a CUPS-rendszer által használni kívánt nyomtatókat. Minden egyes nyomtató és a hozzá tartozó nyomtatási sor ebben a fájlban egy
<Printer></Printer>
keretbe van foglalva. Ez a fájl tartalmazza az/etc/printcap
állományban található egyedi nyomtatólistákat.WarningAz
/etc/cups/printers.conf
állományt nem szabad módosítani a parancssorban, amíg a CUPS szolgáltatás fut! /etc/cups/ppd/
-
Ez nem egy konfigurációs fájl, hanem egy mappa, amely a PostScript Printer Description (PPD) fájlokat tartalmazza az ezeket használó nyomtatók számára. Minden nyomtató működési képességeit egy PPD fájlban tárolja (a kiterjesztés
.ppd
). Ezek egyszerű szöveges fájlok, és egy meghatározott formátumot követnek.
A CUPS szolgáltatás ugyanúgy használja a logolást, mint az Apache 2 szolgáltatás. A logfájlok a /var/log/cups/'-ben tárolódnak, és tartalmaznak egy `access_log'-ot, egy `page_log'-ot és egy `error_log'-ot. Az `access_log
a CUPS webes felületéhez való hozzáférést, valamint az azon belül végrehajtott műveleteket, például a nyomtatók kezelését tartja nyilván. A page_log
a CUPS telepítés által kezelt nyomtatási sorokba beküldött nyomtatási feladatokat követi nyomon. Az error_log
a sikertelen nyomtatási feladatokról szóló üzeneteket és a webes felület által rögzített egyéb hibákat tartalmazza.
A következőkben a CUPS szolgáltatás kezeléséhez használt eszközöket és segédprogramokat fogjuk megvizsgálni.
A webes felület használata
Mint korábban említettük, az /etc/cups/cupsd.conf
konfigurációs fájl határozza meg, hogy a CUPS rendszer webes felülete engedélyezve van-e. A konfigurációs opció így néz ki:
# Web interface setting... WebInterface Yes
Ha a webes felület engedélyezve van, akkor a CUPS egy böngészőből kezelhető az alapértelmezett URL-címen: http://localhost:631
. Alapértelmezés szerint a rendszer egy felhasználója megtekintheti a nyomtatókat és a nyomtatási várólistákat, de a konfiguráció bármilyen módosításához root hozzáféréssel rendelkező felhasználónak kell hitelesítenie magát a webszolgáltatással. Az /etc/cups/cupsd.conf
fájlban a rendszergazdai képességekhez való hozzáférés korlátozására szolgáló konfigurációs rész a következőképp néz ki:
# All administration operations require an administrator to authenticate... <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default> AuthType Default Require user @SYSTEM Order deny,allow </Limit>
Az alábbiakban kifejtjük ezeket az opciókat:
AuthType Default
-
alapszintű hitelesítési kérést fog használni, ha egy művelet root hozzáférést igényel.
Require user @SYSTEM
-
jelzi, hogy a művelethez rendszergazdai jogosultságokkal rendelkező felhasználóra van szükség. Ez megváltoztatható
@groupname
-re, ahol agroupname
tagjai adminisztrálhatják a CUPS szolgáltatást, vagy az egyes felhasználók megadhatók egy listával, mint például aRequire user carol, tim
. Order deny,allow
-
hasonlóan működik, mint az Apache 2 konfigurációs opciója, ahol a művelet alapértelmezés szerint meg van tagadva, hacsak egy felhasználó (vagy egy csoport tagja) nincs hitelesítve.
A CUPS webes felülete letiltható, ha először leállítjuk a CUPS szolgáltatást, a WebInterface
opciót Yes
-ről No
-ra változtatjuk, majd újraindítjuk a CUPS szolgáltatást.
A CUPS webes felülete úgy épül fel, mint egy egyszerű weboldal, a CUPS rendszer különböző részeihez tartozó navigációs fülekkel. A webes felület fülei a következők:
- Home
-
A kezdőlapon megjelenik a CUPS aktuálisan telepített verziója. A CUPS-t olyan szakaszokra bontja, mint például:
- CUPS for Users
-
A CUPS leírása, parancssori lehetőségek a nyomtatókkal és nyomtatási várólistákkal való munkához, valamint a CUPS felhasználói fórumának linkje.
- CUPS for Administrators
-
A felületen linkeket biztosít a nyomtatók telepítéséhez és kezeléséhez, valamint a hálózati nyomtatókkal való munkával kapcsolatos információkhoz.
- CUPS for Developers
-
A CUPS fejlesztéséhez, valamint a nyomtatók PPD-fájljainak létrehozásához biztosít linkeket.
- Administration
-
Az adminisztrációs oldal szintén szekciókra van osztva:
- Printers
-
Itt a rendszergazda új nyomtatókat adhat hozzá a rendszerhez, megkeresheti a rendszerhez csatlakoztatott nyomtatókat, és kezelheti a már telepítetteket..
- Classes
-
Az osztályok olyan mechanizmusok, amelyek segítségével a nyomtatókat meghatározott házirendekkel rendelkező csoportokba lehet felvenni. Egy osztály például tartalmazhatja olyan nyomtatók csoportját, amelyek egy épület egy adott emeletéhez tartoznak, és amelyekről csak egy adott részleg felhasználói nyomtathatnak. Egy másik osztály korlátozhatja, hogy egy felhasználó hány oldalt nyomtathat. Az osztályok nem alapértelmezés szerint jönnek létre a CUPS telepítésénél, azokat a rendszergazdának kell definiálnia. A CUPS webes felületének ez az a része, ahol új osztályok hozhatók létre és kezelhetők.
- Jobs
-
Itt a rendszergazda megtekintheti az összes nyomtatási feladatot, amely jelenleg sorban áll az összes olyan nyomtatón, amelyet ez a CUPS telepítés kezel.
- Server
-
Itt a rendszergazda módosíthatja az
/etc/cups/cupsd.conf
fájlt. További konfigurációs lehetőségek is rendelkezésre állnak jelölőnégyzeteken keresztül, például a CUPS-telepítéshez csatlakoztatott nyomtatók hálózaton való megosztásának engedélyezése, a fejlett hitelesítés és a nyomtatók távoli felügyeletének engedélyezése.
- Classes
-
Ha a rendszerben vannak nyomtatóosztályok konfigurálva, akkor azok ezen az oldalon lesznek felsorolva. Minden nyomtatóosztályban lehetőség van az osztályba tartozó összes nyomtató egyidejű kezelésére, valamint az adott osztályba tartozó nyomtatókon várakozó összes feladat megtekintésére.
- Help
-
Ez a fül a rendszerre telepített CUPS összes elérhető dokumentációjának linkjeit tartalmazza.
- Jobs
-
Ez a fül lehetővé teszi az egyes nyomtatási feladatok keresését, valamint a szerver által kezelt összes aktuális nyomtatási feladat listázását.
- Printers
-
Ezen a fülön a rendszer által jelenleg kezelt összes nyomtatót, valamint az egyes nyomtatók állapotának gyors áttekintését találjuk meg. A felsorolt nyomtatókra kattintva a rendszergazda arra az oldalra jut, ahol az adott nyomtatót tovább lehet kezelni. Az ezen a fülön található nyomtatókra vonatkozó információk az
/etc/cups/printers.conf
fájlból származnak.
Nyomtató telepítése
Egy nyomtató hozzáadása a rendszerhez egyszerű folyamat a CUPS webes felületén:
-
Kattintsunk az Administration fülre és az Add Printer gombra!
-
A következő oldalon különböző beállítási lehetőségek jelennek meg attól függően, hogy a nyomtató hogyan van csatlakoztatva a rendszerhez. Ha helyi nyomtatóról van szó, válasszuk ki a legmegfelelőbb opciót, például azt, hogy a nyomtató melyik porthoz van csatlakoztatva, vagy azt, hogy milyen harmadik féltől származó nyomtatószoftver van telepítve. A CUPS megpróbálja felismerni a hálózathoz csatlakoztatott nyomtatókat is, és azokat is itt jeleníti meg. A hálózati nyomtatóhoz való közvetlen csatlakozási lehetőséget is kiválaszthatjuk attól függően, hogy a nyomtató milyen hálózati nyomtatási protokollokat támogat. Válasszuk ki a megfelelő opciót, és kattintsunk a Continue gombra!
-
A következő oldalon megadhatjuk a nyomtató nevét, leírását és helyét (például “hátsó iroda” vagy “első asztal” stb.). Ha szeretnénk megosztani a nyomtatót a hálózaton keresztül, akkor ezen az oldalon bejelölhetjük az erre vonatkozó jelölőnégyzetet is. A beállítások megadása után kattintsunk a Continue gombra!
-
A következő oldalon a nyomtató gyártmánya és modellje választható ki. Ez lehetővé teszi a CUPS számára, hogy a helyileg telepített adatbázisában keresse meg a nyomtatóval használható legmegfelelőbb illesztőprogramokat és PPD-fájlokat. Ha rendelkezésünkre áll a nyomtató gyártója által biztosított PPD-fájl, keressük meg annak helyét, és válasszuk ki itt a használathoz! Ha ez megtörtént, kattintsunk az Add Printer gombra!
-
Az utolsó oldalon állíthatjuk be az alapértelmezett beállításokat, például a nyomtató által használt oldalméretet és az oldalra nyomtatott karakterek felbontását. Kattintsunk a Set Default Options gombra, és a nyomtató máris telepítve van!
Note
|
A Linux számos asztali verziója rendelkezik különböző eszközökkel, amelyekkel nyomtatót lehet telepíteni. A GNOME és a KDE asztali környezetek saját beépített alkalmazásokkal rendelkeznek, amelyek a nyomtatók telepítésére és kezelésére használhatók. Emellett egyes disztribúciók külön nyomtatókezelő alkalmazásokat is biztosítanak. Ha azonban olyan szerverről van szó, amelyet sok felhasználó fog nyomtatásra használni, a CUPS webes felülete nyújtja a legjobb eszközöket a feladathoz. |
A nyomtató a hagyományos LPD/LPR parancsok segítségével is telepíthető. Íme egy példa az lpadmin
parancs használatára:
$ sudo lpadmin -p ENVY-4510 -L "office" -v socket://192.168.150.25 -m everywhere
A parancsot részekre bontjuk, hogy szemléltetni tudjuk az itt használt kapcsolókat:
-
Mivel a nyomtató hozzáadása a rendszerhez rendszergazdai jogosultságokkal rendelkező felhasználót igényel, az
lpadmin
parancs elé asudo
parancsot illesztjük. -
A
-p
kapcsoló a nyomtatási feladatok célállomása. Lényegében egy barátságos név a felhasználó számára, hogy tudja, hová kerülnek a nyomtatási feladatok. Általában megadhatjuk a nyomtató nevét. -
Az
-L
kapcsoló a nyomtató helyét adja meg. Ez nem kötelező, de hasznos, ha több nyomtatót kell kezelniünk különböző helyeken. -
A
-v
kapcsoló a nyomtató eszköz URI-jét adja meg. A CUPS nyomtatási várólistának az eszköz URI-jára van szüksége ahhoz, hogy a nyomtatási feladatokat egy adott nyomtatóra küldje. Példánkban egy hálózati helyet használunk a megadott IP-cím segítségével. -
Az utolsó kapcsoló, az
-m
, az “everywhere” (mindenhol) értékre van állítva. Ez beállítja a nyomtató modelljét, hogy a CUPS meghatározhassa, melyik PPD-fájlt kell használni. A CUPS modern verzióiban célszerű az “everywhere” opciót használni, hogy a CUPS ellenőrizni tudja az eszköz URI-ját (az előző-v
opció), hogy automatikusan meghatározza a nyomtatóhoz használandó PPD fájlt. A modern helyzetekben a CUPS egyszerűen az IPP-t használja az alábbiakban ismertetett módon.
Mint korábban említettük, a legjobb, ha hagyjuk, hogy a CUPS automatikusan meghatározza, hogy melyik PPD-fájlt használja egy adott nyomtatóhoz. Az lpinfo
parancs azonban használható a helyileg telepített PPD-fájlok lekérdezésére, hogy lássuk, melyek állnak rendelkezésre. Csak adjuk meg a telepíteni kívánt nyomtató --make-and-model
kapcsolóját és az -m
kapcsolót:
$ lpinfo --make-and-model "HP Envy 4510" -m hplip:0/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:1/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 hplip:2/ppd/hplip/HP/hp-envy_4510_series-hpijs.ppd HP Envy 4510 Series hpijs, 3.17.10 drv:///hpcups.crv/hp-envy_4510_series.ppd HP Envy 4510 Series, hpcups 3.17.10 everywhere IPP Everywhere
Vegyük figyelembe, hogy az lpinfo
parancs elavult (deprecated). A példában látható, hogy felsorolja, milyen nyomtatóillesztő-programfájlokat használhat egy nyomtató.
Warning
|
A CUPS jövőbeli verziói már nem tartalmaznak elavult drivereket, helyettük az IPP (Internet Printing Protocol) és a szabványos fájlformátumok használatára összpontosítanak. Az előző parancs kimenete ezt az |
Az alapértelmezett nyomtatót az lpoptions
paranccsal lehet beállítani. Így, ha a nyomtatási feladatok többségét (vagy mindegyikét) egy adott nyomtatóra küldjük, akkor az lpoptions
paranccsal megadott nyomtató lesz az alapértelmezett. Csak adjuk meg a nyomtatót a -d
kapcsolóval együtt:
$ lpoptions -d ENVY-4510
Nyomtatók menedzselése
A nyomtató telepítése után a rendszergazda a webes felület segítségével kezelheti a nyomtatóhoz rendelkezésre álló beállításokat. A nyomtató kezelésének közvetlenebb módja az lpadmin
parancs használata.
Az egyik lehetőség a nyomtató megosztásának lehetővé tétele a hálózaton. Ezt a printer-is-shared
opcióval lehet elérni, illetve a -p
opció és a nyomtató megadásával:
$ sudo lpadmin -p FRONT-DESK -o printer-is-shared=true
A rendszergazda úgy is beállíthatja a nyomtatót, hogy csak bizonyos felhasználóktól fogadjon el nyomtatási feladatokat, az egyes felhasználókat vesszővel elválasztva:
$ sudo lpadmin -p FRONT-DESK -u allow:carol,frank,grace
Fordítva, meg is lehet tagadni csak bizonyos felhasználók számára a hozzáférést egy adott nyomtatási:
$ sudo lpadmin -p FRONT-DESK -u deny:dave
A felhasználói csoportok arra is használhatók, hogy engedélyezzék vagy megtagadják a hozzáférést egy nyomtató várólistájához, feltéve, hogy a csoport neve előtt egy “kukac” (@
) karakter áll:
$ sudo lpadmin -p FRONT-DESK -u deny:@sales,@marketing
A nyomtató rendelkezhet error policyval (hibaházirend) is, ha egy feladat nyomtatásával kapcsolatban problémák merülnek fel. A házirendek használatával a nyomtatási feladatot meg lehet szakítani (abort-job
), vagy egy későbbi időpontban újra meg lehet próbálni kinyomtatni (retry-job
). További házirendek közé tartozik a nyomtató azonnali leállítása hiba esetén (stop-printer
), valamint a hiba észlelése utáni azonnali újbóli próbálkozás lehetősége (retry-current-job
). Íme egy példa, ahol a nyomtató policyje úgy van beállítva, hogy a nyomtatási feladatot megszakítja, ha a FRONT-DESK
nyomtatón hiba lép fel:
$ sudo lpadmin -p FRONT-DESK -o printer-error-policy=abort-job
A parancs használatával kapcsolatos további részletekért olvassuk el az lpadmin
parancs man oldalait az lpadmin(8)
címen!
Nyomtatási feladatok megadása
Sok asztali alkalmazás lehetővé teszi a nyomtatási feladatok elküldését egy menüpontból vagy a Ctrl+p billentyűparancs segítségével. Ha olyan Linux rendszerben találjunk magunkat, amely nem használ asztali környezetet, akkor a hagyományos LPD/LPR parancsok segítségével továbbra is küldhetünk fájlokat nyomtatóra.
Az lpr
(“line printer remote”) paranccsal nyomtatási feladatot küldhetünk egy nyomtató várólistájára. A parancs legalapvetőbb formájában csak egy fájlnévre és az lpr
parancsra van szükség:
$ lpr report.txt
A fenti parancs a report.txt
fájlt a rendszer alapértelmezett nyomtatási sorába küldi (ahogyan azt a /etc/cups/printers.conf
fájl azonosítja).
Ha egy CUPS-ban több nyomtató van telepítve, akkor az lpstat
paranccsal ki lehet listázni a rendelkezésre álló nyomtatókat a -p
kapcsolóval, és a -d
kapcsolóval meg lehet nézni, hogy melyik az alapértelmezett nyomtató:
$ lpstat -p -d printer FRONT-DESK is idle. enabled since Mon 03 Aug 2020 10:33:07 AM EDT printer PostScript_oc0303387803 disabled since Sat 07 Mar 2020 08:33:11 PM EST - reason unknown printer ENVY-4510 is idle. enabled since Fri 31 Jul 2020 10:08:31 AM EDT system default destination: ENVY-4510
Tehát a példánkban a report.txt
fájl az ENVY-4510
nyomtatóra kerül elküldésre, mivel ez az alapértelmezett. Ha a fájlt egy másik nyomtatón szeretnénk kinyomtatni, adjuk meg a nyomtatót a -P
kapcsolóval együtt:
$ lpr -P FRONT-DESK report.txt
Amikor egy nyomtatási feladatot elküldünk a CUPS-nek, a daemon megfejti, hogy melyik backend a legalkalmasabb a feladat kezelésére. A CUPS különböző nyomtatóillesztőket, szűrőket, hardverport-monitorokat és egyéb szoftvereket használhat a dokumentum megfelelő megjelenítéséhez. Előfordulhat, hogy a dokumentumot nyomtató felhasználónak módosítania kell a dokumentum nyomtatásának módjának kinyomtatását. Ezt a feladatot sok grafikus alkalmazás meglehetősen megkönnyíti. Vannak parancssori opciók is, amelyekkel megváltoztatható a dokumentum nyomtatási módja. Amikor egy nyomtatási feladatot a parancssoron keresztül küldünk el, a -o
kapcsoló (az "`opciók" szó rövidítése) használható bizonyos kifejezésekkel együtt a dokumentum nyomtatási elrendezésének beállításához. Az alábbiakban a gyakran használt kapcsolók rövid listája látható:
landscape
-
A dokumentumot úgy nyomtatja ki, hogy az oldalt az óramutató járásával megegyező irányban 90 fokkal elforgatja. Az
orientation-requested=4
kapcsolóval ugyanezt az eredményt érjük el. two-sided-long-edge
-
A nyomtató a dokumentumot portré módban nyomtatja ki a papír mindkét oldalára, feltéve, hogy a nyomtató támogatja ezt a funkciót.
two-sided-short-edge
-
A nyomtató a dokumentumot landscape (fektetett) módban nyomtatja ki a papír mindkét oldalára, feltéve, hogy a nyomtató támogatja ezt a funkciót.
media
-
A nyomtató a megadott méretben nyomtatja ki a dokumentumot. A nyomtatási feladathoz rendelkezésre álló méretek a nyomtatótól függnek, de az alábbiakban felsoroljuk a leggyakoribbakat:
Méret Cél A4
ISO A4
Letter
US Letter
Legal
US Legal
DL
ISO DL Envelope
COM10
US #10 Envelope
collate
-
A kinyomtatott dokumentumok csoportosítása. Ez akkor hasznos, ha egy többoldalas dokumentumot többször is kinyomtatunk, mivel ekkor az egyes dokumentumok összes oldala sorrendben kerül kinyomtatásra. Állítsuk ezt a kapcsolót
true
-ra, hogy engedélyezzük, vagyfalse
-ra, hogy letiltsuk. page-ranges
-
Ezzel a kapcsolóval egyetlen nyomtatandó oldal vagy egy dokumentumból kinyomtatandó oldalak egy adott csoportja választható ki. Például: a nyomtatáshoz szükséges oldalak száma:
-o page-ranges=5-7,9,15
. Ez az 5., 6. és 7. oldalt, majd a 9. és 15. oldalt nyomtatná ki. fit-to-page
-
Úgy nyomtatja ki a dokumentumot, hogy a fájl a papírra méretezett legyen. Ha a nyomtatandó fájlban nincs információ az oldalméretről, előfordulhat, hogy a nyomtatási feladatot helytelenül méretezi, és a dokumentum egyes részei nem férnek rá a lapra, vagy a dokumentum túl kicsi lesz a lapon.
outputorder
-
A dokumentum nyomtatása
fordított
vagynormál
sorrendben, hogy a nyomtatás az első oldallal kezdődjön. Ha egy nyomtató az oldalakat lefelé fordítva nyomtatja, akkor az alapértelmezett sorrend-o outputorder=normal
, míg azok a nyomtatók, amelyek az oldalakat felfelé fordítva nyomtatják,-o outputorder=reverse
sorrendben nyomtatnak.
A fenti opciókból kiindulva a következő példaparancsot állíthatjuk össze:
$ lpr -P ACCOUNTING-LASERJET -o landscape -o media=A4 -o two-sided-short-edge finance-report.pdf
Egy dokumentumból egynél több példány nyomtatható ki a number kapcsoló használatával a következő formátumban: -#N
, ahol az N
egyenlő a nyomtatandó példányok számával. Íme egy példa a collate kapcsolóval, ahol egy jelentés hét példányát kell kinyomtatni az alapértelmezett nyomtatón:
$ lpr -#7 -o collate=true status-report.pdf
Az lpr
parancs mellett az lp
parancs is használható. Az lpr
paranccsal használható kapcsolók közül sokan használhatók az lp
paranccsal is, de van néhány különbség. Mindenképpen nézzük meg az lp(1)
man oldalt! Az alábbiakban bemutatjuk, hogyan futtathatjuk az előző lpr
parancsot az lp
parancs szintaxisával, miközben a -d
opcióval megadjuk a célnyomtatót is:
$ lp -d ACCOUNTING-LASERJET -n 7 -o collate=true status-report.pdf
Nyomtatási feladatok menedzselése
Amint korábban említettük, a nyomtatási sorba beküldött minden egyes nyomtatási feladat kap egy feladatazonosítót a CUPS-tól. A felhasználó az lpq
paranccsal megtekintheti az általa beküldött nyomtatási feladatokat. Az -a
kapcsoló megadásával a CUPS telepítés által kezelt összes nyomtató nomtatási sorát megjeleníti:
$ lpq -a Rank Owner Job File(s) Total Size 1st carol 20 finance-report.pdf 5072 bytes
A korábban használt lpstat
parancsnak van egy olyan kapcsolója is, amellyel a nyomtatási listákat lehet megtekinteni. Az -o
kapcsoló önmagában megmutatja az összes nyomtatási várólistát, vagy megadhatjuk a lista nevét is:
$ lp -o ACCOUNTING-LASERJET-4 carol 19456 Wed 05 Aug 2020 04:29:44 PM EDT
A nyomtatási feladat azonosítója elé kerül annak a sornak a neve, ahová a feladatot küldték, majd a feladatot elküldő felhasználó neve, a fájl mérete és a küldés időpontja.
Ha egy nyomtatási feladat elakad a nyomtatón, vagy a felhasználó szeretné törölni a nyomtatási feladatát, használhatjuk az lprm
parancsot az lpq
parancsból kapott munkaazonosítóval együtt:
$ lprm 20
A nyomtatási sorban lévő összes feladat egyszerre törölhető, ha csak egy kötőjelet (-
) adunk meg:
$ lprm -
Alternatívaként a CUPS cancel
parancsát is használhatja a felhasználó az aktuális nyomtatási feladat leállítására:
$ cancel
Egy adott nyomtatási feladatot a nyomtató nevével előtagolt feladat azonosítójával lehet törölni:
$ cancel ACCOUNTING-LASERJET-20
Egy nyomtatási feladatot át is lehet helyezni egyik nyomtatási sorból a másikba. Ez gyakran hasznos, ha egy nyomtató nem reagál, vagy ha a nyomtatandó dokumentum egy másik nyomtatón elérhető funkciókat igényel. Vegyük figyelembe, hogy ehhez az eljáráshoz általában emelt jogosultságú felhasználóra van szükség. Az előző példában szereplő nyomtatási feladatot a FRONT-DESK
nyomtató várólistájába helyezhetjük át:
$ sudo lpmove ACCOUNTING-LASERJET-20 FRONT-DESK
Nyomtatók eltávolítása
Egy nyomtató eltávolításához gyakran hasznos lehet, ha először felsoroljuk a CUPS szolgáltatás által jelenleg kezelt összes nyomtatót. Ezt az lpstat
paranccsal lehet megtenni:
$ lpstat -v device for FRONT-DESK: socket://192.168.150.24 device for ENVY-4510: socket://192.168.150.25 device for PostScript_oc0303387803: ///dev/null
A -v
kapcsoló nem csak a nyomtatókat sorolja fel, hanem azt is, hogy hol (és hogyan) vannak csatlakoztatva. Jó gyakorlat, ha először elutasítjuk a nyomtatóra érkező új feladatokat, és megadjuk az okát, hogy a nyomtató miért nem használható. Ezt a következőkkel lehet megtenni:
$ sudo cupsreject -r "Printer to be removed" FRONT-DESK
Vegyük észre a sudo
használatát, mivel ehhez a feladathoz emelt jogosultságú felhasználóra van szükség!
A nyomtató eltávolításához az lpadmin
parancsot használjuk az -x
kapcsolóval:
$ sudo lpadmin -x FRONT-DESK
Gyakorló feladatok
-
Egy új nyomtatót telepítettek az
office-mgr
nevű helyi munkaállomásra. Milyen paranccsal lehet ezt a nyomtatót alapértelmezettként beállítani ezen a munkaállomáson? -
Melyik parancs és kapcsolója használható annak meghatározására, hogy milyen nyomtatók állnak rendelkezésre a munkaállomásról történő nyomtatáshoz?
-
A
cancel
parancs segítségével hogyan távolíthatunk el egy olyan nyomtatási feladatot, aminek 15 az ID-je és ami azoffice-mgr
nevű nyomtató sorában ragadt? -
A nyomtatási feladatot olyan nyomtatóra küldtük, amiben nincs elég papír a teljes fájl kinyomtatásához. Milyen parancsot használhatunk ahhoz, hogy a
FRONT-DESK
nyomtatón nyomtatásra váró 2. azonosítójú nyomtatási feladatot átrakjuk azACCOUNTING-LASERJET
nyomtató nyomtatási sorába?
Gondolkodtató feladatok
A disztribúció csomagkezelőjének segítségével telepítsük a cups
és a printer-driver-cups-pdf
csomagokat! Vegyük figyelembe, hogy ha Red Hat alapú disztribúciót használunk (például Fedora), akkor a CUPS PDF-illesztőprogram neve cups-pdf
. Telepítsük a cups-client
csomagot is a System V típusú nyomtatási parancsok használatához! Ezeket a csomagokat arra fogjuk használni, hogy gyakoroljuk egy CUPS nyomtató kezelését anélkül, hogy fizikailag telepítenénk egy valódi nyomtatót.
-
Ellenőrizzük, hogy a CUPS daemon fut-e, majd azt is, hogy a PDF nyomtató engedélyezve és alapértelmezettre van-e állítva!
-
Futtassunk egy parancsot, amely kinyomtatja az
/etc/services
fájlt! Most már kell, hogy legyen egyPDF
nevű mappánk a home mappában. -
Használjunk egy olyan parancsot, amely csak a nyomtatót tiltja le, majd futtassunk egy másik parancsot, amely minden állapotinformációt megjelenít, hogy ellenőrizzük, hogy a PDF nyomtató le van-e tiltva! Ezután próbáljuk meg kinyomtatni az
/etc/fstab
fájl másolatát. Mi történik? -
Most próbáljuk meg elküldeni az
/etc/fstab
fájl egy példányát a PDF nyomtatónak! Mi történik? -
Vonjuk vissza a nyomtatási feladatot, majd távolítsuk el a PDF nyomtatót!
Összefoglalás
A CUPS daemon egy széles körben használt platform a helyi és távoli nyomtatókra történő nyomtatáshoz. Bár felváltja a régi LPD protokollt, mégis biztosítja az eszközök visszafelé kompatibilitását.
A leckében az alábbi fájlokat és parancsokat tárgyaltuk:
/etc/cups/cupsd.conf
-
A CUPS szolgáltatás elsődleges konfigurációs fájlja. Ez a fájl szabályozza a CUPS webes felületéhez való hozzáférést is.
/etc/printcap
-
Az LPD által használt legacy fájl, amely minden egyes, a rendszerhez csatlakoztatott nyomtatóhoz tartalmaz egy sort.
/etc/cups/printers.conf
-
A CUPS által a nyomtatóval kapcsolatos információkhoz használt konfigurációs fájl.
A CUPS webes felülete, amely alapértelmezett telepítés esetén a http://localhost:631
címen található. Ne feledjük, hogy a webes felület alapértelmezett hálózati portja a 631/TCP!
Az alábbi legacy LPD/LPR parancsokról szintén volt szó:
lpadmin
-
Nyomtatók és nyomtatóosztályok telepítésére és eltávolítására szolgál.
lpoptions
-
A nyomtató beállításainak megjelenítésére és a nyomtató beállításainak módosítására szolgál.
lpstat
-
A CUPS telepítéshez csatlakoztatott nyomtatók állapotinformációinak megjelenítésére szolgál.
lpr
-
Nyomtatási feladatok elküldése a nyomtatási sorba.
lp
-
Nyomtatási feladatok elküldése a nyomtatási sorba.
lpq
-
A nyomtatási sorban lévő nyomtatási feladatok felsorolása.
lprm
-
Nyomtatási feladatok törlése azonosító szerint. A feladatok azonosítóját az
lpq
parancs kimenetéből lehet megtudni. cancel
-
Az
lprm
parancs alternatívája a nyomtatási feladatok törlésére azok azonosítója alapján.
Mindenképpen olvassuk el a következő man oldalakat a cups különböző eszközeiről és segédprogramjairól: lpadmin(8)
, lpoptions(1)
, lpr(1)
, lpq(1)
, lprm(1)
, cancel(1)
, lpstat(1)
, cupsenable(8)
és cupsaccept(8)
! Az online súgó dokumentációjának áttekintése a http://localhost:631/help
címen szintén ajánlott.
Válaszok a gyakorló feladatokra
-
Egy új nyomtatót telepítettek az
office-mgr
nevű helyi munkaállomásra. Milyen paranccsal lehet ezt a nyomtatót alapértelmezettként beállítani ezen a munkaállomáson?$ lpoptions -d office-mgr
-
Melyik parancs és kapcsolója használható annak meghatározására, hogy milyen nyomtatók állnak rendelkezésre a munkaállomásról történő nyomtatáshoz?
$ lpstat -p
A
-p
kapcsoló felsorolja az összes elérhető nyomtatót és azt, hogy engedélyezve vannak-e. -
A
cancel
parancs segítségével hogyan távolíthatunk el egy olyan nyomtatási feladatot, aminek 15 az ID-je és ami azoffice-mgr
nevű nyomtató sorában ragadt?$ cancel office-mgr-15
-
A nyomtatási feladatot olyan nyomtatóra küldtük, amiben nincs elég papír a teljes fájl kinyomtatásához. Milyen parancsot használhatunk ahhoz, hogy a
FRONT-DESK
nyomtatón nyomtatásra váró 2. azonosítójú nyomtatási feladatot átrakjuk azACCOUNTING-LASERJET
nyomtató nyomtatási sorába?$ sudo lpmove FRONT-DESK-2 ACCOUNTING-LASERJET
Válaszok a gondolkodtató feladatokra
A disztribúció csomagkezelőjének segítségével telepítsük a cups
és a printer-driver-cups-pdf
csomagokat! Vegyük figyelembe, hogy ha Red Hat alapú disztribúciót használunk (például Fedora), akkor a CUPS PDF-illesztőprogram neve cups-pdf
. Telepítsük a cups-client
csomagot is a System V típusú nyomtatási parancsok használatához! Ezeket a csomagokat arra fogjuk használni, hogy gyakoroljuk egy CUPS nyomtató kezelését anélkül, hogy fizikailag telepítenénk egy valódi nyomtatót.
-
Ellenőrizzük, hogy a CUPS daemon fut-e, majd azt is, hogy a PDF nyomtató engedélyezve és alapértelmezettre van-e állítva!
A PDF nyomtató elérhetőségének és státuszának ellenőrzésére az egyik lehetőségünk például az alábbi parancs futtatása:
$ lpstat -p -d printer PDF is idle. enabled since Thu 25 Jun 2020 02:36:07 PM EDTi system default destination: PDF
-
Futtassunk egy parancsot, amely kinyomtatja az
/etc/services
fájlt! Most már kell, hogy legyen egyPDF
nevű mappánk a home mappában.$ lp -d PDF /etc/services
Mostantól a PDF mappában lesz a fájl PDF változata.
-
Használjunk egy olyan parancsot, amely csak a nyomtatót tiltja le, majd futtassunk egy másik parancsot, amely minden állapotinformációt megjelenít, hogy ellenőrizzük, hogy a PDF nyomtató le van-e tiltva! Ezután próbáljuk meg kinyomtatni az
/etc/fstab
fájl másolatát. Mi történik?$ sudo cupsdisable PDF
Ez letiltja a nyomtatót.
Ezután futtassuk az
lpstat -t
parancsot, hogy teljes képet kapjunk a nyomtató állapotáról. Ennek az alábbi kimenethez hasonlóan kell kinéznie:$ scheduler is running system default destination: PDFi device for PDF: cups-pdf:/ PDF accepting requests since Wed 05 Aug 2020 04:19:15 PM EDTi printer PDF disabled since Wed 05 Aug 2020 04:19:15 PM EDT - Paused
-
Most próbáljuk meg elküldeni az
/etc/fstab
fájl egy példányát a PDF nyomtatónak! Mi történik?Az
lp -d PDF /etc/fstab
parancs kiadása után meg kell kapnunk a feladat azonosítóját. Ha azonban megnézzük a PDF mappát a home mappánkban, az új fájl nincs ott. Ezután azlpstat -o
paranccsal ellenőrizhetjük a nyomtatási sort, és ott megtalálhatjuk a feladatot. -
Vonjuk vissza a nyomtatási feladatot, majd távolítsuk el a PDF nyomtatót!
Az előző
lp
parancs kimenete alapján töröljük a feladatot acancel
paranccsal. Például:$ cancel PDF-4
Majd futtassuk az
lpstat -o
parancsot, hogy meggyőződjünk arról, hogy valóban törölve lett a feladat.Töröljük a PDF nyomtatót az alábbival:
sudo lpadmin -x PDF
, majd így győződjünk meg arról, hogy a nyomtatót törlésre került:lpstat -a
.