Impression sous Linux
Le système d'impression
Il est assuré par le "démon" lpd (=line printer deamon),
lancé au démarrage.
Comme beaucoup de démons, il est géré par un script situé dans
/etc/rc.d/init.d/lpd
Le script lpd
attend un des arguments start, stop ou status
, selon que l'on veut commander le démarrage du démon, son arrêt ou de l'info par le script
Il parait que le démon est instable, il faut donc
savoir le relancer
Lorsqu'il est rendu actif, ce démon lpd lit le fichier
de configuration /etc/printcap, imprime les fichiers d'impression
éventuellement en attente et se met à l'écoute de
nouvelles tâches d'impression.
lpd active 2 autres démons listen
et accept, qui sous-traitent les tâches d'impression.
Le sous-système d'impression sait gérer aussi bien des
imprimantes connectés physiquement au serveur (imprimante locale),
que des imprimantes accessibles par le réseau (imprimante lointaine).
En particulier on peut envoyer des fichiers d'impression dans une file
d'attente Linux, à partir de station Win95/98 via le protocole
Samba.
Les requêtes d'impression provenant du réseau sont écoutées
sur le port 515 nommé printer (pour le voir éditer
le fichier /etc/services)
Manipulations
-
arrêter le démon lpd
-
demander le status
-
redémarrer ce démon ..
Configuration du service d'impression
-
La configuration lors de l'installation est recommandée.
-
Le fichier de config /etc/printcap contient des informations
sur les imprimantes rattachées localement ou lointaine avec
lesquelles le démon doit communiquer.
-
On conseille de ne pas directement le modifier (très risqué
à cause de la difficulté de respecter les formats d'écriture).
-
Le lire (mc -c) --> il contient la ligne lp=/dev/lp0:\
qui assigne à l'imprimante par défaut nommée lp,
le fichier de périphérique
/dev/lp0, qui correspond au
port parallèle LPT1
Pour tous les détails voir le manuel : man printcap
-
Exemples
# nom court de l'imprimante locale
lp:\
# nom du répertoire
de la file d'attente (sd=spool directory)
:sd=/var/spool/lpd/lp:\
# la taille maximum du
fichier est illimitée (car 0)
:mx#0:\
# pas de page de séparation
:sh:\
# nom du fichier spécial
pour printer locale
:lp=/dev/lp0:\
# nom du fichier de traitement
du fichier
:if=/var/spool/lpd/lp/filter:
# nom court de l'imprimante REMOTE
lp:\
# nom du répertoire
de la file d'attente
:sd=/var/spool/lpd/lp:\
............................
# nom du serveur d'impression
distant (rm=remote machine)
:rm=pc1.cfipen.fr:\
# nom de l'imprimante distante
(rp=remote printer)
&nbModifications, ajout d'une imprimantesp; :rp=lp:\
Outil graphique printtool
- On peut complètement modifier le paramétrage du service d'impression, supprimer ajouter des imprimantes grâce à l'utilitaire graphique
printtool
- Le lancer dans un terminal
X
ou par : K/appli non KDE/Système/Printtool
, puis Add
- Si l'imprimante est connectée à un port parallèle, elle est auto-détectée, en général sur
/dev/lp0
, l'équivalent de LPT1.
- Normalement, l'installation va créer un rép. de spool
dans
/var/spool/lpd/
qui appartient à root
avec les droits 755
- Exemple d'installation d'une imprimante locale
- Exemple d'installation d'une imprimante lointaine
Commandes générales d'impression
Requête d'impression : lpr <liste fichiers>
Sur la station Linux cliente du service (pour une imprimante distante ou
locale) la commande
lpr /etc/smb.conf demande l'impression
du fichier spécifié en argument, dans la file d'attente.
Par défaut, il s'agit de la file lp, c'est-à-dire
le fichier situé à /var/spool/lpd/lp:\.
Remarques complémentaires
-
Pour imprimer sur une autre imprimante :
lpr -P<nom printer>
-
Si un utilisateur envoie régulièrement ses fichiers à
une imprimante particulière, on peut affecter la variable d'environnement
PRINTER dans son profil personnel, le fichier
$HOME/bash_profile
-
Syntaxe générale :
lpr -P<nom-printer> -#<nb
copies> <liste fichiers>
-
lpr
seul, attend en scutant l'entrée standard; donc si on
saisit du texte, terminé par le caractère de fin de fichier
^D
, on l'imprime directement !
Suivi des jobs d'impression
-
lpq affiche les travaux de la file d'attente de l'imprimante lp
-
lprm permet de supprimer un job d'impression en attente..
-
Naturellement, seul root peut supprimer des travaux dont il n'est
pas le demandeur.
Cette gestion est plus facile avec un outil fonctionnant sous X.
Sur le serveur, en session X-KDE, on peut lancer l'utilitaire KLpq
par
la commande :
K / Utilitaires / File d'impression
Il permet de lister, supprimer des jobs en attente ou d'en modifier
les priorités.
Compléments
- Utilitaire d'administration en ligne de commandes
lpc
: voir le manuel man lpc
- Pour imprimer sous SAMBA
- Examiner le script
lpd