Configurer un client d'impression lpd

Auteur : Olivier BOYER - oboyer () ajoute ! org

Mots clés

FreeBSD, lp, lpd, printing, impression

Introduction

Ce document décrit comment configurer un client d'impression lpd via le réseau. Il utilise le client d'impression standard livré avec FreeBSD.

Ce document s'appuie sur un FreeBSD 4.9.

Présentation de la maquette

  • serveur d'impression : smoking.leaves.org
  • adresse IP du serveur : 192.168.0.1
  • nom de l'imprimante : lp
  • l'imprimante est une HP-670C

Note

Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.

Pré-requis

  • avoir un serveur lpd(8) fonctionnel
  • connaître son nom et son adresse IP
  • connaître le nom de la file d'impression à atteindre

Configurer la résolution de noms

Le serveur d'impression smoking doit être connu du dns ou défini dans le fichier /etc/hosts. Dans le cas contraire, il sera impossible à lpd(8) de connaitre l'adresse IP du serveur d'impression.

Modifier comme suit le fichier /etc/hosts

192.168.0.1    smoking.leaves.org   smoking

Modifier le fichier /etc/printcap

Ajouter les lignes suivantes au fichier /etc/printcap :

# remote printer HP-670C on smoking
lp|line printer on smoking:\
        :lp=:sd=/var/spool/output/smoking:lf=/var/log/lpd-errs:\  
	:rm=smoking:rp=lp

Créer le répertoire de spool

# mkdir -p /var/spool/output/smoking
# ls -l /var/spool/output
total 2
drwxr-xr-x  2 root  daemon  512 Mar 28 18:03 smoking

Vérifier la configuration de /etc/printcap

# chkprintcap

Si aucune erreur n'est affichée, alors, la configuration est valide.

Créer le fichier de log

# touch /var/log/lpd-errs

Démarrer le demon lpd(8)

# lpd

Pour debugger, lancer lpd(8) comme suit :

# lpd -lc

Extrait de la pâge de manuel de lpd(8) :

     -c      By default, if some remote host has a connection error while try-
	     ing to send a print request to lpd on a local host, lpd will only
	     send error message to that remote host.  The -c flag causes lpd
	     to also log all of those connection errors via syslog(3).

     -l      The -l flag causes lpd to log valid requests received from the
	     network.  This can be useful for debugging purposes.

Démarrer automatiquement le daemon lpd(8)

Ajouter les lignes suivantes au fichier /etc/rc.conf :

lpd_enable="YES"                # Run the line printer daemon.
lpd_program="/usr/sbin/lpd"     # path to lpd, if you want a different one.
lpd_flags="-s"                  # Flags to lpd (if enabled).

Extrait de la page de manuel de lpd(8) :

     -s      The -s (secure) flag causes lpd not to open an Internet listening
	     socket.  This means that lpd will not accept any connections from
	     any remote hosts, although it will still accept print requests
	     from all local users.

Lancer lpd avec l'option -s pour imprimer en réseau peut paraître étrange. Cependant, lpd client n'a pas besoin d'écouter sur une socket internet, puisque ce n'est pas lui qui offre le service d'impression. Le client lpd doit seulement être capable de recevoir les requêtes d'impression locales, et de les transmettre au serveur lpd du réseau.

Les binaires de la suite lp peuvent joindre un serveur de spool soit par socket internet, soit par socket unix. C'est cette derniere possibilité, plus securisée, qui est retenue dans cet exemple.

 
doc/freebsd/client_lpd.txt · Dernière modification: 2009/12/23 22:36 (édition externe)     Haut de page