Print med CUPS

cups

I dag er der mange distroer, der giver en mulighed for at sætte sin printer nemt op. F.eks. Dengang jeg brugte Ubuntu (Warty warthog) blev min HP PSC 2110 nemt sat op. Men det er straks værre, hvis man rykker op til systemer som Debian, Gentoo, Arch Linux osv., fordi de ikke har (så vidt jeg ved) værktøjer til dette. Af den grund skal man opsætte det hele fra bunden.

Denne guide vil beskrive hvordan man sætter sin printer op via CUPS. Guiden er bygget på denne Gentoo guide: http://gentoo-wiki.com/HOWTO_hpoj_/_CUPS Og på denne Arch Linux guide: http://wiki2.archlinux.org/index.php/CUPS%20setup
Men det burde virke på hvilken som helst distro.

Før vi begynder...

Inden vi begynder på noget som helst, skal vi først besøge LinuPrinting.org (http://linuxprinting.org/printer_list.cgi) for at finde vores printer, og de nødvendige programmer. Til min printer skal jeg bruge: CUPS, Ghostscript, Foomatic og driveren "hpijs". Da min printer er en multifunktionsmaskine, har jeg muligheden for at bruge HPOJ, så jeg også kan sætte min scanner op, men det må finde sted i en anden guide. :-)
Husk endelig at hente den nødvendige .ppd-fil, da den indeholder specifikationer om printeren.

Note: Nogen printere har mulighed, for at bruge hpijs driveren. På denne liste kan du finde kombitable printer til hpijs driveren http://linuxprinting.org/show_driver.cgi?driver=hp...

Lad os begynde...

Inden vi kan hente pakkerne og driverne, skal vi sørge for at der understøttelse i kernen.

Note: Der kun brugt kernel 2.6 som eksempel.

# cd /usr/src/linux
# make menuconfig
File systems --->
<*> DOS FAT fs support
<*> MSDOS fs support
<*> VFAT (Windows-95) fs support
Device Drivers --->
SCSI support --->
<*> SCSI support
--- SCSI support type (disk, tape, CD-ROM)
<*> SCSI disk support
USB support --->
<*> Support for USB
<*> EHCI HCD (USB 2.0 Support)
<*> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
<*> UHCI (Intel PIIX4, VIA, ...) support
<*> USB Printer Support
<*> USB Mass Storage support

Note: Hvis det allerede ser sådan ud, skal du ikke ændre noget.
Sørg nu for at din printer bliver opdaget.

# dmesg
....
usb 3-3: new full speed USB device using address 3
drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer \
dev 3 if 1 alt 0 proto 2 vid 0x03F0 pid 0x2911
devfs_mk_dev: could not append to parent for usb/lp0
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: HP Model: psc 2210 Rev: 1.00
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: assuming Write Enabled
sda: assuming drive cache: write through
/dev/scsi/host0/bus0/target0/lun0: p1
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 0
USB Mass Storage device found at 3
Note: Outputet vil være anderledes fra computer til computer.

Nu da kernen er sat op, og printeren er opdaget, er det på tide at hente alle pakker.

Note: Her bruger jeg Archs pakkesystem Pacman, til at hente alle tingene, brug din versions pakkesystem.

Først henter vi CUPS:

# pacman -S cups

Derefter Foomatic:

Note: Pacman hentede Foomatic sammen med CUPS. Hvis dit pakkesystem gjorde det sammen, skal du selvfølgelig ikke hente det to gange. :-)

# pacman -S foomatic

Og så Ghostscript

# pacman -S ghostscript

Nu ville det være en god ide at smide din .ppd-fil over i /usr/share/cups/model.

# mv din_printer.ppd /usr/share/cups/model/

Hvor "din_printer.ppd" er din .ppd-fil til din printer.

Inslæs kerne moduler...

Nu da CUPS er installeret, er det på tide konfigurer vores printer.

Note: Nogen distroer tilbyder en grafisk overflade til at sætte det op, men for at alle kan være med, bruger vi den testede og sande kommandolinje, samt et webinterface via din webbrowser.

Lad os sørge for at vi har de rette moduler. Hvis du bruger kernel 2.4 skal du bruge denne kommando:

# modprobe printer

Hvis du bruger kernel 2.6, så udskift "printer" med usblp

# modprobe usblp

Sørg for at modulerne bliver indlæst ved boot.

Konfigurer CUPS...

Nu da modulerne er indlæst mangler vi bare at konfigurer CUPS. Fyr op for en editor (her bruger jeg nano):

# nano -w /etc/cups/cupsd.conf

Find disse linjer:

Order Deny,Allow
Deny From All
Allow From 127.0.0.1

AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1

Og indsæt dette:

Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.*

AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.*

Nu kan vi starte CUPS med denne kommando:

# /etc/rc.d/cups start

eller

# /etc/init.d/cups start

Og sørg for at CUPS starter når du booter din PC. Fyr nu op for en weblæser som Firefox, og skriv dette i adressefeltet:

http://:631/admin/

Hvor er din lokale IP-adresse som findes i /etc/hosts. For at give et eksempel er min IP-adresse 127.0.0.1, derfor skal jeg skrive dette:

http://127.0.0.1:631/admin/

Nu vil de få en boks frem hvor man skal skrive "username" og "password", her skal du bare skrive root og derfeter dit password. Nederste vil du se en knap hvor der står "Add printer", tryk der og du er stærk i gang med at sætte din printer op. Tast nu nogle infomationer omkring din printer og gå videre. Du vil nu se en "drop-down-liste", her vil du finde din printer, ved min står der USB Printer # (Hewlet-Packard PSC 2110). Hvis din printer ikke er her har du muligvis brugt en forkert driver. Nu er vi nået til de sidste skridt nu skal du bare finde din printer i en liste og så skulle den være der.

Sandhedens time er nu kommet, tryk nu på "Print Test Page" og ånd lettet ud, hvis det hele fungere skulle din printer gerne starte nu.

Hvis der ikke sker noget, så sørg for at modulerne er indlæst, at du brugte den rigtige driver og .ppd-fil og at din printer overhovedet blev fundet! Men det kan dog også være at din printer overhovedet ikke understøttet!

Men det sidste ord er ikke sagt endnu. Hvis du var en af de uheldige der ikke havde en understøttet printer, så foreslår LinuxPrinting.org Epson org HP printere, simpelthen fordi de har den bedste understøttelse. Læs mere her http://linuxprinting.org/suggested.html

Denne Artikel er skrevet af Mikkel Poulsen (tuux)