Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
utilisateurs:fabux:brouillons:installation_canon_console [Le 22/07/2011, 13:31] murex |
— (Version actuelle) | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>imprimante tutoriel canon}} | ||
| - | ---- | ||
| - | |||
| - | ====== Installer et tester une imprimante Canon en ligne de commande ====== | ||
| - | |||
| - | Cette page utilisant uniquement la [[:console]] est destinée à ceux qui, après avoir installé les drivers pour leur imprimante **Canon**, 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. | ||
| - | <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> | ||
| - | |||
| - | ===== Pré-requis ===== | ||
| - | |||
| - | * 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 allumé votre imprimante; | ||
| - | * 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> | ||
| - | * 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> | ||
| - | |||
| - | ===== Installation de l'imprimante ===== | ||
| - | |||
| - | Elle se passe en trois étapes: | ||
| - | - 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, | ||
| - | - Automatiser la reconnaissance de l'imprimante. | ||
| - | |||
| - | |||
| - | ==== Commande d'installation ==== | ||
| - | |||
| - | La commande suivante permettra d'installer l'imprimante dans [[:CUPS]]: | ||
| - | |||
| - | <code>sudo /usr/sbin/lpadmin -p [nom de l'imprimante] -m [fichier ppd] -v [uri périphérique] -E</code> | ||
| - | où : | ||
| - | * -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) ; | ||
| - | * -v [uri périphérique]: définit l'attribut device-uri de la file d'attente de l'imprimante.\\ | ||
| - | 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. | ||
| - | |||
| - | exemple pour une LBP5000 : | ||
| - | <code>sudo /usr/sbin/lpadmin -p LBP5000 -m CNCUPSLBP5000CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E</code> | ||
| - | |||
| - | <note important>Le nom du fichier .ppd doit être exact. Attention donc à bien en respecter la casse((minuscule/majuscule)) | ||
| - | </note> | ||
| - | |||
| - | ==== Validation de l'installation ==== | ||
| - | |||
| - | La commande suivante permettra d'installer l'imprimante dans le démon ccpd : | ||
| - | |||
| - | <code>sudo /usr/sbin/ccpdadmin -p [nom de l'imprimante] -o [device]</code> | ||
| - | où : | ||
| - | |||
| - | * [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 : | ||
| - | * **Valeur de [device] pour une connexion en usb :** | ||
| - | * sous Ubuntu 8.04 LTS et ultérieur [device] sera remplacé par // /dev/usb/lp0 // | ||
| - | * exemple: <code>sudo /usr/sbin/ccpdadmin -p LBP5000 -o /dev/usb/lp0</code> | ||
| - | * **Valeur de [device] pour une connexion en réseau :** | ||
| - | * net:[adresse IP] | ||
| - | * exemple: <code>sudo /usr/sbin/ccpdadmin -p LBP-1120 -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 **. | ||
| - | |||
| - | Démarrez ensuite le démon ccpd | ||
| - | |||
| - | <code>sudo service ccpd start</code> | ||
| - | puis vérifiez son bon fonctionnement par: | ||
| - | <code>sudo service ccpd status</code> | ||
| - | qui devrait vous répondre quelque chose comme: | ||
| - | <code>Canon Printer Daemon for CUPS: ccpd: 8956 8954</code> | ||
| - | <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> | ||
| - | <Printer LBP810> | ||
| - | DevicePath /dev/usb/lp0 | ||
| - | </Printer> | ||
| - | </file> | ||
| - | avant de redémarrer le démon ccpd et vérifier de nouveau son status <code> | ||
| - | sudo service ccpd restart | ||
| - | sudo service ccpd status</code> | ||
| - | </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]].\\ | ||
| - | |||
| - | ==== 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 : | ||
| - | - 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. | ||
| - | |||
| - | ===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.\\ | ||
| - | 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: | ||
| - | <file> | ||
| - | KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="add", SYSFS{idVendor}=="04a9", RUN+="/etc/init.d/ccpd start" | ||
| - | KERNEL=="lp*", SUBSYSTEM=="usb", ACTION=="remove", RUN+="/etc/init.d/ccpd stop" | ||
| - | </file> | ||
| - | Terminez en enregistrant ce fichier. \\ | ||
| - | Il est possible que vous soyez obligé de relancer le service [[:udev]], sur d'anciennes versions d'Ubuntu. | ||
| - | <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 automatisée utilisant un script BASH]].\\ | ||
| - | 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> | ||
| - | |||
| - | ===Lancer ccpd après CUPS=== | ||
| - | |||
| - | Dans l'ordre de la séquence de démarrage d'Ubuntu, [[:UDEV]] est lancé avant [[:CUPS]]. \\ | ||
| - | 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]]. \\ | ||
| - | 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.\\ | ||
| - | 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> | ||
| - | # ccpd-restart - Relance ccpd si l'imprimante est allumée avant le PC. | ||
| - | # | ||
| - | description "restart daemon ccpd for Canon printer LBP-serie" | ||
| - | |||
| - | start on started cups | ||
| - | stop on runlevel [016] | ||
| - | |||
| - | script | ||
| - | if [ -e /dev/usb/lp* ]; then | ||
| - | /etc/init.d/ccpd restart | ||
| - | fi | ||
| - | end script | ||
| - | </file> | ||
| - | Terminez en enregistrant ce fichier. Le job [[:Upstart]] est prêt à fonctionner.\\ | ||
| - | |||
| - | 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 restart | ||
| - | 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> </note> | ||
| - | ===== Vérification de l'installation ===== | ||
| - | |||
| - | Si vous avez suivi toutes les étapes mais que votre imprimante ne veut rien imprimer depuis vos logiciels habituels, il peut-être utile de vérifier que l'installation s'est correctement déroulée.\\ | ||
| - | Vérifiez que votre imprimante a bien été allumée et correctement connectée **avant** de démarrer l'ordinateur. | ||
| - | |||
| - | Dans un [[:terminal]] saisissez: | ||
| - | <code>sudo ccpdadmin</code>la commande doit vous renvoyer: | ||
| - | <code> | ||
| - | Usage: | ||
| - | ccpdadmin [-p Printer-name -o Printer-dev-path] | ||
| - | ccpdadmin [-x Remove-Printer-name] | ||
| - | CUPS_ConfigPath = /etc/cups/ | ||
| - | LOG Path = None | ||
| - | UI Port = 39787 | ||
| - | Entry Num :Spooler :Backend :FIFO path :Device Path :Status | ||
| - | ------------------------------------------------------------------- | ||
| - | [0] :LBP-XXX :ccp :/var/ccpd/fifo0 :/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.\\ | ||
| - | S'il y a une erreur, elle apparaîtra en fin de ligne.\\ | ||
| - | |||
| - | ===== Astuces ===== | ||
| - | |||
| - | Le fonctionnement du pilote Canon pour Linux n'étant pas parfait, il peut-être nécessaire de connaître ces quelques astuces. | ||
| - | |||
| - | ==== 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> | ||
| - | où [nom de l'imprimante] est le nom que vous avez donné lors de l'[[#commande d'installation|installation dans cups]].\\ | ||
| - | La commande doit vous ouvrir une fenêtre 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**".\\ | ||
| - | <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émarrer l'ordinateur.</note> | ||
| - | |||
| - | ==== Redémarrer le service d'impression ==== | ||
| - | |||
| - | Les commandes suivantes permettent de redémarrer le service cups puis le démon ccpd | ||
| - | <code>sudo service cups restart | ||
| - | sudo service ccpd restart</code> | ||
| - | Selon votre version d'Ubuntu, il s'agira de remplacer **cups** par **cupsys**. | ||
| - | |||
| - | ==== 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.\\ | ||
| - | Dans un [[:terminal]], on saisira : | ||
| - | <code>sudo /usr/sbin/ccpdadmin -x [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]].\\ | ||
| - | |||
| - | Lorsque aucune imprimante n'est installée, la commande : | ||
| - | <code>sudo /usr/sbin/ccpdadmin </code> | ||
| - | |||
| - | donnera un résultat de ce type : | ||
| - | <code> | ||
| - | 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 | ||
| - | ------------------------------------------------------ | ||
| - | </code> | ||
| - | |||
| - | ===== Sources ===== | ||
| - | |||
| - | * Documentation fournie avec le driver d'installation | ||
| - | * 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) [[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://ubuntuforums.org/showthread.php?t=1315665|Fil de discussion]] sur ubuntuforums.org | ||
| - | |||
| - | ---- | ||
| - | //Contributeurs:// [[:utilisateurs:fabux]], [[:utilisateurs:murex]] | ||