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 21/07/2011, 14:59] 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 familié 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> | ||
- | Enregistrez 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 plus nécessaire de le relancer. | ||
- | <del>L'imprimante devrait désormais être disponible à chaque fois que vous en avez besoin, sans intervention.</del> | ||
- | |||
- | <note>Sur d'anciennes versions d'Ubuntu il est possible que vous ayez automatisé le lancement de ccpd avec cette commande. \\ C'est aussi le cas si vous avez utilisé l'[[:installer_canon_lbp|Installation automatisée utilisant un script BASH]]. | ||
- | <code>sudo update-rc.d ccpd defaults 90</code>il sera nécessaire dans les deux cas 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". | ||
- | |||
- | <del>Actuellement, une des</del>Deux possibilités pour pallier à ce problème particulier: \\ | ||
- | - Soit créer 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> | ||
- | Enregistrez ce fichier. \\ \\ | ||
- | |||
- | - Ou créer un [[:script_sysv|script system V]] 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.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> | ||
- | Enregistrez ce fichier. \\ | ||
- | Donner des droits d'exécution à ce fichier: \\ | ||
- | <code>sudo chmod a+x /etc/init.d/ccpd-restart </code> | ||
- | Enregistrer ce script dans les différents runlevel: \\ | ||
- | <code>sudo update-rc.d ccpd-restart defaults 90</code> | ||
- | <note>La solution avec le [[:script_sysv|script system V]] est actuellement compatible avec toutes les versions d'Ubuntu et aussi avec les distributions Debian.\\ | ||
- | La solution avec le job [[:Upstart]] n'est compatible qu'à partir de la version Ubuntu [[:6.10]]</note> \\ | ||
- | |||
- | Avec la règle [[:UDEV]] et le job [[:Upstart]] **ou** le [[:script_sysv|script system V]] 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. \\ | ||
- | |||
- | ===== 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 c'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 à adpater 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]] |