Ceci est une ancienne révision du document !
Partage d'une imprimante sur un réseau local
Ce didacticiel va vous permettre, en quelques clics, de partager une imprimante sur votre réseau local. L'imprimante est installée sur un poste Ubuntu. La situation est donc la suivante :
Pré-requis
Vous devez avoir :
- Un réseau fonctionnel
- Votre imprimante déjà installée par la procédure normale
- Le PC serveur, qui va partager l'imprimante, doit être en IP fixe sur le réseau local
Configuration du poste Ubuntu serveur
La configuration du poste Ubuntu qui remplit le rôle de serveur d'impression dépend pour une des manipulations à effectuer de la version d'Ubuntu que vous avez installé. Référez-vous à ce moment là à celle qui convient à votre situation.
Partie commune à toutes les versions
Éditez le fichier /etc/cups/cupsd.conf. Repérez la partie du fichier nommée <Location />, et rajoutez-y la ligne suivante :
Allow 192.168.x.yyy # où 192.168.x.yyy est l'adresse IP de la machine cliente.
Le contenu du fichier doit maintenant ressembler à
# Restrict access to the server... <Location /> Order allow,deny Allow localhost Allow 192.168.1.10 # ici, la machine cliente a pour IP 192.168.1.10 </Location>
S'il y a d'autres clients, rajouter leurs adresses de la même façon.
Pour que tout ordinateur connecté au réseau local puisse accéder à l'imprimante, utilisez l'adresse de tout le réseau : 192.168.1.*
Pour Edgy (6.10), Feisty(7.04), et les versions supérieures
- Éditez le fichier /etc/cups/cupsd.conf.
- Commentez la ligne Listen localhost:631 et rajoutez une ligne contenant Port 631. Le contenu du fichier ressemble à :
#Listen localhost:631 Port 631
- Sauvegardez les modifications du fichier
Pour Dapper (6.06)
- Éditez le fichier /etc/cups/cups.d/ports.conf.
- Commentez la ligne Listen localhost:631 et rajoutez une ligne contenant Port 631. Le contenu du fichier ressemble à :
#Listen localhost:631 Port 631
- Sauvegardez les modifications du fichier
Partie commune à toutes les versions
Relancez le démon CUPS par la commande :
sudo /etc/init.d/cupsys restart
Configuration d'un client Ubuntu
- Dans le Menu Système > Administration > Impression
- Choisissez d'<Ajouter une imprimante>
- Dans la fenêtre qui apparaît, indiquez "Imprimante réseau" comme "Type d'imprimante" et dans le menu déroulant, sélectionnez l'option "Imprimante CUPS".
- Indiquez comme URL pour l'imprimante réseau :
http://adresseIP_duServeur:631/printers/nomImprimante
- Cliquez Bouton <Suivant>, Sélectionnez modeleDeLimprimantePartagée, Cliquez Bouton <Suivant>, <Appliquer>
Configuration d'un client Windows
- Modifier le fichier C:\WINDOWS\system32\drivers\etc\hosts sur le PC client Windows (Windows XP ne reconnaît pas l'adresse IP, il faut donc l'associer à un nom d'hôte) :
127.0.0.1 localhost 192.168.x.yyy nom_host
192.168.x.yyy est l'adresse IP du poste Ubuntu où est reliée l'imprimante, et nom_host le nom du poste Ubuntu sur le réseau local.
- Pour Windows XP ou Windows 2000, ajouter l'imprimante en utilisant la fonction dédiée du panneau de configuration Windows XP, et utilisez l'adresse suivante pour la connexion réseau :
http://nom_host:631/printers/nomimprimante
nom_host est le nom du PC serveur et nom_imprimante est le nom de votre imprimante sur le PC serveur.
Configurations particulières
Ouverture du Port 631
Étape 1 : Installation de Firestarter
Il s'agit d'installer une interface graphique du parefeu d'ubuntu. Pour cela :
- utiliser Synaptic
- ou bien dans un terminal taper
sudo apt-get install firestarter
Étape 2 : Autoriser le service
Pour cela aller dans le menu
- Système / Administration / Firestarter
Sélectionner :
- l'onglet Politique
- Dans la partie inférieure Autoriser le service, faire un clic-droit pour ajouter une nouvelle règle
- Inscrire le port 631 (le nom du service IPP se remplit automatiquement) ainsi que l'adresse IP du client.
- Quitter Firestarer
Utilisation de Samba pour partager l'imprimante
Si le partage avec CUPS ne fonctionne pas, vous pouvez utiliser le partage Samba, qui est tout de même moins conseillé.
Côté Serveur (Ubuntu Feisty)
Ajoutez ces lignes dans smb.conf (/etc/samba/smb.conf) :
[global]
…
printing = cups printcap name = cups
[printers] browseable = no printable = yes writable = no guest ok = yes comment = All Printers (please use "MS Publisher Color Printer" Driver) public = yes printer admin = root
[print$] guest ok = no comment = Printer Drivers (please use "MS Publisher Color Printer" Driver writable = no path = /etc/samba/drivers write list = root
Exécutez la commande suivante:
cupsaddsmb -v -U root -a
Ceci ajoute toutes les imprimantes CUPS vers Samba.
Coté Windows (XP)
La navigation dans le dossier "Imprimantes" doit maintenant être possible, et le client doit pouvoir voir toutes les imprimantes proposées par le serveur ubuntu/
Si Windows vous demande un driver, vous pouvez utiliser "Générique/MS Publisher Color Printer" pour une imprimante couleur ou l'autre "MS Publisher" pour une imprimante noir et blanc.
Vous pouvez aussi utiliser des drivers CUPS, mais cela suppose que vous avez configuré CUPS pour qu'il exporte les bons drivers. Personnellement, je ne les ai pas testés :
- Driver pour windows : http://www.cups.org/windows/software.php?6.0 (les binaires dll et inf sont compilés dans les packages source)
Quelques conseils
Nous avons été plusieurs amis a faire cette solution chez nous, et avant de lire, je vous conseille de lire nos problèmes, et comment les résoudre.
- Ne pas oublier d'installer les drivers de l'imprimante sur la machine windows
- Dans l'étape 2, on voit «
Allow From 192.168.1.*
», sur certains routeurs, on preferera «Allow From 192.168.0.*
». Si vous preferez l'ouvrir à toutes les plages d'IP sur votre réseau (recommandé si vous avez des emm…brouilles avec ça,Allow From 192.168.*.*
. - Sous Windows pour l'étape 1 il faut remplacer l'adresse IP 192.168.1.100 par l'adresse IP de votre ordinateur (visible dans Reglages du systeme → Configuration Reseau)
Configuration particulière
Le petit fichier qui fait la différence
VERSION DAPPER
schéma du réseau
-1PC serveur (ubuntu dapper) sur lequel sont connectées 2 imprimantes (Epson-stylus-CX3200 et Epson-stylus-color-1160) -1 portable en dualboot windowsXP/ubuntu dapper -1 PC de salon en dualboot windowsXP/mandriva2006
Les 3 ordinateurs sont connectés sur internet en wifi via la freebox en mode routeur non dégroupé (ip dynamique). Des IP fixes ont été données à chaque ordinateur :
- PC serveur (ubuntu) = 192.168.0.4
- portable (win/ubuntu) = 192.168.0.3
- PC de salon (win/mandriva) = 192.168.0.2
Objectif
partager les 2 imprimantes via cups et samba pour le portable (que ce soit sous windowsXP ou ubuntu dapper) et le PC de salon (que ce soit pour windowsXP ou mandriva2006). A première vue cela ne doit pas être si différent des solutions apportées plus haut, mais je dois vous avouer qu'il m'a fallu pas mal de temps pour trouver la solution et faire fonctionner cette configuration.
1ère étape le PC serveur
1-installer les paquets cupsys, cupsys-driver-gutenprint
sudo apt-get install cupsys cupsys-driver-gutenprint
2-Dans le fichier de configuration /etc/cups/cupsd.conf, il faut mettre dans la section <Location/> :
# Restrict access to the server... <Location /> Order Deny,Allow Deny From All Allow From 192.168.0.0/255.255.255.0 </Location>
3-dans le fichier /etc/cups/cups.d/ports.conf , il faut commenter "listen localhost:631" et rajouter "port 631" :
#Listen localhost:631 Listen /var/run/cups/cups.sock Port 631
4-ensuite vous configurez vos imprimantes en graphique en passant par SYSTEME—>ADMINISTRATION—>IMPRESSION, vous cliquez 2 fois sur nouvelle imprimante et vous cochez "imprimante locale", normalement si vos imprimantes sont allumées, elles doivent être détectées automatiquement. Vous suivez l'assistant pour la fin de la configuration puis vous lancez une page de test pour vérifier que tout fonctionne bien.
Vous redémarrez cups :
# /etc/init.d/cupsys restart
C'est tout pour le PC-SERVEUR (ubuntu)
2ème étape le portable-client (win/ubuntu)
je passe l'étape de configuration sur windowsXP parce que ça ne pose aucun problème particulier, tout est assisté. Par contre sur ubuntu , j'ai eu beaucoup plus de difficultés, donc voici comment j'ai procédé :
le petit détail qui fait la différence
1-on installe le paquet cupsys-client
sudo apt-get install cupsys-client
2-Ensuite, éditez le fichier /etc/cups/client.conf et décommentez la ligne commençant par ServerName. Sur cette ligne, vous devez alors préciser l'adresse IP ou le nom DNS du serveur d'impression. SI CE FICHIER N'EXISTE PAS, CREEZ LE A CET EMPLACEMENT : /home/"user"/.cups/client.conf ET METTEZ LA LIGNE SUIVANTE:
ServerName 192.168.0.4 #correspond à l'ip de mon PC-serveur (serveur d'impression)
C'était tout bêtement ce petit fichier qui empêchait de faire fonctionner les imprimantes sur le portable avec ubuntu.
Avec ça tout devrait fonctionner
Sur le PC de salon, l'impression sur winXP fonctionne mais je n'ai pas encore testé sur mandriva2006, à suivre …
Toutes ces infos sont issues de ce lien :
http://people.via.ecp.fr/~alexis/formation-linux/imprimante.html
Contributeurs : figaro, Incoming, KinderSurpriZ