Boken Om Linux/Kapittel 14

14: Utskrift fra Linux

rediger

I dette kapitlet går jeg gjennom hvordan du setter opp utskriftssystemet i Linux, start/stopp av utskriftssystemet, hvordan du tar utskrift og hvordan du stopper utskrifter.

Utskriftssystemet i Linux

rediger

Hver gang du sender utskrift til skriver i Linux, sendes filen til et spoolingområde. Spoolingsystemet administrerer samtlige utskrifter. SPOOL står for Simultaneous Peripheral Operations On Line. Hver fil blir behandlet sekvensielt etter hverandre. Utskriftssystemet gjør det mulig å sende flere jobber til utskrift samtidig. Dette systemet gir deg muligheten til å arbeide videre med noe annet når en jobb er sendt til utskrift.

Definere utskriftssystemet

rediger

I Unix-verdenen hadde man tidligere to forskjellige utskriftssystemer AT&T og BSD. Disse to systemene er noe forskjellige, men de gjør omtrent det samme for brukeren. AT&Ts utskriftssystem er det mest fleksible utskriftssystemet. BSD er enklere å bruke og var det som fulgte med Linux som standard tidligere. Restene av både AT&T og BSD utskriftssystemene finnes i dag i form av utskrifts-kommandoene som Linux benytter seg av. Noen av disse kommandoene går vi gjennom i dette kapittelet.

CUPS (Common Unix Printing System) er ny felles utskriftsstandard for både Linux og Unix. Mer informasjon på CUPS finner på http://www.cups.org. CUPS er basert på standarden IPP (Internet Printing Protocol) som i dag har blitt en De Jure basert standard. Med protokollen IPP har man laget et entydige grensesnitt mot skrivermiljøet som blant annet består utskriftsegenskaper, statusinformasjon på utskrift, opp/ned kjøring av kø, kansellering av skriverjobber etc. I tillegg til å støtte IPP har CUPS også støtte for lpd (Line Printer Daemon), SMB (Server Meassage Block), HP JetDirect og Novell NCP. CUPS støtter i dag de fleste av BSD og AT&T (System V) sine gamle utskriftskommandoer. Det beste med CUPS er at du kan søke i nettverket etter skrivere. Dette gjør du enkelt med system-config-printer eller Yast2.

Etter en normal installasjon av Fedora, SuSE eller Red Hat vil CUPS utskriftssystemet automatisk starte opp. Dette kan du sjekke med kommandoen:

[elboth@nittedal elboth]$ ps ax | grep | cups

Hvis CUPS serverprosessen kjører vil du se den som cupsd. CUPS utskriftssystemet (/usr/bin/lpr.cups) kan du starte opp med kommandoen:

[root@nittedal /root]# /sbin/service cups start

Du kjører ned CUPS utskriftssystemet (/usr/bin/lpr.cups) med kommandoen:

[root@nittedal /root]# /sbin/service cups stop

CUPS har også støtte for lpd (Line Printer Daemon). Ønsker du denne støtten må du installer lpd og LPRng (LPRng - /usr/bin/lpr.LPRng). Til Fedora og Red Hat finnes LPRng som egen RPM-pakke som du kan laste ned fra Fedora eller Red Hat sine hjemmesider. Etter at rpm-pakken er installert. Starter du dette utskriftssystemet med:

[root@nittedal /root]# /sbin/service lpd start

Du vil finne applikasjoner som kan skrive direkte til en skriver uten å måtte gå igjennom utskriftssystemet, vi kaller disse "print through" utskriftsdrivere.

Sette opp utskriftskø

rediger

Etter at du har installerer Fedora Linux eller SuSE er du klar til å sette opp dine skrivere. Under GNOME trykker du på «System», «Administrasjon» og «Skrivere». Eller fra terminalvinduet system-config-printer. Under KDE er det tilsvarende. Under SuSE starter du opp YaST2 og velger maskinvare (hardware) og skriver (printer). Du har også muligheten til konfigurere CUPS fra et web-grensesnitt. Du trenger kun å skrive http://localhost:631/admin fra din nettleser. Ønsker du å gjøre alt fra kommandolinjen setter opp nye utskriftskøer med kommandoen /usr/lib/lpadmin.

 

Figur 14.1: Hovedmenyen i system-config-printer

Følgende hovedpunkter er sentrale når du skal sette opp en skriver under Linux:

  • driver mot port (serie eller parallell)
  • skriverdefinisjoner (drivere)
  • filtre (tegnkonvertering)
  • opp/nedkjøring av spoolingsystem
  • tilgangskontroll

Under Linux kan du definere en lokal skriver eller eksterne skriverkøer. I tabellen under ser du en liste over utskriftsporter (serieporter og parallellporter) du kan bruke eller usb og nettverkskriver:

Enhet I/U Adresse IRQ DMA
/dev/ttyS0 COM1 3F8 4 n/a
/dev/ttyS1 COM2 2F8 3 n/a
/dev/ttyS2 COM3 3E8 4 n/a
/dev/ttyS3 COM4 2E8 3 n/a
/dev/lp0 LPT1 378-37F 7 n/a
/dev/lp0 LPT2 278-27F 5 n/a
/dev/usb/lp0 USB n/a n/a n/a
192.168.0.250 shared name=HPColorL type 192.168.0.250/HPColorL LAN n/a n/a n/a

Virker ikke skriveren når du har knyttet skriveren til serieporten, parallellporten eller USB-porten må du sjekke om lp er satt opp i /proc/devices:

elboth@suselap:~> cat /proc/devices

Du kan alternativt også sjekke dmesg-filen.

[root@nittedal /root]# dmesg | grep lp

elboth@suselap:~> dmesg | grep lp

On node 0 totalpages: 131050

lp0: using parport0 (polling).

CUPS støtter følgende eksterne skriverkøer:

  * Nettverk med CUPS (IPP)Unix-nettverk (LPD)Windows-nettverk (SMB)
  * Novell-nettverk (NCP)
  * JetDirect (HP) i nettverk 

Har du problemer med nettverksbaserte skrivere er det greit å sjekke skriverne lokalt før man setter i gang å feilsøke nettverket.

Både lokale og nettverksbaserte skrivere kan styres og konfigureres fra system-config-printer. Lokale skrivere kan tilknyttes enten via parallellportene, serieportene eller USB-portene.

Figur 14.2: Valg av køtype i system-config-printer

Hva slags skriveremulering din skriver har velger du i system-config-printer. Se figuren under.

Figur 14.3: Valg av skriveremulering fra printconf-gui (system-config-printer)

Skriverparametere Eksempel på input
Printer type LOCAL
Queue hplaser
Spool directory /var/spool/cups
Printer device /dev/lp0
Printer driver HP LaserJet Plus
Paper size A4
Resolution 300x300
Bits per pixel Default

Tabellen over viser et eksempel på et oppsett med lokal skriver. Skal du bruke en ekstern-skriver via lpd, er det enklere; du trenger bare å spesifisere navnet (definert i din /etc/hosts-fil eller i DNS) på maskinen som skriveren er tilknyttet, og navnet på køen som allerede er definert på ekstern maskin.

Skriverparametere Eksempel på input
Remote host name ftp.powertech.no
Remote queue hplaser

Har du én eller flere Windows (Windows 98, Windows NT eller Samba)-styrte skrivere, er det greit å velge Windows (Samba/LAN Manager) som din tilknytningsform til skriver. Her må du vite Windows-vertsmaskin, IP-adresse, delt (share) skrivernavn, brukernavn og passord. Et eksempel på en løsning kan være:

Skriverparametere Eksempel på input
Windows server vertsmaskin regnskap.c2i.net
Windows server IP 207.117.119.40
Share name Windows
User name Guest
Password Guest0

Figur 14.4: Valg av kø-type (Samba/Windows) i YasT2 under opensuse

Har du en skriverkø som styres av Novells spooling system, kan du velge NetWare. Har du en skriverkø som styres av JetDirect spooling system trenger du bare å spesifisere IP-adresse og portnummer (Se figur 14.4). Har du en standardskriver, er det enklere å sette opp en skriver på PCen med Linux enn under Windows 98 eller Windows XP. De tekniske manuelle oppdateringene under er derfor i de fleste tilfellene unødvendige.

Figur 14.5: Konfigurasjon av JetDirect skriverkø fra system-config-printer

Nøkkelfiler

rediger
Konfigurasjonsfiler Beskrivelse
/etc/cupsi denne katalogen finner du alle CUPS-konfigurasjonsfilene (se tabellen under)
/etc/printcap definisjonsfil for forskjellige skriverkøer
/usr/lib/cups/filter filterkatalogen (konvertering) til CUPS
/usr/lib/cups/backend resultatet fra filterprogrammet blir vidre behandlet av backend-programmet som sender dette videre til destinasjons-skriver.
/var/spool/* plassering av alle spoolkataloger
/var/spool/*/minfree antall ledige blokker som skal avsettes til spesifisert spoolkatalog.
/etc/hosts.equiv lister de maskinene (vertsmaskinene) som får lov til å benytte skriveren som er knyttet til denne maskinen
/etc/hosts.lpd For at utskriftssystemene skal virke, må brukernavnet lp være definert i /etc/passwd og /etc/group. Her har jeg et eksempel på definisjon i /etc/passwd

[root@nittedal /etc]# more passwd

root:tQ8pfxCWkCWA.:0:0:root, Nittedal, 67078944:/root:/bin/bash

..

lp:*:4:7:lp:/var/spool/lpd:

..

Her har jeg et eksempel på definisjon i /etc/group:

[root@nittedal /etc]# more group

..

lp::7:daemon,lp

..

I tillegg må katalogene /usr/lib, /usr/spool/lp og /usr/bin være oppdatert med de riktige systemfilene. Har du spesielle behov, må du manuelt oppdatere forskjellige nøkkelfiler som /etc/printcap, /etc/hosts.lpd og /etc/hosts.equiv. I tabellen under finner du en beskrivelse av CUPS-konfigurasjonsfilene.

Konfigurasjonsfiler Beskrivelse
/etc/cups/cupsd.conf Konfigurasjonen for CUPS-systemet. Syntaksen på filen er lik konfigurasjons-filen til Apache.
/etc/cups/printers.conf skriverkonfigurasjonen for den enkelte skriver
/etc/cups/classes.conf Definsjons på alle skriverklassene. I en skriverklasse har vi en samling av skrivere.
/etc/cups/client.conf Her kan vi definere hva som skal gjøres med utskrifter som kommer fra bestemte klienter (dvs. vertsmaskiner).
/etc/cups/lpoptions standard parametere som skal gjelde for utskriftsjobber
/etc/cups/mime.types Definisjon av alle mimetypene (Multipu pose Internet Mail Extensions) som brukes. Hva slags fil har vi?
/etc/cups/mime.convs Det enkelte filterne er vil være mappet mot de enkelte mime typene avhengige av type?
/etc/cups/ppd-PPD Her har vi en katalog med Postscript (PPD) filer som blir håndtert av CUPS. Disse PPD-filene beskriver egenskapene til alle skrivere inkludert Postscript skrivere.

Du vil finne at /etc/printcap er en sentral nøkkelfil. I denne filen definerer du skriveremulering, filtre (selve filtere er plasssert i filen /usr/lib/cups/filter) og eksterne vertsmaskiner (hvis skriveren er tilknyttet en ekstern vertsmaskin). Bare systemadministrator (root) kan gjøre endringer på denne nøkkelfilen. Vi skal nå ta for oss noen eksempler på forskjellige oppsett. Nedenfor har jeg en skriver som bruker PCens lokale parallellport, og jeg har en skriver som bruker hplaserjet-emulering. Driveren til selve parallellporten er /dev/lp1 (/dev/lp0, /dev/lp1, /dev/lp2). Dette er på de fleste PCer første parallellport.

Eksempel basert på lpd:

[root@nittedal /etc]# more /etc/printcap

  1. /etc/printcap

hp|hp-postscript:\

sh:\
ml=0:\
mx=0:\
sd=/var/spool/lpd/hp:\
lp=|/usr/share/printconf/jetdirectprint:\
lpd_bounce=true:\
if=/usr/share/printconf/mf_wrapper:

I eksemplet under ser du definisjonene på mine utskriftskøer. Den ene utskriftskøen går mot en Windows-skriver via SMB (HP OfficeJet R45) og den andre er satt opp mot en HP JetDirect-skriver (HP business inkjet 2250tn).

Eksempel basert på lpd:

[root@nittedal /etc]# more /etc/printcap

  1. /etc/printcap

officer45:\

ml=0:\
mx=0:\
sd=/var/spool/lpd/officer45:\
af=/var/spool/lpd/officer45/officer45.acct:\
sh:\
lp=|/usr/share/printconf/util/smbprint:\
lpd_bounce=true:\
if=/usr/share/printconf/util/mf_wrapper:

hpinkjet:\

ml=0:\
mx=0:\
sd=/var/spool/lpd/hpinkjet:\
af=/var/spool/lpd/hpinkjet/hpinkjet.acct:\
sh:\
lp=|/usr/share/printconf/util/jetdirectprint:\
lpd_bounce=true:\
if=/usr/share/printconf/util/mf_wrapper:

I eksempelet under har jeg definert de to samme skrivekøene uten lpd-støtte.

Eksempel:

[root@nittedal /etc]# more /etc/printcap

  1. This file was automatically generated by cupsd(8) from the
  1. /etc/cups/printers.conf file. All changes to this file
  1. will be lost.

OfficeJet|Created by redhat-config-printer 0.6.x:rm=dhcppc1:rp=OfficeJet:

HP_Business_Inkjet|HP_Business_Inkjet:rm=dhcppc1:rp=HP_Business_Inkjet:

Jeg vil anbefale at du bruker programmet printconf-gui til å lage et forslag til driverkonfigurasjon (utskriftsdriver og filter) og at du legger alle dine egne tilpassninger i filen /etc/printcap.local.

Nøkkel Beskrivelse av /etc/printcap-opsjoner
lp Driver eller fil som utskriften skal sendes til
ms spesielle skriveregenskaper, for eksempel XON/XOFF (slå opp på stty)
sd angir hvor utskriften (spoolingkatalog) blir plassert
lf angir hvor utskriftsfeilmeldinger skal plasseres
rm navnet på ekstern-maskinen du ønsker å sende utskriften til, for eksempel rm=pluto
mx Maksimal størrelse på utskriftsfilen (buffer)
if angir hvor utskriftsfilteret er plassert

Det er enklest å definere standard PostScript eller HP-Laserjet i /etc/printcap. Er mange av tekstfilene dine PostScript, er det mest hensiktsmessig å ha en PostScript-skriver. Har du ikke det, kan du bruke løsningen GhostScript.

Eksempel:

[root@davelin /etc]# more /etc/printcap

  1. /etc/printcap
  1. This file can be edited with the printtool in the control-panel.

lp|Generic dot-matrix printer:\

lp=/dev/lp1:\
sd=/var/spool/lp1/lp:sh:\
if=/var/spool/lp1/filter.magic:\
lf=/var/spool/lp1/lp-err:

[root@davelin /etc]#

Skriveren her er en standard matriseskriver som er koblet til PCens lokale parallellport. Jeg har i tillegg satt opp et filter, /var/spool/lp1/filter.magic. Mer om dette finner du i Printing HOWTO.

  1. !/bin/sh

if [ "$1" = -c ]; then

   cat 

else

   read first_line first_two_chars=$(dd bs=2 count=1)
   if [ "$first_two_chars" = "%!" ]; then # PostScript
       /usr/bin/gs -dSAFER -dNOPAUSE -q \ -sDEVICE=epsonF8 -dBitsPerPixel=1 -sOutputFile=- - 
   else # it's plain text, insert CRs
       echo -n "$first_line" printf "\r\n" 
   tr "æøåÆØÅ" "$(printf "\x91\x9b\x86\x92\x9b\x8f")" | sed -e $(printf "s/$/\r/")
       #formfeed.. printf "\f" 
       fi 

fi

Her har jeg satt opp epsonF8 som skrivertype. Dette skriptet håndterer både kontrolltegnkonvertering (cr/lf-lf) og PC-tegnsettkonvertering. Hvis du ikke har behov for tegnsett-konvertering (ISO8859 til CP 850/860), kan du fjerne tr-kommandoen.

Ønsker du å vite mer om hva som finnes av skriverdefinisjoner i Linux-systemet, kan du også først sjekke filen /etc/termcap. I denne filen vil du finne mange terminal- og skriverdefinisjoner. I den komprimerte terminal- og skriverdefinisjonskatalogen /usr/share/ terminfo er det lettere å finne fram, da definisjonene er lagret i alfabetisk rekkefølge; for eksempel ligger alle HP-definisjonene i systemet i katalogen /usr/share/terminfo/h.

Tilgangskontroll over nettet og diskplass

rediger

Når du har satt opp utskriftssystemet på Linux-systemet, kan du styre tilgangskontrollen til denne skriveren over nettet, enten med filen /etc/hosts.equiv eller med filen /etc/hosts.lpd. Du bruker hosts.equiv bare hvis maskinene dine er knyttet opp via BSDs r-kommandoer (ekstern). Mer om dette finner du i kapittel 22. I filene /etc/hosts.equiv og /etc/hosts.lpd skal du bare liste navnene på de maskinene som du tillater tilgang til dine skrivere.

Eksempel:

[root@nittedal /etc]# cat /etc/hosts.lpd

pluto.frisurf.no

nittedal.c2i.net

boulder

Får du problemer med diskplassen på spoolingområdet, kan du sette opp filen minfree i hver spool-katalog. I minfree setter du bare hvor mange diskblokker som skal være ledige og tilgjengelige for det spesifiserte spoolområdet. Filen minfree kan du redigere med vi- eller emacs-editoren. Du bør være oppmerksom at minfree ikke støttes av alle Linux-distribusjoner inkludert Fedora.

Fjernutskrift mot Unix

rediger

Har du behov for å bruke skrivere som er tilknyttet andre Unix-maskiner, kan du benytte deg av fjernutskrift fra Linux. Nedenfor har jeg en tabell som viser hvilke skallprogrammer du skal starte opp på de enkelte systemene for å få satt opp spoolingsystemet.

Unix-system Administrasjonsskall
HP-UXsam IBM AIX
smitNCR Unix V.4 sysadm

Solaris

rediger
hosts.lpd & hosts.equiv SCO Xenix
sysadm, lpinit eller mkdev lpr SCO Unix
sysadmshSCO UnixWare sysadmsh

Under installasjonsprosessen på de fleste Unix-systemer, inkludert Linux, vil de fleste katalogene og nøkkelfilene automatisk bli oppdatert av skall-grensesnittene (sysadm, sam). I de fleste Unix-systemene, som Linux, vil du finne at /etc/printcap er en av de mest sentrale filene for de Unix-systemene som har BSD-baserte skriversystemer.

Nedenfor har jeg satt opp et eksempel hvor jeg får tilgang til en ekstern skriver som er koblet opp mot en annen Linux- eller Unix-maskin. Hvordan denne skriven er koblet opp med hensyn til serieport og parallellport, er ingen problemstilling her. Du trenger i utgangspunktet bare å vite navnet eller IP-adressen til maskinen og hva slags skriveremulering det dreier seg om.

[root@davelin /etc]# more /etc/printcap

  1. /etc/printcap
    1. PRINTTOOL3## REMOTE POSTSCRIPT 300x300 a4 {} PostScript Default {}

lp:\

sd=/var/spool/lpd/lp:\
mx#500:\
sh:\
rm=pluto:\
rp=hplaser:\
if=/var/spool/lpd/lp/filter:

[root@davelin /etc]#

Skriverkontroll – lpc

rediger

Under Linux kan du styre de generelle utskriftstjenestene med Linux-kommandoen lpc. Denne kommandoen har mange opsjoner og argumentmuligheter. Skriver du bare lpc, kommer du inn i en egen kommandomodus.

Kommandoen lpc utskriftskonfigurering
Kommando: lpc [kommando] [argument…]
Funksjon: Konfigurering av utskriftskøer og generelle utskriftstjenester
Kommandoer: Se tabellen under.
Argument: Se Linux-man-sidene.
lpc-kommandoer
abort disable restart topq
clean down start up
enable help status ?
exit quit stop

Eksempel:

[root@nittedal /root]# lpc

lpc> down all

lp:

printer and queuing disabled

lpc> start all

lp:

printing enabled

daemon started

lpc> status

lp:

queuing is disabled

printing is enabled

no entries

no daemon present

lpc> quit

[root@nittedal /root]#

Fra lpc kan du:

   starte/stoppe en skriver
   starte/stoppe en tilhørende spoolingkø
   endre rekkefølgen på skriverjobber i en skriverkø
   finne status på skrivere og tilhørende spoolingkøer og prosesser 

Har du X-Window, er det lettere å administrere mange av disse tjenestene fra GNOME/KDE eller direkte fra printconf.

Utskriftsproblemmer

rediger

Får du ikke utskrift kan det være flere årsaker til dette. Er skriveren koblet til nettverket? Får skriveren strøm? Bruker du det riktige styreprogrammet (f.eks. HP-laserjet)? Er skriverkabelen i orden? Har skriveren papir? Hvis du har satt opp et nytt system er det enkelt å sjekke om lp er definert i /proc/devices. Dette har jeg beskrevet i avsnittet «Sette opp utskriftskø». Mangler lp kan du manuelt legge inn lp-modulen med modprobe-programmet.

suselap:~ # /sbin/modprobe lp

Mer informasjon om moduler finner du i kapittel 21 Linux - overvåking og kjerne. Får du ikke lagt inn lp-programmet med modprobe-programmet har du med stor sannsynlighet installert Linux uten å ta med utskriftssystemet. Jeg anbefaler deg da å installere alt på nytt.

Har utskriftskøen virket tidligere men plutselige slutter å virke, kan du ha fått en skriverlås (lock). Låsfilen /var/spool/cups/* blir automatisk opprettet for køkontroll. Ved for eksempel større belastninger på spoolingsystemet eller ved strømbrudd kan det være nødvendig å fjerne låsen (lock). Låsfilen lock blir automatisk fjernet ved ny oppstart av maskinen. Dette skjer som regel i oppstartsfilen /etc/rc.d/rc2.d. Du kan lese mer om dette i kapittel 17.

Utskrift – lpr

rediger

Du skriver ut med lpr-kommandoen. Hvis det er flere skrivere i systemet, kan du med P-opsjonen (under Unix AT&T-spooling er dette d) velge hvilken skriver du vil sende til. Hvis ingen skriver er spesifisert, blir standardskriveren valgt.

Vanligvis får man ut en førsteside med dato, klokkeslett, navnet på skriver, navnet på utskriftsjobben, osv. Denne førstesiden kalles banner. Den kan fjernes ved å spesifisere nobanner ved utskrift.

Kommandoen lpr utskrift til skriverkø
Kommando: lpr [opsjon] argument
Funksjon: Plasserer innholdet av filen i skriverkø
Argument: En eller flere filer
Opsjoner: Se Linux-man-sidene.
-#num Skriver ut num kopier (antall kopier)
-h Skriver ikke ut førsteside
-m Sender deg en e-post når den er ferdig
-p Formaterer dokumentet ved å bruke pr-kommandoen
-P skriver Plasserer skriverjobben til "skriver"


Eksempler:

[david@nittedal david]$ lpr brev1 brev2 brev3

Sender filene brev1, brev2 og brev2 til standardskriver (defaultskriver).

[david@nittedal david]$ lpr -P hpskriver2 .profile

Sender filen .profile til skriver med navnet hpskriver2.

[david@nittedal david]$ lpr -P skriver1 -m doc1.ps doc2.ps referat.ps

Her blir filene doc1.ps, doc2.ps og referat.ps sendt til skriveren skriver1. Når filene er blitt kjørt ut, blir det sendt en mail til bruker om at utskriften er avlevert til skriveren.

[david@nittedal david]$ lpr -#3 tilbud.txt

Her blir det kjørt ut 3 kopier av filen tilbud.txt. Utskriften kommer ut på den skriveren som er standardskriver (defaultskriver).

Sjekke utskriftskø – lpq

rediger

Med kommandoen lpq har du muligheten til å sjekke status på dine egne eller andres utskrifter. Under standard AT&T Unix V.4 kan du bruke kommandoen lpstat.

Kommandoen lpq utskrift til skriverkø
Kommando: lpq [-l][-P skriver][bruker-id]
Funksjon: Angir status for utskriftsjobber
Opsjoner: Se også Linux-man-sidene.
-l Skriver ut detaljert informasjon om hver enkel fil som er plassert i en skriverjobb
-P skriver Viser informasjon om de enkelte filene som er plassert i en spesifisert skriverkø
bruker-id: Viser bare skriverjobber for spesifiserte brukere (uten brukeropsjonen blir alle skriverjobber vist)

Eksempler:

[david@nittedal david]$ lpq -l

Her får jeg detaljert informasjon om alle filene som er sendt til alle skriverkøer under Linux.

[david@nittedal david]$ lpq -P hplaser

Her får jeg detaljert informasjon om alle filene som er sendt til skriverkøen “hplaser".

[david@nittedal david]$ lpq david

Her får jeg detaljert informasjon om alle filene som brukeren “david" har sendt til skriverkøer under Linux.

Avbryte utskrift – lprm

rediger

Alle utskrifter som du selv har startet, kan stoppes ved hjelp av kommandoen lprm under Linux. (Under standard AT&T Unix V.4 kan du bruke kommandoen cancel.) Bare systemadministrator (root) kan stoppe utskrifter andre brukere har satt i gang.

Kommandoen lprm avbryte utskriftsjobber
Kommando: lprm [-P skriver] [jobbnummer] [bruker-id]
Funksjon: Fjerner en utskriftsjobb fra skriverkøen
Opsjoner: Se også Linux-man-sidene.
-P skriver Fjerner jobber fra den spesifiserte køen
Jobbnummer: Liste over jobbnummer som skal fjernes (bruk lpq hvis du ønsker jobbnummer)
bruker-id: Viser bare skriverjobber for spesifiserte brukere (uten brukeropsjonen blir alle skriverjobber vist)

Eksempler:

[david@nittedal david]$ lprm printer-233

Gjør at skriverjobb printer-233 fjernes fra skriverkøen (printer).

[david@nittedal david]$ lprm -P hplaser hplaser-22 hplaser-24

Her fjernes skriverjobb hplaser-22 og hplaser-24 fra skriverkø hplaser.

[david@nittedal david]$ lprm davide

Her fjerner jeg alle skriverkøene assosiert med bruker davide. Har du flere jobber som skal fjernes, kan du fjerne jobbene fra /usr/spool/lp/requests-katalogene.

Status på utskriftssystemet - lpstat

rediger

Fra AT&T Unix V.4 har vi fått kommandoen lpstat som gir deg en grei status på utskriftssystemet CUPS.

Kommandoen lpstat status på utskriftsssystemet CUPS
Kommando: lpstat [opsjoner] [skriver]
Funksjon: Status på CUPS
-d Hvilken skriver er satt opp som standard
-o Status på alle ut utskriftsjobber og destinasjoner
-p Hvilke skrivere er satt opp og hva er status?
Opsjoner: Se også Linux-man-sidene.


Denne kommandoen har mange opsjoner. Vi har under noen eksempler.

Eksempler:

[david@nittedal david]$ lpstat HP-skriver

Gir meg status på det som ligger i kø på skriver HP-skriver.

[david@nittedal david]$ lpstat -d

Gir meg status på hvilken skriver som er satt opp som standard (default).

[david@nittedal david]$ lpstat -p

Hvilke skrivere er satt opp og hva slags status har de?

3d-skriver i Linux

rediger

Man kan bruke f.eks OpenSCAD eller Blender for å lage objekter\figurer for å skrive ut slike. MeshLab er et eksempel. Skeinforge SFACT er andre programmer. For mere informasjon les:

https://fedoraproject.org/wiki/Features/3D_Printing

Ellers sjekk: http://www.openprinting.org/printers

3D-printing vokste raskt fram i løpet andre del av 2000-tallet med blant annet RepRap og MakerBot. 3D-printerne styres selvfølgerlig med fri programvare: https://en.wikipedia.org/wiki/RepRap_project https://en.wikipedia.org/wiki/MakerBot_Industries

Et eget miljø på bitraf i Oslo har flere 3D-printere tilgjengelig for medlemmer.

Det er betydelig entusiasme med 3D-printing på såkalte Makers Faire som jeg tror har oppstått i Carlifornia USA. I 2014 ble det arrangert i Oslo. I år arrangeres det i Trondheim: http://www.trondheimmakerfaire.no/forsiden/

For å finne scanner: https://help.ubuntu.com/community/ScanningHowTo

For fedora bruk: [david@nittedal david]$ dnf -v info simple-scan for å finne informasjon som skanner.

Oppgaver til kapittel 14

rediger

Oppgave 14.1

Hva betyr SPOOL?

Oppgave 14.2

Hvilke utskriftsystemer bruker Fedora Linux?

Oppgave 14.3

Kjør utskrifter til forskjellige utskriftskøer (skrivere).

Oppgave 14.4

Kjør ut to kopier av et dokument uten banner på utskriften.

Oppgave 14.5

Hvilken opsjon må du bruke til lpr hvis du ønsker en tilbakemelding når utskriften er ferdig?

Oppgave 14.6

Send en utskrift til en avslått skriver. Sjekk status med lpq-kommandoen.

Oppgave 14.7

Hvordan finner du ut hvilken skriver som er satt opp som standardskriver?

Oppgave 14.8

Stopp dine egne utskrifter. Kan du stoppe utskriften til andre brukere?

Oppgave 14.9

Kan du nevne en enkel måte å sjekke at en skriverport er i orden på et Linux-system? (Tips: cat fil > /dev/lp0)

Oppgave 14.10

Definer to skrivere på Linux-systemet. Den ene skriveren skal ha SMB-tilknytting og den andre skal være lokal. Kjører du Fedora Linux, kan du bruke X-Window-applikasjonen printconf (printconf-gui). Kjører du SuSE bruker du YasT2.

Oppgave 14.11

Hvordan tar du ned og opp et Linux spoolingsystem?

Oppgave 14.12

Hvordan kan du få spoolingsystemet til å starte igjen når det har gått i lås? Nevn to metoder.