Imprimer
De Diablotins.org.
| Connecter et utiliser une imprimante
|
| ||
| Imprimer sous FreeBSD est très simple, la ou les imprimantes ( lptx ) sont considérées comme un terminal ASCII.
|
Sommaire |
Bases
Le système n'intègre que lpr, les autres gestionnaires sont des ports.
Chaque gestionnaire devra gérer un Spool, souvent placé dans /var/spool et liste ses imprimantes dans /etc/printcap.
L'imprimante par défaut étant nommée «lp», je vous conseille donc d'en nommer une ainsi dans ce fichier.
Lpr
Si vous utilisez une imprimante ASCII, PostScript ou tout autre protocole qui soit une succession de commandes ASCII vers l'imprimante, lpr(1) est le moyen le plus simple d'imprimer. Le gestionnaire se contentant de diffuser le contenu ASCII du fichier à imprimer vers l'imprimante.
Si on peut le configurer pour un pilote d'impression propriétaire, la manipulation du fichier de configurer peut vous paraître barbare au premier abord.
Il est composé du démon lpd(1) et de divers outils pour le piloter.
Ajoutez l'entrée suivante dans /etc/rc.conf pour le lancer au démarrage:
lpd_enable="YES"
Un script RC du monde est disponible dans /etc/rc.d/ pour le piloter.
Configurer
Créez simplement une imprimante dans /etc/printcap et définissez en les caractéristiques.
Pour utiliser un pilote d'impression particulier, fichier «.ppd» que vous avez chargé sur un site ou par les ports, il vous faut aussi installer des filtres, scripts qui vont convertir vos documents, PostScript en général, vers le format digéré par ce pilote.
En règle générale, les bannières d' entêtes ne vous sont pas agréables; Utilisez le champ «sh» pour les supprimer.
Locale
Une imprimante connectée sur le port parallèle:
lp|Mon Imprimante Parallèle:\ lp=/dev/lpt0:sh:
Une imprimante connectée sur le port USB:
lp_usb|Mon Imprimante USB:\ lp=/dev/ulpt0:sh:
Réseau
Une imprimante connectée sur réseau, nommée «lp» dans le fichier printcap de la machine 192.168.0.1 où elle est connectée:
lp_distante|Mon Imprimante réseau:\ lp=:\rm=192.168.0.1:\rp=lp:sh:
Les filtres
Obtenez un pilote pour votre imprimante.
Par exemple, le fichier HP.ppd pour une HP LaserJet récupéré sur LinuxPrinting.
Choisissez un filtre.
Dans le cas de l'imprimante HP LaserJet 4L, j'ai choisi le port print/foomatic-filters et placé HP.ppd dans /etc/foomatics:
lp|Laset Jet 4L|Laser Bureau:\ :lp=/dev/lpt0:\ :sd=/var/spool/lpd/l4:\ :if=/usr/local/bin/foomatic-rip:\ :af=/etc/foomatic/HP.ppd:\ :sh:
Imprimer
Dans la configuration précédente, le fichier doit être de format PostScript. Pour l'imprimer, entrez simplement:
lpr FichierAImprimer.ps
Ou
lpr -Plp_usb FichierAImprimer.ps
Vérifiez:
lpq 1st david 42 FichierAImprimer Impression n° 42 en attente
Ou
lpq -Plp_usb
Annulez l'impression:
lprm 42
ou toutes les impressions:
lprm
Utilisations multiples
Vous pouvez multiplier les entrées pour une même imprimante, chacune correspondant à un filtre en particulier:
lp|Laset Jet 4L|Impression PostScript:\ :lp=/dev/lpt0:sd=/var/spool/lpd/l4:\ :if=/usr/local/bin/foomatic-rip:af=/etc/foomatic/HP.ppd:\ :sh: lpRaw|Laser Sans Filtre|Impression ASCII:\ :lp=/dev/lpt0:sd=/var/spool/lpd/raw
Notez que chaque imprimante décrite doit avoir son propre répertoire de spool.
Cups
Installez le port print/cups.
Ce dernier installe le script RC pour piloter son démon: cupsd.
Ajoutez l'entrée suivante dans /etc/rc.conf pour le lancer au démarrage:
cupsd_enable="YES"
Cups est livré avec une interface Web sur le port 631 qui vous guidera dans sa gestion.
Configurer
Configurez cups dans /usr/local/etc/cups/cupsd.conf. Par défaut, il est utilisable dans un contexte local.
Cups décrit les imprimantes dans /usr/local/etc/printers.
Une fois installé, consultez la documentation du cups.
Ajoutez votre imprimante:
/usr/sbin/lpadmin -p HP -D LaserJet -L Bureau -E -v parallel:/dev/lp0 -m HP.ppd
-p est le nom
-v est la connexion.
-m est le pilote. (par défaut dans /usr/local/etc/cups/ppd/)
Vérifiez que votre imprimante se trouve dans /etc/printcap:
HP|LaserJet|Bureau:rm=localhost:rp=HP:
Vous pouvez aussi utiliser l'interface WEB.
Virtuelle
Le port print/cups-pdf va vous permettre d'installer une imprimante virtuelle qui va générer des fichiers PDF.
Par défaut, il place les fichiers dans /var/spool/cups-pdf/utilisateur/.
Pour mieux retrouver ses fichiers, placez les dans votre espace:
make OUTPUT_DIRECTORY=~/cups-pdf -DFORCE_PKG_REGISTER install clean
Ensuite, ajoutez simplement cette imprimante, avec un pilote GENERIC.
Depuis la version 1.2
Une interface WEB sécurisée est disponible.
Ensuite, un utilisateur et un groupe d'utilisateurs «cups» sont créés.
Il vous faut alors leur affecter les crédits sur les périphériques concernés par l'impression.
Soit, pour ceux qui sont connectés au démarrage de la machine, utiliser /etc/devfs.conf:
own lpt0 cups:cups port parallèle perm lpt0 0666
Ou, pour ceux que l'on connecte à la volée, comme les imprimantes USB, utilisez /etc/devfs.rules:
[system=10] add path 'unlpt*' mode 0660 group cups add path 'ulpt*' mode 0660 group cups
Camoufler
Pour camoufler cups dans le système, installez le port print/cups-lpr et ajoutez les entrées suivantes dans /etc/make.conf:
NO_LPD=true Ne pas construire lpd CUPS_OVERWRITE_BASE=yes Camouflage
Ceci a disparu avec les versions de cups délivrées à partir de la version 1.2.
Pour les versions plus récentes de FreeBSD, il faut utiliser /etc/src.conf
david:~>grep LPR /etc/src.conf WITHOUT_LPR=yes
Réseau
Ajoutez les clients à autoriser dans cupsd.conf sous la rubrique «location»:
<location> # Par défaut Order Deny,Allow Deny From All Allow From 127.0.0.1 # Ajoutez un client Allow From 192.168.0.2 </location>
Lprng
LPRng est un concurrent du précédent bien que plus inspiré de LPD.
Il permet de faire énormément de chose assez complexes pour prendre en compte les spécificités des imprimantes modernes, comme une une impression recto/verso à partir du bac 7 sur 3 feuilles en colonnes.
Installez le port sysutils/LPRng.
Configurer
La configuration est la même que pour LPR qui utilise /etc/printcap.
Mais sa configuration est étendue à d'autres fichiers:
- /usr/local/etc/lpd.conf
- /usr/local/etc/lpd.perms

