Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:installer_pilote_canon_lbp [Le 27/04/2012, 18:08]
murex MàJ pour 12.04LTS
tutoriel:installer_pilote_canon_lbp [Le 14/07/2014, 15:18]
murex Remplacée par : imprimante_canon_capt2
Ligne 5: Ligne 5:
 ====== Installer et tester une imprimante Canon LBPxxxx en ligne de commande ====== ====== Installer et tester une imprimante Canon LBPxxxx en ligne de commande ======
  
-Cette page utilisant uniquement le [[:​terminal]] est destinée à ceux qui, après avoir suivi le tutoriel d'​**[[:​installer_canon_lbp|installation ​des drivers dédiés ​à leur imprimante Canon]] série Lasershot** ((nommée LBP-xxxx, où xxxx est le numéro d'​identification de votre imprimante)),​ ne veulent oune peuvent pas suivre la [[:​tutoriel:​installer_imprimante_preinstalles|méthode d'​installation d'une imprimante à partir de pilotes pré-installés]] qui est une technique en mode graphique.\\ +Cette pageutilisant uniquement le [[:​terminal]]est destinée à ceux qui, après avoir suivi le tutoriel d'​**[[:​installer_canon_lbp|installation ​du pilote dédié ​à leur imprimante Canon]] série Lasershot** ((nommée LBP-xxxx, où xxxx est le numéro d'​identification de votre imprimante)),​ ne veulent ou ne peuvent pas suivre la [[:​tutoriel:​installer_imprimante_preinstalles|méthode d'​installation d'une imprimante à partir de pilotes pré-installés]] qui est une technique en mode graphique.\\ 
-N'​oubliez pas que la documentation fournie dans l'​archive d'​installation de votre pilote vous donnera ​toutefois plus d'informations ​que cette page.+N'​oubliez pas que la documentation fournie dans l'​archive d'​installation de votre pilote vous donnera ​des informations ​complémentaires à cette page.
 <​note>​Si vous n'​êtes pas familier avec le vocabulaire utilisé ou si vous désirez avoir une vision d'​ensemble de l'​impression sous Ubuntu, consultez la page << **[[:​impression_sous_ubuntu|Comprendre l'​impression sous Ubuntu]]** >>​.</​note>​ <​note>​Si vous n'​êtes pas familier avec le vocabulaire utilisé ou si vous désirez avoir une vision d'​ensemble de l'​impression sous Ubuntu, consultez la page << **[[:​impression_sous_ubuntu|Comprendre l'​impression sous Ubuntu]]** >>​.</​note>​
  
Ligne 12: Ligne 12:
  
   * Maîtriser un minimum le [[:​terminal]];​   * Maîtriser un minimum le [[:​terminal]];​
-  * Avoir installé ​les drivers correspondants ​à votre imprimante d'​après la [[:​liste_imprimantes_canon|liste des imprimantes Canon]];+  * Avoir [[:​installer_canon_lbp|installé ​le pilote]] ​ correspondant ​à votre imprimante d'​après la [[:​liste_imprimantes_canon|liste des imprimantes Canon]];
   * Avoir allumé votre imprimante; ​   * Avoir allumé votre imprimante; ​
   * Avoir redémarré votre ordinateur;   * Avoir redémarré votre ordinateur;
-  * Connaître le nom du fichier ppd(([[http://​fr.wikipedia.org/​wiki/​Printer_Postscript_Description|Printer Postscript Description]])) du pilote : <​code>​ls /​usr/​share/​cups/​model/​ | grep CNCUPS</​code>​ +  * Connaître le nom du fichier ppd(([[http://​fr.wikipedia.org/​wiki/​Printer_Postscript_Description|Printer Postscript Description]])) du pilote, correspondant à votre imprimante ​: <​code>​ls /​usr/​share/​cups/​model/​ | grep CNCUPS</​code> ​Pour la plupart des modèles, vous trouverez 2 fichiers ​correspondants à votre imprimante: //CNCUPSxxxxCAPTK.ppd// et //CNCUPSxxxxCAPTJ.ppd//.\\ La documentation Canon recommande le //CNCUPSxxxxCAPTK.ppd//.\\ Si après avoir suivi ce tutoriel votre imprimante ne fonctionne pas, essayez avec le fichier ​//CNCUPSxxxxCAPTJ.ppd//.
-  * Avoir vérifié l'​existence ou créer les dossiers et fichiers : +
-    * **/var/ccpd** +
-    * **/var/captmon** +
-    * **/var/ccpd/fifo0**<​code>​sudo mkdir /var/ccpd +
-sudo mkdir /var/captmon +
-sudo mkfifo ​/var/ccpd/fifo0</code> \\+
  
-==== Pour les versions Ubuntu ​64bits, 11.10 comprise ​==== +===== Pour les versions Ubuntu ​64 bits : 14.04 LTS et 13.10 ==== 
-Installer ​le paquet ia32-libs ​:  **[[apt>​ia32-libs]]** \\ Il fournit les bibliothèques ​32bits ​pour les systèmes 64bits. Elles sont indispensables au fonctionnement des drivers Canon.+Pour son fonctionnement,​ le driver Canon CAPT nécessite la gestion des bibliothèques 32bits pour les systèmes 64bits. \\ 
 +Actuellement,​ ce driver utilise ​le paquet ​//ia32-libs// pour cette gestion. Ce paquet a notamment pour rôle d'​installer l'​ensemble des bibliothèques ​32 bits pour les systèmes 64bits.
  
-==== Pour la version Ubuntu 12.04 64bits ==== +Depuis ​[[:12.04]], Ubuntu utilise une autre technique ​qui ne repose plus sur //​ia32-libs// ​et les bibliothèques s'​installent différemment. \\ 
-Le paquet ia32-libs a été remplacé par multiarch. Les drivers Canon ne prennent pas en compte cette évolution d'​Ubuntu.\\ Il faudra donc __installer manuellement le paquet ia32-libs de la version ​[[:11.10]]__. Cette opération peut paraître complexeaussi lisez et suivez attentivement les opérations ​qui vont suivre. \\ //__Nota:__ le paquet ​ia32-libs, présent dans les dépôts [[:12.04]], est maintenant un paquet de transition qui ne convient pas pour cette installation. +Comme mentionné au [[#Pour la versions Ubuntu 64 bits 12.04 LTS|paragraphe 3]], avec [[:12.04]] il est encore possible ​d'​installer ​l'​ancien ​//​ia32-libs/​/ car les dépendances sont encore assurées.
-// +
-  - **[[:​tutoriel:​comment_installer_un_paquet|installer]] au préalable ​les dépendances** liées au paquet ia32-libs : **[[apt>​lib32asound2,​lib32ffi6,​lib32bz2-1.0,​lib32gcc1,​lib32stdc++6,​lib32z1,​lib32ncurses5,​lib32ncursesw5,​libc6-i386]]** \\ \\ +
-  - Téléchargez puis **[[:​tutoriel:​comment_installer_un_paquet|installez]] le paquet ia32.libs de la version [[:11.10]]**: [[http://packages.ubuntu.com/​oneiric/​ia32-libs]] \\ \\ +
-  - Maintenant que ce paquet ​est installé, il faut **[[:​apt-get#​bloquer_la_mise_a_jour_d_un_paquet|bloquer cette version]]** pour qu'​elle ne soit pas automatiquement remplacée lors de la prochaine mise à jour de votre système. Si vous avez installé le [[:​synaptic|Gestionnaire de paquets Synaptic]], utilisez-le pour bloquer la version du paquet ia32-libs que vous venez d'​installer. \\ \\ Sinon, vous pouvez taper la commande suivante dans un terminal : <​code>​echo "​ia32-libs hold" | sudo dpkg --set-selections<​/code> Pour vérifier que le paquet n'a plus le satut install mais hold : <​code>​dpkg --get-selections | grep ia32-libs<​/code> doit vous retourner : <​code>​ia32-libs ​  hold</code> +
-<​note>​Si vous utilisez la méthode ci-dessus (ligne de commande), à l’ouverture du [[:​gestionnaire_de_mises_a_jour|Gestionnaire de mises à jour]], le paquet ia32-libs apparaîtra dans la liste des mises à jour, mais comme il est bloqué (hold) vous ne pourrez pas le sélectionner.</​note>​+
  
-===== Préalable pour la version 11.10 uniquement ===== +Avec [[:13.10]] et [[:14.04]] certaines dépendances et/ou bibliothèques installées par //ia32-libs// sont supprimées (lib32asound2 ​...) et d'autres ont changé de versionce qui rend pratiquement impossible l'​installation ​de cet ancien paquet ​//ia32-libs// avec 14.04 et 13.10 en 64bits.
-La version de [[:CUPS]] livrée avec [[:11.10]] n'​utilise plus le module usblp(([[https:​//bugs.launchpad.net/ubuntu/+source/cups/​+bug/​842823|launchpad.net]])) pour communiquer avec les imprimantes USB. +
-De ce fait [[:​tutoriel:​tout_savoir_sur_les_modules_linux#​empecher_le_chargement_d_un_module|ce module est "​blacklisté"​]] pour empêcher son chargement\\ +
-Actuellement les drivers Canon n’intègrent pas cette évolution. Il faut donc rétablir le chargement du module usblp.\\ \\ +
-[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits ​d'administration]] le fichier **/​etc/​modprobe.d/​blacklist-cups-usblp.conf** et modifier //blacklist usblp// pour avoir ceci : +
-<​file>#​ cups talks to the raw USB devicesso we need to blacklist usblp to avoid +
-# grabbing them +
-# blacklist usblp</​file>​ +
-Cette modification permettra au module usblp de créer le répertoire : ///dev/usb/lp0// à l'​apparition de l'​imprimante sur le bus USB.\\ +
  
-<note tip>​Malgré ​cette modification si l'​imprimante est allumée **avant** que le PC ne démarre/​redémarre, il peut arriver que le répertoire : ///​dev/​usb/​lp0// ​ne soit pas automatiquement créé, malgré ​le chargement correct du module usblp.\\ Dans ce cas même si l'​imprimante a été bien installée, elle ne pourra pas imprimer.\\ \\ +Pour cette raison, il ne semble ​pas possible de faire fonctionner les imprimantes utilisant ​le driver CAPT sous 14.04 et 13.10 en 64bits. \\ 
- __Une solution simple consistera alors à débrancher ​et rebrancher la prise USB de l'​imprimante.__\\ +En attendant que Canon sorte une nouvelle version ​du driver ​qui prendra en charge cette évolution ​de Debian/​Ubuntu (?), le plus simple peut consister à utiliser 12.04 LTS ou une version plus récente ​d'Ubuntu ​**en 32 bits**.
-Cette action forcera la création ​du répertoire ///​dev/​usb/​lp0// ​qui a été "​ratée"​ lors de la séquence de démarrage.\\ \\ +
-Si cette prise USB est difficilement accessible, voici une autre possibilité pour que la création du répertoire ///​dev/​usb/​lp0//​ ne soit pas "​ratée"​ lors de la séquence de démarrage.\\ +
- ​[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits ​d'administration]] le fichier ​**/​etc/​modules** et modifier le pour y ajouter //usblp// comme ceci : +
-<​file>#​ /​etc/​modules:​ kernel modules to load at boot time. +
-+
-# This file contains the names of kernel modules that should be loaded +
-# at boot time, one per line. Lines beginning with "#"​ are ignored. +
- +
-usblp +
-lp +
-rtc +
-</​file>​ +
-</​note>​+
  
 +FIXME
  
-Une fois ces opérations effectuées, il faut redémarrer l'​ordinateur en laissant l'​imprimante allumée \\  +===== Pour la version Ubuntu 64 bits : 12.04 LTS ==== 
-Normalement le répertoire: ///dev/usb/lp0// a bien été créé.+Avec les versions 64bits, il faut installer le paquet //​ia32-libs//​. Il fournit les bibliothèques 32bits pour les systèmes 64bits. Elles sont indispensables au fonctionnement du pilote Canon. \\  
 +Depuis [[:12.04]], la gestion des bibliothèques 32bits pour les systèmes 64bits a changé dans Ubuntu. Le paquet ​//ia32-libs//, fourni dans les dépôts correspondants,​ n'est plus compatible avec le pilote Canon.\\ Il faut donc __installer manuellement une version antérieure du paquet ​//ia32-libs//__.\\ Cette opération peut paraître complexe, aussi lisez et suivez attentivement les opérations qui vont suivre. \\ 
  
 +  - **[[:​tutoriel:​comment_installer_un_paquet|installez]] au préalable les dépendances** liées au paquet //​ia32-libs//​ : **[[apt>​lib32asound2,​lib32ffi6,​lib32bz2-1.0,​lib32gcc1,​lib32stdc++6,​lib32z1,​lib32ncurses5,​lib32ncursesw5,​libc6-i386]]** \\ \\
 +  - Téléchargez puis **[[:​tutoriel:​comment_installer_un_paquet|installez]] une version antérieure du paquet //​ia32.libs//​**:​ **[[http://​fr.archive.ubuntu.com/​ubuntu/​pool/​universe/​i/​ia32-libs/​ia32-libs_2.7ubuntu26.1_amd64.deb|ia32-libs]]** \\ \\ Ces deux étapes peuvent être résumées dans un [[:​terminal]] en saisissant par exemple les commandes suivantes :<​code>​sudo apt-get update</​code>​ <​code>​sudo apt-get install lib32asound2 lib32ffi6 lib32bz2-1.0 lib32gcc1 lib32stdc++6 lib32z1 lib32ncurses5 lib32ncursesw5 libc6-i386</​code>​ <​code>​wget http://​fr.archive.ubuntu.com/​ubuntu/​pool/​universe/​i/​ia32-libs/​ia32-libs_2.7ubuntu26.1_amd64.deb</​code>​ <​code>​sudo dpkg -i ia32-libs_2.7ubuntu26.1_amd64.deb</​code>​ \\
 +  - Maintenant que ce paquet est installé, il faut **[[:​apt-get#​bloquer_la_mise_a_jour_d_un_paquet|bloquer cette version]]** pour qu'​elle ne soit pas automatiquement remplacée lors de la prochaine mise à jour de votre système. Si vous avez installé le [[:​synaptic|Gestionnaire de paquets Synaptic]], utilisez-le pour bloquer la version du paquet //​ia32-libs//​ que vous venez d'​installer. \\ \\ Sinon, vous pouvez taper la commande suivante dans un terminal : <​code>​echo "​ia32-libs hold" | sudo dpkg --set-selections</​code>​ Pour vérifier que le paquet n'a plus le statut //install// mais //hold// : <​code>​dpkg --get-selections | grep ia32-libs</​code>​ doit vous retourner : <​file>​ia32-libs ​  ​ hold</​file>​
  
 +<​note>​Si vous utilisez la méthode ci-dessus (ligne de commande), à l’ouverture du [[:​gestionnaire_de_mises_a_jour|Gestionnaire de mises à jour]], le paquet //​ia32-libs//​ apparaîtra dans la liste des mises à jour, mais comme il est bloqué (hold) vous ne pourrez pas le sélectionner.</​note>​
  
-===== Installation de l'​imprimante =====+===== Installation de l'​imprimante, toutes versions 32 et 64bits=====
  
-Elle se passe en trois étapes: ​+Elle se passe en trois étapes : 
   - Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser,   - Installer la nouvelle imprimante dans [[:CUPS]] en indiquant quel pilote utiliser,
   - Indiquer au démon ccpd ((démon spécifique à Canon pour la gestion de l'​imprimante)) cette imprimante,   - Indiquer au démon ccpd ((démon spécifique à Canon pour la gestion de l'​imprimante)) cette imprimante,
Ligne 74: Ligne 49:
    
  
-==== Commande d'installation ​====+==== Installation de l'imprimante dans CUPS ====
  
-La commande suivante ​permettra d'​installer l'​imprimante ​dans [[:CUPS]]:+Taper la commande suivante dans un terminal ​
  
 <​code>​sudo /​usr/​sbin/​lpadmin -p [nom de l'​imprimante] -m [fichier ppd] -v [uri périphérique] -E</​code>​ <​code>​sudo /​usr/​sbin/​lpadmin -p [nom de l'​imprimante] -m [fichier ppd] -v [uri périphérique] -E</​code>​
Ligne 82: Ligne 57:
   * -p [nom de l'​imprimante]:​ modèle de l'​imprimante;​   * -p [nom de l'​imprimante]:​ modèle de l'​imprimante;​
   * -m [fichier ppd]: nom du fichier .ppd du pilote (cf [[#​pré-requis]] pour connaître son nom) ;   * -m [fichier ppd]: nom du fichier .ppd du pilote (cf [[#​pré-requis]] pour connaître son nom) ;
-  * -v [uri périphérique]:​ définit l'​attribut device-uri de la file d'​attente de l'​imprimante.\\ +  * -v [uri périphérique]:​ définit l'​attribut device-uri de la file d'​attente de l'​imprimante.\\ Ici on mettra ​: ''​%%ccp://localhost:​59787 -E%%''​\\  
-Ici on mettra ​// ccp:/​var/​ccpd/​fifo0 ​// \\ +  * -E : active l'​imprimante déterminée et autorise les demandes d'​impression sur ce périphérique. ​\\ 
-  * -E : active l'​imprimante déterminée et autorise les demandes d'​impression sur ce périphérique.+
  
-exemple ​pour une LBP5000 : +Exemple ​pour une LBP5000 : 
-<​code>​sudo /​usr/​sbin/​lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/​fifo0 ​-E</​code>​+ 
 +<​code>​sudo /​usr/​sbin/​lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp://localhost:​59787 ​-E</​code>​
  
 <note important>​Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/​majuscule)) <note important>​Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/​majuscule))
 </​note>​ </​note>​
  
-==== Validation de l'installation ====+Si cette méthode ne fonctionne pas, vous pouvez toujours utiliser ​l'ancienne procédure qui consistait à :\\  
 +  - Vérifier l'​existence ou créer les dossiers et fichiers **/​var/​ccpd**,​ **/​var/​captmon** et **/​var/​ccpd/​fifo0** : <​code>​sudo mkdir /var/ccpd 
 +sudo mkdir /​var/​captmon 
 +sudo mkfifo /​var/​ccpd/​fifo0 
 +sudo chown -R lp:lp /​var/​ccpd/</​code>​ 
 +  - Installer l'​imprimante dans CUPS avec la commande suivante :\\ (exemple pour une LBP5000) <​code>​sudo /​usr/​sbin/​lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/​var/​ccpd/​fifo0 -E</​code> ​
  
-La commande suivante permettra d'​installer ​l'​imprimante dans le démon ccpd :+ 
 +==== Enregistrer ​l'​imprimante dans le démon ccpd ==== 
 + 
 +Taper la commande suivante dans un terminal ​
  
 <​code>​sudo /​usr/​sbin/​ccpdadmin -p [nom de l'​imprimante] -o [device]</​code>​ <​code>​sudo /​usr/​sbin/​ccpdadmin -p [nom de l'​imprimante] -o [device]</​code>​
Ligne 100: Ligne 83:
  
   * [Nom de l'​imprimante] est le nom que vous avez choisi lors de l'​[[#​commande d'​installation|installation dans cups]]   * [Nom de l'​imprimante] est le nom que vous avez choisi lors de l'​[[#​commande d'​installation|installation dans cups]]
-  * [device] est l'​emplacement du fichier du périphérique : +  * [device] est l'​emplacement du fichier du périphérique : Vérifier dans le répertoire ///​dev/​usb//​ le nom exact (lp0; lp1; lp2 ...) 
-    * **Valeur de [device] pour une connexion en usb :** + 
-      * sous Ubuntu 8.04 LTS et ultérieur ​[device] sera remplacé par // /​dev/​usb/​lp0 // +<​note>​ 
-      * exemple: <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP5000 -o /​dev/​usb/​lp0</​code> ​+Penser à connecter l'​imprimante au préalable (le répertoire ///​dev/​usb//​ est créé automatiquement lors de la connexion de l'​imprimante). 
 +</​note>​ 
 + 
 +    * **Valeur de [device] pour une connexion en usb sur /​dev/​usb/​lp0 ​:** 
 +      * [device] sera remplacé par // /​dev/​usb/​lp0 //  
 +      * Exemple pour une LBP5000 ​: <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP5000 -o /​dev/​usb/​lp0</​code>\\ Exemple de retour de cette commande pour une LBP5000 :  <​file>​ Usage:  
 +  ccpdadmin [-p Printer-name -o Printer-dev-path] 
 +  ccpdadmin [-x Remove-Printer-name] 
 + 
 + ​CUPS_ConfigPath = /​etc/​cups/​ 
 + LOG Path        = None 
 + UI Port         = 59787 
 + 
 + Entry Num  : Spooler : Backend : FIFO path : Device Path : Status  
 + ​---------------------------------------------------------------------------- 
 +     ​[0] ​   : LBP5000 : ccp : //​localhost:​59787 : /​dev/​usb/​lp0 ​ : New!! </file>
     * **Valeur de [device] pour une connexion en réseau :**     * **Valeur de [device] pour une connexion en réseau :**
       * net:​[adresse IP]       * net:​[adresse IP]
-      * exemple: <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP-1120 -o net:​192.168.0.20</​code>​+      * Exemple pour une LBP5000 ​: <​code>​sudo /​usr/​sbin/​ccpdadmin -p LBP-5000 -o net:​192.168.0.20</​code>​
   ​   ​
-   Il peut-être nécessaire d'​ajouter une ligne // Allow From [adresse IP] // dans les sections // <​Location /> // et // <​Location /admin> // du fichier ** /​etc/​cups/​cupsd.conf **. +   Il peut-être nécessaire d'​ajouter une ligne // Allow From [adresse IP] // dans les sections // <​Location /> // et // <​Location /admin> // du fichier ** /​etc/​cups/​cupsd.conf **.\\ \\ 
- +
-Démarrez ensuite le démon ccpd+
  
 +Démarrez ensuite le démon ccpd :
 <​code>​sudo service ccpd start</​code>​ <​code>​sudo service ccpd start</​code>​
-puis vérifiez son bon fonctionnement ​par+ 
 +Puis vérifiez son bon fonctionnement : 
 <​code>​sudo service ccpd status</​code>​ <​code>​sudo service ccpd status</​code>​
-qui devrait ​vous répondre ​quelque chose comme+ 
-<code>Canon Printer Daemon for CUPS: ccpd: 8956 8954</code+vous devriez avoir en retour ​quelque chose du type 
-<note tip>Si vous ne voyez qu'un seul nombre à la fin de la ligne, [[:​tutoriel:​comment_modifier_un_fichier|éditez avec les droits d'​administration]] le fichier **/​etc/​ccpd.conf** et ajoutez ceci (remplacez ​LBP810 ​par ce que vous aviez indiqué précédemment) : +<file>Canon Printer Daemon for CUPS: ccpd: 8956 8954</file> 
 + 
 + 
 +<note tip>Si vous ne voyez qu'un seul nombre à la fin de la ligne, [[:​tutoriel:​comment_modifier_un_fichier|éditez avec les droits d'​administration]] le fichier **/​etc/​ccpd.conf** et ajoutez ceci (remplacez ​LBP5000 ​par ce que vous aviez indiqué précédemment) : 
 <​file>​ <​file>​
-<​Printer ​ ​LBP810+<​Printer ​LBP5000
-DevicePath ​ /​dev/​usb/​lp0+DevicePath /​dev/​usb/​lp0
 </​Printer>​ </​Printer>​
 +
 </​file>​ </​file>​
-avant de redémarrer ​le démon ccpd et vérifier de nouveau son status ​<​code>​+Redémarrer ​le démon ccpd et vérifier de nouveau son statut  
 +<​code>​
 sudo service ccpd restart sudo service ccpd restart
 sudo service ccpd status</​code>​ sudo service ccpd status</​code>​
 </​note>​ </​note>​
  
-Paramétrez enfin le système pour que le démon ccpd [[#​Automatiser la détection de l'​imprimante|se lance en même temps que la machine]].\\+A ce stade, l'​imprimante devrait-être opérationnelle et vous pouvez paramétrez ​le système pour que le démon ccpd [[#​Automatiser la détection de l'​imprimante|se lance correctement ​en fonction de l'​allumage de l'​imprimante]].\\ 
  
 ==== Automatiser la détection de l'​imprimante ==== ==== Automatiser la détection de l'​imprimante ====
-Une fois correctement installée, pour que l'​imprimante fonctionne d'une façon transparente pour l'​utilisateur,​ il faut automatiser la gestion du démon ccpd ce qui demande deux conditions :+ 
 +Une fois correctement installée, pour que l'​imprimante fonctionne d'une façon transparente pour l'​utilisateur,​ il faut automatiser la gestion du démon ccpd. \\  
 +Ceci demande deux conditions :
   - Que le démon ccpd soit lancé ou relancé à chaque mise en service de l'​imprimante.   - Que le démon ccpd soit lancé ou relancé à chaque mise en service de l'​imprimante.
-  - Que le démon ccpd soit lancé après ​[[:CUPS]], pour qu’il démarre correctement.+  - Que le service ​[[:​CUPS]] ​soit actif lors du démarrage du démon ccpd.
  
-===Lancer ou relancer ccpd à chaque mise en service de l'​imprimante===+===Lancer ou relancer ccpd à chaque mise en service de l'​imprimante ​:===
  
-Il peut-arriver que votre imprimante ne soit pas ou plus détectée si vous l'​éteignez après usage.\\ +Ceci peut être automatisé en utilisant [[:udev]].
-Afin de régler ce problème il faut [[#​Redémarrer le service d'​impression|relancer]] le démon ccpd, ce qui peut être automatisé en utilisant [[:udev]].+
  
-[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez ou créez avec les droits d'​administration]] le fichier **/​etc/​udev/​rules.d/​85-canon-capt.rules** et ajoutez ces lignes:+[[:​tutoriel:​comment_modifier_un_fichier|Ouvrez ou créez avec les droits d'​administration]] le fichier ​**/​etc/​udev/​rules.d/​85-canon-capt.rules** et ajoutez ces lignes :
 <​file>​ <​file>​
-KERNEL=="​lp*", ​SUBSYSTEM=="​usb",​ ACTION=="​add",​ ATTRS{idVendor}=="​04a9",​ RUN+="/​etc/​init.d/​ccpd start"​ +KERNEL=="​lp*", ​SUBSYSTEMS=="​usb",​ ACTION=="​add",​ ATTRS{idVendor}=="​04a9",​ RUN+="/​etc/​init.d/​ccpd start"​ 
-KERNEL=="​lp*", ​SUBSYSTEM=="​usb",​ ACTION=="​remove",​ RUN+="/​etc/​init.d/​ccpd stop"+KERNEL=="​lp*", ​SUBSYSTEMS=="​usb",​ ACTION=="​remove",​ RUN+="/​etc/​init.d/​ccpd stop"
 </​file>​ </​file>​
-Terminez en enregistrant ce fichier. \\  +Terminez en enregistrant ce fichier.\\ 
-Il est possible que vous soyez obligé de relancer le service ​[[:udev]], sur d'​anciennes versions d'​Ubuntu. + [[:UDEV]] détectera automatiquement cette nouvelle règleil n'est donc pas nécessaire de le relancer.
-<​code>​sudo service udev restart</​code>​ +
-Avec les versions plus récentes d'​Ubuntu,​ [[:udev]] détecte automatiquement les changements. Il n'est donc plus nécessaire de le relancer.+
  
-<​note>​Sur d'​anciennes versions d'​Ubuntu il est possible que vous ayez automatisé le lancement de ccpd avec cette commande. \\  + 
-<​code>​sudo update-rc.d ccpd defaults 90</​code>​C'​est notamment le cas si vous avez utilisé l'​[[:​installer_canon_lbp#​installation_automatisee_utilisant_un_script_bash|installation automatisée utilisant un script BASH]].\\ +\\ La détection automatique des imprimantesdéfinie dans le fichier ​système ​: ///​lib/​udev/​rules.d/​70-printers.rules//​contrarie la règle ​udev que [[#Lancer ou relancer ccpd à chaque mise en service de l'​imprimante|vous venez de créer]]\\  [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier ​///​lib/​udev/​rules.d/​70-printers.rules//​ et commentez ((ajoutez un dièse (#) au début)) ​toutes les lignes ​:\\ (Exemple pour le fichier de [[:12.04]])
-Il sera alors nécessaire d'​annuler cette action pour ne pas interférer avec la nouvelle règle udev en saisissant:​ +
-<​code>​sudo update-rc.d -f ccpd remove</​code></​note>​ +
-  * __**Pour la version 12.04 :**__ \\ La détection automatique des imprimantes définie dans le fichier: ///​lib/​udev/​rules.d/​70-printers.rules//​ contrarie la régle ​udev que [[#Lancer ou relancer ccpd à chaque mise en service de l'​imprimante|vous venez de créer]] \\  [[:​tutoriel:​comment_modifier_un_fichier|Ouvrez avec les droits d'​administration]] le fichier ///​lib/​udev/​rules.d/​70-printers.rules//​ et commentez ((ajoutez un dièse (#) au début)) ​la ligne n°4 :+
 <​file>#​ Low-level USB device add trigger <​file>#​ Low-level USB device add trigger
-ACTION=="​add",​ SUBSYSTEM=="​usb",​ ATTR{bInterfaceClass}=="​07",​ ATTR{bInterfaceSubClass}=="​01",​ TAG+="​udev-configure-printer",​ RUN+="​udev-configure-printer add %p"+#ACTION=="​add",​ SUBSYSTEM=="​usb",​ ATTR{bInterfaceClass}=="​07",​ ATTR{bInterfaceSubClass}=="​01",​ TAG+="​udev-configure-printer",​ RUN+="​udev-configure-printer add %p"
 # usblp device add trigger (needed when usblp is already loaded) # usblp device add trigger (needed when usblp is already loaded)
 #​ACTION=="​add",​ KERNEL=="​lp*",​ TAG+="​udev-configure-printer",​ RUN+="​udev-configure-printer add %p" #​ACTION=="​add",​ KERNEL=="​lp*",​ TAG+="​udev-configure-printer",​ RUN+="​udev-configure-printer add %p"
  
 # Low-level USB device remove trigger # Low-level USB device remove trigger
-ACTION=="​remove",​ SUBSYSTEM=="​usb",​ ENV{ID_USB_INTERFACES}=="​*:​0701*:​*",​ RUN+="​udev-configure-printer remove %p"</​file>​ <note important>​Attention,​ le fichier //​70-printers.rules//​ est un fichier système susceptible d'​être modifié lors de prochaines mises à jour. Pensez à vérifier l'​état de ce fichier si votre imprimante cesse de fonctionner...</​note>​\\ ​\\ +#ACTION=="​remove",​ SUBSYSTEM=="​usb",​ ENV{ID_USB_INTERFACES}=="​*:​0701*:​*",​ RUN+="​udev-configure-printer remove %p"</​file> ​ 
 + 
 +<note important>​Attention,​ le fichier //​70-printers.rules//​ est un fichier système susceptible d'​être modifié lors de prochaines mises à jour. Pensez à vérifier l'​état de ce fichier si votre imprimante cesse de fonctionner...</​note>​\\ 
 + 
 + 
 +=== CUPS actif lors du démarrage du démon ccpd :=== 
 + 
 +Si le démon ccpd est lancé avant CUPS, il plantera à la première demande d’impression sans qu’aucun message d’erreur n’apparaisse. Il va alors prendre 100 % du CPU et ne pourra être stoppé que par la commande “kill -9”.
  
-===Lancer ​ccpd après ​CUPS===+Cette situation peut se produire si l’imprimante est allumée et branchée : 
 +  * __avant que le PC ne soit démarré :__ La séquence de démarrage d'​Ubuntu,​ lance [[:UDEV]] avant [[:CUPS]]. Donc, la règle UDEV que nous venons de créer va détecter l’imprimante et lancera ​ccpd avant CUPS
 +  * __lors d’une mise à jour de [[:CUPS]] :__ Ce service est stoppé puis, relancé alors que ccpd reste actif.
  
-Dans l'​ordre de la séquence de démarrage d'​Ubuntu, ​[[:UDEV]] est lancé avant [[:CUPS]]. \\  +Pour pallier à ces problèmes particuliers vous devez générer un job [[:Upstart]], en plus de la règle UDEV créée précédemment
-Donc, si l'imprimante est allumée et branchée avant le démarrage du PC, la règle [[:UDEV]] que nous venons de créer va détecter l'​imprimante et lancera ccpd avant [[:CUPS]]. \\  +Il redémarrera ccpd pour garantir son fonctionnement correct ​si limprimante est détectée sur le bus USB.\\ \\ 
-Dans ce cas, le démarrage incorrect de ccpd va le faire planter à la première demande d'​impression sans qu'​aucun message d'​erreur n'​apparaisse. ​\\  +
-De plus ccpd va prendre 100% du CPU et il ne peut être stoppé qu'​avec une commande "kill -9".+
  
-Pour pallier à ce problème particulier,​ vous devez générer un job [[:Upstart]] en plus de la règle UDEV créée précédemment.\\  +[[:tutoriel:​comment_modifier_un_fichier|Créez avec les droits d'​administration]] un fichier : **/​etc/​init/​ccpd-restart.conf** pour y insérer ceci:
-Dans la séquence de démarrage, il détectera la présence ou non de l'​imprimante sur le bus USB. et redémarrera ​ccpd si nécessaire pour garantir son lancement correct.+
  
-[[:​tutoriel:​comment_modifier_un_fichier|Créez avec les droits d'​administration]] un fichier **/​etc/​init/​ccpd-restart.conf** pour y insérer ceci: 
 <​file>​ <​file>​
 # ccpd-restart - Relance ccpd si l'​imprimante est allumée avant le PC. # ccpd-restart - Relance ccpd si l'​imprimante est allumée avant le PC.
Ligne 185: Ligne 190:
     if [ -e /​dev/​usb/​lp* ]; then     if [ -e /​dev/​usb/​lp* ]; then
                 /​etc/​init.d/​ccpd stop                 /​etc/​init.d/​ccpd stop
- sleep ​3+ sleep ​5
  /​etc/​init.d/​ccpd start  /​etc/​init.d/​ccpd start
     fi     fi
 end script</​file> ​ end script</​file> ​
 +
 Terminez en enregistrant ce fichier. Le job [[:​Upstart]] est prêt à fonctionner.\\ Terminez en enregistrant ce fichier. Le job [[:​Upstart]] est prêt à fonctionner.\\
  
-<note important>​Si vous utilisez [[:11.10]] **__et__** si vous avez modifié le fichier ///​etc/​modules//​ comme indiqué dans:  [[#​Préalable pour la version 11.10 uniquement]],​ utilisez ceci pour [[:​tutoriel:​comment_modifier_un_fichier|Créez avec les droits d'​administration]] le fichier **/​etc/​init/​ccpd-restart.conf**\\ 
-<​file>#​ ccpd-restart.conf = Relance ccpd si l'​imprimante est allumée avant le PC. 
-# Copier dans: /etc/init/ 
-# Pour Ubuntu 11.10 uniquement : 
-# - Retirer usblp blacklist dans: /​etc/​modpobe.d/​blacklist-cups-usblp.conf 
-# - Ajouter usblp dans: /​etc/​modules 
  
-description "​stop puis start ccpd démon car la commande: ccpd restart n'est pas fiable"​ 
- 
-start on (started module-init-tools and started cups) 
-stop on runlevel [016] 
- 
-script 
- if [ -e /​dev/​usb/​lp* ]; then 
- /​etc/​init.d/​ccpd stop 
- sleep 3 
- /​etc/​init.d/​ccpd start 
- fi 
-end script 
-</​file>​ 
-Si vous n'avez pas souhaité modifier le fichier ///​etc/​modules//,​ alors créez le fichier **/​etc/​init/​ccpd-restart.conf** comme indiqué précédemment. 
-</​note>​ 
-Avec la règle [[:UDEV]] et le job [[:​Upstart]] ainsi créés, il ne sera plus nécessaire de s'​occuper du démon ccpd, quel que soit le moment où l'​imprimante est allumée/​éteinte. \\  L'​imprimante devrait désormais être disponible à chaque fois que vous en avez besoin, sans intervention. \\ \\  
-<note tip>​L'​utilisation d'​[[:​Upstart]] est conforme au processus d'​évolution d'​Ubuntu puisqu'​à terme il remplacera [[:​script_sysv|système V]] pour gérer la séquence de démarrage. \\ Si toutefois vous préférez utiliser un [[:​script_sysv|script système V]] à la place du job [[:​Upstart]] proposé, il vous faudra [[:​tutoriel:​comment_modifier_un_fichier|créer avec les droits d'​administration]] un fichier **/​etc/​init.d/​ccpd-restart** pour y insérer ceci: 
-<​file>​ 
-#!/bin/sh 
-### BEGIN INIT INFO 
-# Provides: ​         Restart ccpd 
-# Required-Start: ​   $local_fs $remote_fs $syslog 
-# Required-Stop: ​    ​$remote_fs $syslog 
-# Default-Start: ​    2 3 4 5 
-# Default-Stop: ​     0 1 6 
-# Description: ​      ​Restart Canon Printer Daemon for CUPS 
-### END INIT INFO 
- 
-if [ -e /​dev/​usb/​lp* ]; then 
-         /​etc/​init.d/​ccpd stop 
- sleep 3 
- /​etc/​init.d/​ccpd start 
-fi 
-exit 0 
-</​file>​ puis donner des droits d'​exécution à ce fichier:<​code>​sudo chmod a+x /​etc/​init.d/​ccpd-restart </​code>​ et enregistrer ce script dans les différents runlevel: 
-<​code>​sudo update-rc.d ccpd-restart defaults 90</​code>​ 
- ​\\ ​ 
- 
-__**Nota:​**__\\ 
-Si vous utilisez la version Ubuntu [[:10.04]] ou antérieure,​ vous devez utiliser ce [[:​script_sysv|script système V]].\\ ​ 
-Sur ces versions, [[:​Upstart]] ne gère pas encore le démarrage de [[:CUPS]]. 
- </​note>​ 
 ===== Vérification de l'​installation ===== ===== Vérification de l'​installation =====
  
Ligne 245: Ligne 203:
 Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'​ordinateur. Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'​ordinateur.
  
-Dans un [[:​terminal]] saisissez:​ +Dans un [[:​terminal]] saisissez : 
-<​code>​sudo ccpdadmin</​code>​la commande doit vous renvoyer: +<​code>​sudo ccpdadmin</​code>​la commande doit vous renvoyer : 
-<code>+<file>
 Usage: Usage:
   ccpdadmin [-p Printer-name -o Printer-dev-path]   ccpdadmin [-p Printer-name -o Printer-dev-path]
Ligne 256: Ligne 214:
  Entry Num  :​Spooler ​  :​Backend ​ :FIFO path  :Device Path  :Status  Entry Num  :​Spooler ​  :​Backend ​ :FIFO path  :Device Path  :Status
  ​-------------------------------------------------------------------  ​-------------------------------------------------------------------
-   ​[0] ​   :​LBP-XXX ​    :​ccp ​   :/var/ccpd/​fifo0 ​:/​dev/​usb/​lp0 ​ : +   ​[0] ​   :​LBP-XXX ​    : ccp    : //localhost:​59787 ​: /​dev/​usb/​lp0 ​ : 
-</code>où //LBP-XXX// et ///​dev/​usb/​lp0//​ sont à adapter ​ selon la manière dont vous avez installé votre imprimante dans le démon ccpd.\\+</file> 
 +où //LBP-XXX// et ///​dev/​usb/​lp0//​ sont à adapter ​ selon la manière dont vous avez installé votre imprimante dans le démon ccpd.\\
 S'il y a une erreur, elle apparaîtra en fin de ligne.\\ S'il y a une erreur, elle apparaîtra en fin de ligne.\\
  
Ligne 266: Ligne 225:
 ==== Connaître le statut de l'​imprimante ==== ==== Connaître le statut de l'​imprimante ====
  
-La commande suivante permet de connaître le statut de l'​imprimante.+La commande suivante permet de connaître le statut de l'​imprimante ​:
 <​code>​captstatusui -P [nom de l'​imprimante]</​code> ​ <​code>​captstatusui -P [nom de l'​imprimante]</​code> ​
-où [nom de l'​imprimante] est le nom que vous avez donné lors de l'[[#commande d'installation|installation dans cups]].\\ +où [nom de l'​imprimante] est le nom que vous avez donné lors de l'[[#Installation de l'imprimante dans CUPS|installation dans cups]].\\ 
-La commande doit vous ouvrir ​une fenêtre avec un message **Ready to print**.\\ +La commande doit vous ouvrir ​la fenêtre ​du //Canon Statusmonitor//​ ((Le //Canon Statusmonitor//​ donne accès à certaines fonctionnalités avancées de l'​imprimante telles que : nombres pages imprimées, niveaux toners, calibrage, nettoyage ou encore mise en veille)) ​avec un message ​"**Ready to print**".\\ 
-Si toutefois ​l'​imprimante n'​avait pas été allumée et/ou connectée avant le démarrage de l'​ordinateur, ​la commande ​retournera ​le message "​**capstatusui Socket Error**"​.\\ +Si toutefois la commande ​retourne ​le message "​**capstatusui Socket Error**",​ vous pouvez essayer de [[#​redémarrer le service d'​impression]]. 
-<​note>​Si cela arrive, vous pouvez essayer de [[#​redémarrer le service d'​impression]].\\ +Si cela ne suffit pas, laissez l'​imprimante allumée et connectée puis redémarrez ​l'​ordinateur.
-Si cela ne suffit pas, laissez l'​imprimante allumée et connectée puis redémarrer ​l'​ordinateur.</​note>​+
  
 ==== Redémarrer le service d'​impression ====  ==== Redémarrer le service d'​impression ==== 
- +Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd :
-Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd+
 <​code>​sudo service cups restart <​code>​sudo service cups restart
 sudo service ccpd restart</​code>​ sudo service ccpd restart</​code>​
-Selon votre version d'​Ubuntu,​ il s'​agira de remplacer **cups** par **cupsys**. 
  
 ==== Retirer une imprimante ==== ==== Retirer une imprimante ====
- 
 En cas d'​erreur de manipulation,​ il peut être utile d'​avoir à retirer une imprimante installée de manière erronée.\\ En cas d'​erreur de manipulation,​ il peut être utile d'​avoir à retirer une imprimante installée de manière erronée.\\
 Dans un [[:​terminal]],​ on saisira :  Dans un [[:​terminal]],​ on saisira : 
Ligne 292: Ligne 247:
  
 donnera un résultat de ce type :  donnera un résultat de ce type : 
-<code>+<file>
 Usage: ​ Usage: ​
   ccpdadmin [-p Printer-name -o Printer-dev-path]   ccpdadmin [-p Printer-name -o Printer-dev-path]
Ligne 301: Ligne 256:
 Entry Num  :​Spooler ​ :​Backend ​ :FIFO path  :Device Path  :​Status ​ Entry Num  :​Spooler ​ :​Backend ​ :FIFO path  :Device Path  :​Status ​
  ​------------------------------------------------------  ​------------------------------------------------------
-</code>+</file>
  
 ===== Sources ===== ===== Sources =====
  
-  * Documentation fournie avec le driver ​d'​installation+  * Documentation ​Canon fournie avec le pilote ​d'​installation
   * la page man de lpadmin   * la page man de lpadmin
-  * (en) [[https://​help.ubuntu.com/​community/​HardwareSupportComponentsPrinters/​CanonPrinters/​Canon_LBP_2900|Canon LBP 2900]] sur Ubuntu.com 
   * (en)[[https://​help.ubuntu.com/​community/​CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]]   * (en)[[https://​help.ubuntu.com/​community/​CanonCaptDrv190|Installation Capt 1.9 sur Ubuntu.com]]
   * (en) [[http://​v0xel.wordpress.com/​2006/​05/​23/​canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com   * (en) [[http://​v0xel.wordpress.com/​2006/​05/​23/​canoon-lbp-1120-on-ubuntu-510-how-to|Canon lbp-1120 How to]] sur v0xel.wordpress.com