Gentoo's Handleiding in het Printen

John P. Davis  Author
Phil Bordelon  Copyeditor
Wesley Leggette  Editor
Carl Anderson  Editor
Heinrich Wendel  Editor
Sven Vermeulen  Reviewer, Translator
Bas van Besouw  Translator
Tiemo Kieft  Translator

Upgedate op 28 Augustus 2003
Deze vertaling wordt niet meer onderhouden

1.  Lokaal printen via CUPS

Installatie via CUPS en foomatic

Het opstellen van printers onder Gentoo Linux is betrekkelijk eenvoudig dankzij programma's zoals CUPS en foomatic. Beide zitten in de Portage structuur en zijn zeer eenvoudig te installeren door de eindgebruiker.

CUPS is crossdesktop. Met andere woorden je kan deze zowel onder GNOME als KDE gebruiken. Er zijn andere manieren, zoals via KDE's printerconfiguratie, maar we geloven dat CUPS het eenvoudigst is in gebruik, en zeker het meest flexibel.

Alvorens je CUPS installeert is het een goed idee om de USE-vlaggen in /etc/make.conf aan te passen.

Codevoorbeeld 1.1: Aanpassen van /etc/make.conf

Voeg cups en usb (als je een usb printer gebruikt) toe aan je USE variabelen lijst.
USE="cups usb andere_var1 andere_var2"

Voor meer informatie aangaande USE variabelen, gelieve de USE HOWTO te lezen.

Codevoorbeeld 1.2: De nodige packages emergen

# emerge cups  
# emerge foomatic 

Instellen van kernel(modules)

Nu dat de nodige packages geinstalleerd zijn is het tijd om de printer te installeren.

Afhankelijk van welk type van printer je gebruikt is het nodig om ofwel parallelle poort ondersteuning of USB printer-connecties ondersteuning in de kernel te stoppen.

Nota: Dit is alleen nodig als je lokaal gaat printen, als je via samba wilt printen sla deze sectie dan over.

Nota: Indien je niet vertrouwd bent met het compileren van een kernel, dan kan je altijd de officiele Linux Kernel-HOWTO lezen op http://www.tldp.org/HOWTO/Kernel-HOWTO.html. Zorg ervoor dat je te weten komt hoe je nieuwe modules compileert en installeert zonder dat je je pc moet herstarten. Zo win je tijd met het opstellen van je printer.

USB modules

Om usb printer ondersteuning aan te zetten ga je naar USB support en zet je Support for USB en USB Printer support aan. Als je beide als modules aanzet, dan worden de bestanden usbcore.o en printer.o geinstalleerd in je modules directorie. Ik stel deze werkwijze voor, omdat je zo voorkomt dat je je computer opnieuw moet opstarten.

Nadat de kernel gecompileert is en je al dan niet herstart hebt is het tijd om de nodige modules (indien van toepassing) te laden:

Codevoorbeeld 1.3: De USB modules laden

# modprobe usbcore 
# modprobe printer 

Nadat de modules correct geladen zijn is het tijd om de printer in te steken en /var/log/messages te bekijken om te zien of de printer gedetecteerd werd.

Nota: Indien je een andere system logger gebruikt behalve sysklogd dan kan de kernellog ietswat anders zijn.

Codevoorbeeld 1.4: Controle van Kernel Messages

# tail /var/log/messages 

Je zou iets als volgt moeten zien:

Codevoorbeeld 1.5: /var/log/messages

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

Parallelle poort modules

Om parallelle printer support te ondersteunen, ga naar Parallel port support en selecteer Parallel port support en PC-style hardware. Afhankelijk van je printer moet je ook Multi-IO cards (parallel and serial) en Support for foreign hardware and IEEE 1284 transfer mode selecteren. Ga dan naar Character devices en selecteer Parallel Printer Support.

Nadat de kernel gecompileerd is, en je er zeker van bent dat je printer is aangesloten, moet je de computer opnieuw opstarten. Nu is het tijd om de nodige modules te laden:

Codevoorbeeld 1.6: Parallele Poort modules laden

# modprobe parport
# modprobe parport_pc

Nadat de modules succesvol geladen zijn, kan je in /var/log/messages kijken om te controleren of de printer gevonden is

Nota: Als je iets anders dan sysklogd gebruikt zal je kernel log file er anders uit zien.

Codevoorbeeld 1.7: Controle van Kernel Messages

# tail /var/log/messages

Je zou iets als volgt moeten zien:

Codevoorbeeld 1.8: /var/log/messages uitvoer

lp0: using parport0 (polling).

Low-level testen

Alvorens je je printer configureert met CUPS is het mogelijk de printer al te testen met enkele low-level commando's.

Codevoorbeeld 1.9: Printer testen met cat

# touch test.txt
# echo "Dag vriendjes. Dag vriendinnetjes :-)" > test.txt
# cat test.txt > /dev/usb/lp0 

 Of, voor parallelle printers: 
# cat test.txt > /dev/lp0 

Nota: Sommige printers (zoals verscheidene HP LaserJets) vereisen een ^L (Control-L) op het eind van het bestand om het printen te kunnen starten. Zonder deze ^L werkt het cat-commando wel, maar zal de printer de data binnenhalen, en dan verder niets doen.

Speciale Printer Drivers

Alvorens je foomatic gebruikt om een PPD bestand te maken kan het nodig zijn 3e partij drivers te vinden voor je printer. Bijvoorbeeld heeft Epson verschillende printerdrivers voor open source besturingssystemen. Deze drivers zelf zijn echter vaak niet open source.

De volgende printerdrivers zijn beschikbaar als ebuilds in portage: gimp-print, omni, hpijs, pnm2ppa.

Voor de meeste printers (behalve HP Inkjets) kan je de standaard Linux printerdrivers gebruiken. Bezoek de linuxprinting.org printer support database om informatie over je specifieke printer te vinden. Indien je de driver wil gebruiken, lees dan zeker de documentatie en licentie van die driver alvorens je die download.

Belangrijk: Indien je een HP Inkjet printer gebruikt moet je de hpijs printer driver installeren. Deze behandelt alle Postscript interpretatie die nodig is om de HP printer te doen werken. Deze driver is enkel voor HP Inkjet printers, maar is toch beschikbaar via Portage voor het gemak. De documentatie van HP over deze driver staat in /usr/share/doc/hpijs-<version>. We raden ten zeerste aan om dit te lezen.

Codevoorbeeld 1.10: Emerging hpijs

# emerge hpijs 

Nota: Indien je een HP Laserjet gebruikt kan je mogelijk al ondersteuning hebben via het GNOME printing-systeem. Indien je een niet-HP-Inkjet printer gebruikt moet je deze driver niet installeren.

PPD Configuratiebestanden

Nu is het tijd om de printer en CUPS te configureren. Om ervoor te zorgen dat je printer de PostScript correct interpreteert heeft CUPS een PPD (Printer Postscript Definition) bestand nodig. De eenvoudigste manier om PPD bestanden aan te maken is via foomatic.

Er zijn 3 stukken informatie nodig om het onderstaand commando succesvol uit te voeren: je hebt je printer-ID nodig, je printer device en je printer driver (deze laatste is hpijs indien je deze voordien geinstalleerd hebt). De printer ID en driver kan je grep'en uit foomatic's database, en de printer device is datgene waar je printer naar luistert (i.e. /dev/lp0 of /dev/usb/lp0 of voor samba printers smb://user:password@server/share).

Alvorens je foomatic-configure uitvoert moet je eerst cupsd opstarten.

Codevoorbeeld 1.11: Starten van cupsd

# /etc/init.d/cupsd start

Codevoorbeeld 1.12: Algemeen gebruik van 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_number -c $print_device_path -n queue name -d driver

Hieronder volgt een meer specifiek voorbeeld. Hierin onderstellen we dat je een Epson Stylus Color 980 hebt.

Codevoorbeeld 1.13: Specifiek gebruik van foomatic met Stylus Color 980

 # grep Stylus Color 980 /usr/share/foomatic/db/source/printer/* 
 Now look for the line which reads: 
/usr/share/foomatic/db/source/printer/Epson-Stylus_Color_980.xml:   <model>Stylus Color
980</model>
 Epson-Stylus_Color_980 is your printer ID.     
# 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>  
 Here, your print driver is gimp-print-ijs.    
# foomatic-configure -s cups -p Epson-Stylus_Color_980 -c file:/dev/lp0 -n Epson -d gimp-print-ijs 

Belangrijk: Indien je problemen hebt, gelieve dan de foomatic documentatie en de linuxprinting.org website te raadplegen/

CUPS Configuratie

Nu de printer zelf geconfigureerd is moet CUPS ingesteld worden om de printer queue te beheren. CUPS kan geadresseerd worden via een webinterface op poort 631, of via een printerserver.

Belangrijk: CUPS bevat configuratiebestanden voor de daemon die aangepast kunnen worden. Je kan die vinden op /etc/cups/cupsd.conf.

Codevoorbeeld 1.14: CUPS toevoegen aan de default runlevel en herstarten

# rc-update add cupsd default
# /etc/init.d/cupsd start

De CUPS daemon zou nu moeten lopen, dus open je favoriete browser, en ga naar here en klik op Manage Printers. Hier kan je je net geinstalleerde printer vinden, configureren of een test pagina printen

Nota: Indien de printer om een of andere reden niet werkt, ga dan naar de directorie waar je CUPS ingesteld hebt om de logs te bewaren, en lees error_log.

2.  Programmas configureren om the printen via CUPS

Algemeen

De meeste programmas hebben vandaag de dag een ingebouwde CUPS interface, dus hoef je geen veranderingen aan te brengen, probeer gewoon te printen binnen het programma.

The GIMP

Alvorens we starten moeten we gimp's CUPS printing extensions installeren:

Codevoorbeeld 2.1: Emergen van gimp-print

# emerge gimp-print

Start nu The Gimp, open een bestaande afbeelding, of start een blanco afbeelding. Rechterklik op de afbeelding en ga naar File/Print. Het dialoog voor het printen zou tevoorschijn moeten komen, en eenmaal het zover is, klik dan op "New Printer". Indien je printer nog niet vermeld is, type dan de naam in van je printer, en selecteer je printertype. Et voila, je bent nu klaar om vanuit The GIMP te printen. Speel met de instellingen en veel plezier :)

3.  Linux gebruiken als een Windows compatibele Printserver

Linux kan een prachtige printserver zijn, maar jah, Linux is dan ook gewoon prachtig. Het eerste wat je moet doen is /etc/samba/smb.conf aanpassen aan je eigen noden. Het smb.conf-bestand bevat alle instellingen die je Linuxpc zullen doen lijken alsof ze een Windows NT server is. Ik heb een voorbeeld smb.conf bijgeleverd. Pas deze aan naar je eigen noden.

Codevoorbeeld 3.1: Voorbeeld 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 
   

Nu dat SAMBA geconfigureerd is, herstart samba, ga naar je Windows machine en installeer de netwerkprinter. Gemakkelijk eh?