KubuntuBlog

Les politiciens, c'est comme les couches des bébés: il faut les changer
régulièrement, et ce, pour les mêmes raisons!

Aller au contenu | Aller au menu | Aller à la recherche

samedi 25 novembre 2006

Cups : Installer et utiliser une imprimante via le réseau

Nous allons voir comment connecter une imprimante sur un serveur, la partager sur le réseau et enfin comment l'utiliser à partir des autres ordinateurs connectés au réseau local. Reseau

Sur le serveur

La première étape est d'installer cupsd, le serveur d'impression. Nous allons aussi installer les drivers pour un certain nombre d'imprimantes. Pour cela vous pouvez passer par synaptic, adpet ou la ligne de commande :

sudo apt-get install cupsys foomatic-db-hpijs hplip-ppds
[...]
Les NOUVEAUX paquets suivants seront installés :
  cupsys fontconfig gs-common gs-esp gsfonts laptop-detect libcupsimage2 libcupsys2
  libfontconfig1 libice6 libpaper1 libpoppler1 libslp1 libsm6 libtiff4 libx11-6 libxau6 libxext6
  libxt6 poppler-utils ttf-bitstream-vera ttf-freefont x11-common
  foomatic-db foomatic-db-hpijs foomatic-filters hpijs libsnmp-base libsnmp9

La, vous remarquez que certains paquets en rappoort avec X11 vont être installés ! Il s'agit de la Xlib[1] qui n'a absolument rien à faire sur un serveur sans interface graphique :(
J'ai créé le bug 72324 à ce propos.

Pour Installer l'imprimante en elle-même sur le serveur, je vous renvoi vers la doc du wiki ubuntu-fr

Mais si votre serveur est effectivement sans X11, vous allez avoir un peu de mal à utiliser l'interface web de cups[2]. Pour autoriser l'acces du reseau local, éditez le fichier /etc/cups.d/ports.conf pour qu'il ressemble à celui-ci :

# ouverture pour tous
# il faudrait trouver comment specifier un sous-reseau
Listen *:631

Puis nous allons autoriser l'administration de cups à partir d'une autre machine du reseau local (en l'occurence 192.168.0.100) : Editez /etc/cups/cupsd.conf

# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow localhost
Allow 192.168.0.100
Encryption Never # sinon, generer un certificat
</Location>
<Location /admin/conf>
# Laissez les lignes déjà présentes, et ajoutez la suivante :
Allow 192.168.0.100
</Location>
# acces aux imprimantes du reseau local
<Location />
Order allow,deny
Allow localhost
Allow @LOCAL
</Location>

Puis il vous faut redémarrer cups :

sudo invoke-rc.d cupsys restart
# verifier qu'il écoute bien tout le monde :
netstat -ln|grep 631
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN

Installer l'imprimante dans KDE

Voyons maintenant comment configurer votre imprimante à partir de l'interface graphique de KDE sur une kubuntu standard.
Allez dans Paramètres du système puis Imprimantes.
Ajouter / Ajouter une imprimante/une classe
Quand demandé, choisissez Serveur CUPS distant Capture

puis entrez le nom ou l'adresse du serveur Capture

vous pouvez alors choisir l'imprimante à installer Capture

à ce moment, l'assistant vous demande de choisir le modèle. Il ne devrait pas le faire puisque ce n'est pas à lui de gérer le driver. Il s'agit apparament d'un bug KDE qui se combine avec une regression Ubuntu/cupsys[3] Pour contourner le problème choisissez simplement Impression brute. Capture

Vous pouvez alors tester votre imprimante.
Je passe sur la suite qui ne présente pas de difficulté particulière. Pensez juste à entrer une localisation/description, c'est toujours utile Capture Et voila, votre imprimante est maintenant completement utilisable.

Installer l'imprimante sous Gnome

Désolé, je n'ai pas de Gnome sous la main, je vous renvois alors vers la doc ubuntu-fr et en particulier la

Installer simplement la partie client

Voyons maintenant comment installer un client leger. Par exemple une machine sans GUI pour configurer les imprimantes, ou une machine sans serveur CUPS. Nous allons alors nous contenter de la partie cliente de CUPS.

Pour cela, installez cupsys-client uniquement :

sudo apt-get install cupsys-client

ce paquet va remplacer les outils d'impression standard d'Unix (lp, lpq, lprm, ...)
Editez alors le fichier /etc/cups/client.conf pour y mettre le nom de votre serveur :

ServerName fortcigogne

et voila ! les outils de base imprimeront maintenant via votre serveur CUPS distant. Par exemple dans abiword sous Xubuntu dapper : Capture

Vous pouvez aussi voir les imprimantes en ligne de commande :

jjl@client:~$ lpstat -t
scheduler is running
no system default destination
device for HP_LaserJet_net: parallel:/dev/lp0
HP_LaserJet_net accepting requests since sam 18 nov 2006 19:26:02 CET
printer HP_LaserJet_net is idle.  enabled since sam 18 nov 2006 19:26:02 CET

Cette technique peut bien entendu être appliquée à n'importe quelle machine, même si celle-ci dispose d'un serveur CUPS. Dans ce cas, il devient alors inutile.

Conclusion et Liens

Voila, cette petite introduction à CUPS est terminée, il y aurait encore beaucoup à dire, sur le browsing reseau ou l'ergonomie de l'ensemble. Pour cela, je vous renvoi vers les liens ci-dessous.

Notes

[1] libx11 libxau6 libxext6 libxt6 x11-common ...

[2] ou alors essayez links ou lynx ou w3m...

[3] celle-ci devrait déjà être corrigée en edgy et sera un jour reportée en dapper

Sego

Sego

Hehehe