Alors le but est de faire fonctionner une imprimante matricielle EPSON LX 300+II sur un réseau local et ce depuis des postes sous Windows XP et Ubuntu Hardy Heron.

Je me suis assez largement inspiré de ce How-To.

Préalable

  • Avoir installé samba et cups
  • Le serveur samba est visible sur le réseau
  • L'imprimante est reconnue par CUPS

Mise en place des drivers

Pour vous éviter de devoir fouiller, ils sont liés à ce billet. ps5ui.dll, pscript.hlp, pscript.ntf et pscript5.dll viennent de ma machine virtuelle XP. cups6.inf, cups6.ini, cupsps6.dll et cupsui6.dll d'ici.
Décompressez l'archive et placez le contenu dans /usr/share/cups/drivers.
Attention si vous ne passez pas par l'archive fournie dans ce billet : les fichiers doivent obligatoirement être intégralement en minuscule !

Paramétrage de Samba

Voici les réglages principaux :

[global]
   smb ports = 445 139
   hosts allow = 192.168.0.0/24 localhost 127.0.0.0/24 # attention localhost et 127.0.0.0/24 (malgré un fichier hosts correct, je n'arrivais pas à me connecter en local...) 
   hosts deny = ALL
...
   security = user # obligatoire à l'installation des drivers, cups y tient absolument
   invalid users = root
...
   encrypt passwords = yes
   passdb backend = tdbsam
   obey pam restrictions = yes
   guest account = nobody # vérifier qu'il existe
...
   load printers = yes
   printing = cups
   printcap name = cups
   printer admin = raphael /!\ à modifier 
...
[printers]
   comment = Imprimantes
   browseable = no
   path = /var/spool/samba
   printable = yes
   public = yes
   writable = no
   create mode = 0700
   printer admin = raphael /!\ à modifier 
   guest ok = yes

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = no
   writable = no
   guest ok = yes
   write list = raphael /!\ à modifier 
   admin users = raphael /!\ à modifier 

Il faut bien entendu modifier "raphael" à tous les endroits nécessaires et inscrire le nom de l'administrateur (comme d'habitude, root est à éviter).
Créons maintenant le compte utilisateur :

sudo smbpasswd -a raphael

Et on démarre ou redémarre le tout :

sudo /etc/init.d/samba restart
sudo /etc/init.d/cupsys restart

Installation de l'imprimante

C'est on ne peut plus simple :

sudo cupsaddsmb -h <serveur cups> -H <serveur samba> -U raphael -a -v

Et voilà, le serveur d'impression est installé, vous pouvez passer la sécurité à share si vous le souhaitez (avec cette configuration, les seules adresses autorisées sont celles du réseau local) :

   security = share