Gentoo vejledning til at printe
1.
At installere CUPS og foomatic
At sætte Gentoo Linux op til at printe, er en relativt smertefri
opgave, takket være gode programmer som CUPS (the Common Unix Printing
System) og foomatic. Begge disse programmer er pt. i Portage træet og
de er meget nemme, at sætte op for brugeren.
Du skal være klar over at cups fungerer på tværs af de forskellige
desktops, du kan f.eks. følge denne vejledning, for at sætte GNOME
eller KDE op, til at printe. Der er andre alternativer, såsom KDE's
print-setup, men jeg tror på at CUPS er den nemmeste opsætningsmæssigt og
den mest skalérbare.
Før du emerger CUPS, er det en god ide at tilføje de nødvendige USE-flag
til /etc/make.conf.
Kode oversigt 1.1: At ændre /etc/make.conf |
USE="cups foomaticdb ppds usb other_var1 other_var2"
|
For at få mere information om USE variable, læs da venligst USE
-flag kapitlet i Gentoo-håndbogen.
Kode oversigt 1.2: At emerge de nødvendige pakker |
# emerge cups
# emerge foomatic
|
2.
At sætte kerne moduler op
Generelt
Nu da de nødvendige pakker er installeret, er det tid til at få
printeren installeret.
Det er nødvendigt at slå understøttelse for enten parallel-port eller
USB-port printerforbindelse til i kernen, afhængigt af hvilken type
printerforbindelse du vil bruge.
Bemærk:
Dette er kun nødvendigt til at printe lokalt, hvis du vil printe
via samba, så kan du springe denne sektion over.
|
Bemærk:
Hvis du ikke er sikker på hvordan man kompilerer en kerne, så kan du
finde de specifikke instruktioner i Kerne
Howto(den er pt. nede pga. review). Vær sikker på at du finder
ud af, hvordan man kompilerer og installerer nye moduler, uden at være
nødt til at kompilere din kerne igen og genstarte. Det er virkelig
noget, der kan spare dig tid. |
USB Moduler
For at slå USB-printer understøttelse til, gå da til USB support og
slå Support for USB og USB Printer support til. Ved at
slå dem til, installerer du usbcore.o og printer.o i dit modules
bibliotek. Jeg anbefaler at bruge moduler, fordi så slipper du for at
genstarte din computer. Brugere af 2.6 kernen finder disse under
Device Drivers
Efter at kernen er bygget og din computer er blevet genstartet er det
på tide at hente de nødvendige moduler:
Kode oversigt 2.1: At hente USB moduler |
# modprobe usbcore
# modprobe printer
# modprobe usblp
|
Efter at modulerne er blevet hentet med succes, sæt da printeren til
og tjek dmesg for at se om den blev fundet.
Kode oversigt 2.2: At tjekke kerne beskeder |
# dmesg | tail
|
Du bør se noget som dette:
Kode oversigt 2.3: dmesg udskrift på skærmen |
hub.c: USB new device connect on bus2/2, assigned device number 2
printer.c: usblp0: USB bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x03F0 pid 0x1104
|
Parallel-port moduler
For at slå Parallel-port understøttelse til, gå til Parallel port
support og slå Parallel port support samt PC-style
hardware til. Afhængigt af din printer bliver du også nødt til at
aktivere Multi-IO cards (parallel og serial),
Support for foreign hardware og IEEE 1284 transfer mode.
Gå derefter til Character devices og slå Parallel Printer
Support til. Brugere af 2.6 kernen finder disse under Device Drivers.
Efter at kernen er bygget, skal du være sikker på at printeren er
forbundet og du kan derefter genstarte din computer. Nu er det tid til
at hente de nødvendige moduler:
Kode oversigt 2.4: At hente parallel-port moduler |
# modprobe lp
# modprobe parport
# modprobe parport_pc
|
Efter at modulerne er hentet med succes, tjek da
/var/log/messages for at se om printeren blev fundet.
Bemærk:
Hvis du bruger andet end sysklogd vil din kerne log-fil være anderledes.
|
Kode oversigt 2.5: At tjekke kerne beskeder |
# tail /var/log/messages
|
Du bør se noget som dette:
Kode oversigt 2.6: /var/log/messages Output |
lp0: using parport0 (polling).
|
Low-level test
Før vi sætter printeren op med CUPS, kan vi teste den med nogle simple
low-level kommandoer.
Bemærk:
Nogle printere (specielt de PPA-baserede som HP's 720 serie,
820 serie og 1000 serie) accepterer ikke ASCII-input. Hvis du har
sådan en printer, så husk at du har en PPA-based printer og at
denne test vil fejle også selvom printeren virker.
|
Bemærk:
Nogle printere (f.eks. adskillige i HP LaserJet-serien) har brug for
en ^L (Control-L) i slutningen af filen for at at udføre printet. Uden
den ^L melder cat om succes, men printeren absorberer dataen uden at
gøre noget ved det.
|
Kode oversigt 2.7: Printertest ved brug af cat |
# touch test.txt
# echo "Hello World" > test.txt
# cat test.txt > /dev/usb/lp0
# cat test.txt > /dev/lp0
|
3.
Specielle printerdrivere
Før du bruger foomatic til at generere en PPD fil, kan det være
nødvendigt at finde nogle tredjepartsdrivere til din
printer. F.eks. stiller Epson adskillige
printer drivere til rådighed til open-source operativ
systemer. Men, som det er med Epson, er mange af disse specielle
drivere ikke open source.
De følgende printer drivere er tilgængelige i Portage: gimp-print,
omni, hpijs, pnm2ppa.
Til de fleste printere, ud over HP Inkjet-serien, vil du være i stand
til at bruge standard Linux printer drivere. Besøg linuxprinting.org printer
understøttelsesdatabasen for at finde information om din
specifikke printer. Vær sikker på at du læser dokumentationen, der
kommer med den driver du downloader, for at få information om
installation og licens.
Hvis du bruger en HP Inkjet-printer, er det nødvendigt at emerge
hpijs printerdriveren. Denne driver håndterer alle de
nødvendige Postscript-fortolkninger for at få HP-printeren til at
virke.hpijs driveren er kun til HPs Inkjet-printere, men er
tilgængelig gennem Portage for din belejelighed. Dokumentationen fra
HP til hpijs driveren vil være placeret i
/usr/share/doc/hpijs-<version>. Forfatteren
anbefaler højt at læse denne.
Hvis du bruger en PPA-baseret printer er det nødvendigt at emerge
pnm2ppa printer driveren.
Kode oversigt 3.1: At emerge hpijs |
# emerge hpijs
|
Bemærk:
Hvis du bruger en HP Laserjet, så kan understøttelse allerede være
tilgængeligt via GNOME printing system. Hvis du ikke bruger en HP
Inkjet-printer, så er det ikke nødvendigt at installere denne
specielle printerdriver.
|
4.
PPD fil Konfiguration
Nu er det tid til at konfigurere printeren og CUPS. For at din printer
kan fortolke Postscript korrekt, har CUPS brug for en PPD (Printer
Postscript Definition) fil. Den nemmeste måde at lave en PPD fil på er
via foomatic.
Bemærk:
En anden metode er at downloade en PPD fil fraLinuxPrinting.org og placere
den i /usr/share/cups/model. Hvis du bruger denne
metode, kan du springe resten af denne sektion over og fortsætte med CUPS
Konfiguration.
|
Tre stykker information, der er nødvendig for at få den nedenfor
stående kommando til at virke; Du har brug for din printers ID,
printerenhed og din printerdriver (dette vil være hpijs hvis du
havde brug for at installere denne specielle driver, ovenfor). Printer
ID og driver kan via grep findes i foomatics database, og print
enheden er den enhed din printer er forbundet til (f.eks.
file:/dev/lp0, file:/dev/usb/lp0 eller for samba-printere
smb://bruger:password@server/share).
Før at du bruger foomatic-configure skal du huske at starte cupsd.
Kode oversigt 4.1: At starte cupsd |
# /etc/init.d/cupsd start
|
Kode oversigt 4.2: Generel brug af foomatic |
# grep $printer_model /usr/share/foomatic/db/source/printer/*
# grep $printer_ID /usr/share/foomatic/db/source/driver/*
# foomatic-configure -s cups -p $printer_model_nummer -c file:$print_enhed_sti -n kø navn -d driver
|
Hvis det ikke lykkes at få driveren via grep, så kan du lede efter din
printer på LinuxPrinting.org og
kontrollere hvilke drivere det er kendt at den virker med. Vælg så en
af disse drivere og installer den:
Kode oversigt 4.3: At installere en PPD driver |
# foomatic-configure -s cups -p <printer model> -c file:<printer enhed> -n <kø navn> -d <driver>
|
Her er et mere specifikt eksempel. Den følgende kode antager at du har
en Epson Stylus Color 980. Du skal selvfølgelig udskifte denne med
din printer model.
Kode oversigt 4.4: Specifik brug af foomatic med Stylus Color 980 |
# grep "Stylus Color 980" /usr/share/foomatic/db/source/printer/*
/usr/share/foomatic/db/source/printer/Epson-Stylus_Color_980.xml: <model>Stylus Color 980</model>
# grep Epson-Stylus_Color_980 /usr/share/foomatic/db/source/driver/*
/usr/share/foomatic/db/source/driver/gimp-print-ijs.xml: <printer><id>printer/Epson-Stylus_Color_980</id></printer>
# foomatic-configure -s cups -p Epson-Stylus_Color_980 -c file:/dev/lp0 -n Epson -d gimp-print-ijs
|
5.
CUPS Konfiguration
Da printeren selv nu er konfigureret skal CUPS sættes op til at
håndtere printkøer. CUPS kan kan tilgås via web browser på
printerserverens port 631.
CUPS har en indbygget konfigurationsfil til daemonen der burde, men
bør som minimum redigeres til at tillade URI-lignende
enhedsnavngivning. Åben /etc/cups/cupsd.conf med din
yndlingseditor og sæt FileDevice til Yes:
Kode oversigt 5.1: At ændre FileDevice til Yes |
# nano -w /etc/cups/cupsd.conf
|
Dernæst bør du, hvis du ikke vil have at enhver vært på dit netværk
skal være i stand til at se og bruge din printer (f.eks. når dit
system er direkte forbundet til internettet), lede efter en linie der
siger Port 631 og udskifte den med Listen 127.0.0.1:631.
For dem der vil sætte klienter op ved brug af den nye print server,
kig venligst i /etc/cups/client.conf på klient maskinen
og peg ServerName parameteren til netværksnavnet på printerserveren.
Kode oversigt 5.2: At tilføje CUPS til default runlevel og genstarte CUPS |
# rc-update add cupsd default
# /etc/init.d/cupsd restart
|
CUPS daemonen bør nu køre, så åben din favorit browser, vend den hermod og klik på Manage
Printer. Her kan du finde din nyinstallerede printer, opsæt den
eller print en test side. Vær sikker på at du sætter standard
side-størrelsen til den størrelse du bruger (f.eks. A4 i stedet for
Letter).
Bemærk:
Hvis printeren ikke virker af en eller anden årsag, bør du gå til
biblioteket, hvor du bad om at gemme dine CUPS log filer og kigge
error_log igennem.
|
6.
Konfigurér programmer til at printe vha. CUPS.
Generelt
De fleste programmer har en indbygget cups-grænseflade (interface), så du ikke har
brug for at ændre noget, prøv bare at printe i programmet.
The GIMP
For at være i stand til at printe dokumenter vha. The Gimp, så bliver
du nødt til at (gen)installere gimp pakken med "gimpprint" USE
variablen slået til. Dette vil installere gimp-print hvis dette
ikke allerede er gjort.
Kode oversigt 6.1: At emerge gimp med understøttelse for printning |
# emerge gimp
|
Start nu Gimp'en op og åben et eksisterende billede eller bare et
blankt billede, det er sådan set ligemeget da alt hvad vi kigger efter
er Fil-menuen.
Højreklik på billedet og gå til Fil/Udskriv-dialogen for at
printe bør komme frem og når den gør, klik da på "new printer". Hvis din
printer ikke er listet, indtast da din printers navn og vælg
den. Okay, nu din Gimp er nu sat op til at printe fra. Leg lidt med
indstillingerne og hav det lidt sjovt.
7.
At sætte Windows op til at bruge CUPS printeren
At installere det nødvendige understøttelse
For at få Windows til at bruge CUPS, så er du nødt til at installere
IPP understøttelse. Windows 2000 og XP bør have disse som standard,
Windows 98 og ME brugere bliver nødt til at installere
det.
At installere CUPS printeren
Fyr op for Add Printer hjælperen og vælg Network
Printer. Når du bliver bedt om at specificere Printerens URL, så
giv den den eksakte URL til printeren som du har defineret den.
Kode oversigt 7.1: Et eksempel på en URL for en printer |
http://192.168.1.1:631/printers/Epson
|
Det var det!
8.
At bruge Linux som en Windows kompatibel printserver
Linux er en rigtig god printserver, men ok, den er en god server til
alting. Hvis du vil have din printer til at se ud til at være en delt
printer på Windows netværket, så er det første du skal gøre er at ændre
/etc/samba/smb.conf til at passe din
opsætning. smb.conf filen indeholder alle de indstillinger
der, for enhver Windows maskine, vil få din Linux maskine til at ligne
en Windows NT server. Jeg har inkluderet et eksempel på
smb.conf nedenfor. Ændr den så den passer til dit
netværksmiljø.
Kode oversigt 8.1: Et eksempel på smb.conf |
[global]
workgroup = YOUR_WORKGROUP
server string = Gentoo Linux Server
encrypt passwords = True
security = user
smb passwd file = /etc/samba/private/smbpasswd
log file = /var/log/samba/log.%m
socket options = IPTOS_LOWDELAY TCP_NODELAY
domain master = Yes
local master = Yes
preferred master = Yes
os level = 65
dns proxy = No
name resolve order = lmhosts host bcast
bind interfaces only = True
interfaces = eth0
hosts deny = ALL
hosts allow = 192.168.1.4 127.0.0.1 (list of allow hosts here)
debug level = 1
create mask = 0644
directory mask = 0755
level2 oplocks = True
read raw = no
write cache size = 262144
[printers]
comment = All Printer
path = /var/spool/samba
browseable = no
|
De fleste Windows-drivere er PCL-drivere. Jobs, som er sendt fra Window bør forståes af CUPS som application/octet-stream og udprintet som en rå (raw) fil. Så, hvis du bruger CUPS, åben /etc/cups/mime.types og udkommenter følgende linie:
Kode oversigt 8.2: Udkommentere en linie i /etc/cups/mime.types |
application/octet-stream
|
Gør det samme med følgende linie i /etc/cups/mime.convs:
Kode oversigt 8.3: Udkommentere en linie i /etc/cups/mime.convs |
application/octet-stream application/vnd.cups-raw 0 -
|
Nu da SAMBA er konfigureret, genstart samba og gå hen til din Windows
maskine og installér en netværksprinter. Ret nemt, ikke?
Indholdet i dette dokument er autoriseret under en Creative Commons -
Attribution / Share Alike licens.
|