Gentoo's Handleiding in het Printen
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 |
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
# 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/*
/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
|
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?
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|