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
imprimante_brother_ptouch_d450 [Le 20/04/2021, 22:16]
zococo [Identifiants USB]
imprimante_brother_ptouch_d450 [Le 05/09/2024, 23:55] (Version actuelle)
zococo [En cas de problème lors de la compilation]
Ligne 1: Ligne 1:
-{{tag>​Focal matériel imprimante Brother ​BROUILLON}}+{{tag>​Focal ​Hirsute Mantic ​matériel imprimante Brother}}
  
 ---- ----
Ligne 7: Ligne 7:
 La Brother p-touch D450VP est une petite étiqueteuse destinée à l'​impression thermique d'​étiquettes bicolores sur rubans laminés ou tissus de 3,5 à 18 mm de large. La Brother p-touch D450VP est une petite étiqueteuse destinée à l'​impression thermique d'​étiquettes bicolores sur rubans laminés ou tissus de 3,5 à 18 mm de large.
  
-Si l'​imprimante est autonome, elle est dotée d'un clavier et d'un écran, elle peut aussi être reliée à un ordinateur. Bien entendu Brother n'a pas pris la peine de développer un utilitaire compatible Linux mais un utilisateur suisse, Dominic Radermacher,​ a créé un outil en ligne de commande appelé ptouch-print qui permet d'​utiliser l'​appareil sous Ubuntu. Voici comment l'​installer et utiliser votre p-touch sous Ubuntu.+Si l'​imprimante est autonome, ​puisqu'​elle est dotée d'un clavier et d'un écran, elle peut aussi être reliée à un ordinateur. Bien entendu Brother n'a pas pris la peine de développer un utilitaire compatible Linux mais un utilisateur suisse, Dominic Radermacher,​ a créé un outil en ligne de commande appelé ptouch-print qui permet d'​utiliser l'​appareil sous Ubuntu. Voici comment l'​installer et utiliser votre p-touch sous Ubuntu.
  
 ===== Compatibilité ===== ===== Compatibilité =====
Ligne 15: Ligne 15:
   * PT-2430PC   * PT-2430PC
   * PT-2730 (48 lignes blanches pourraient être imprimées avant le texte souhaité)   * PT-2730 (48 lignes blanches pourraient être imprimées avant le texte souhaité)
-  * PT-E500 (espaces ​blanc intercalaires possibles)+  * PT-E500 (espaces ​blancs ​intercalaires possibles)
   * PT-D450   * PT-D450
   * PT-D450VP (seule testée sous Ubuntu)   * PT-D450VP (seule testée sous Ubuntu)
Ligne 27: Ligne 27:
  
 ====Outils==== ====Outils====
-En tout premier lieu, il est nécessaire d'​installer tous les outils de [[compilation|compilation]] : +En tout premier lieu, il est nécessaire d'​installer tous les outils de [[compilation|compilation]] :
 <​code>​ <​code>​
-usr@usr-pc:​~$ sudo apt-get install build-essential fakeroot checkinstall+usr@usr-pc:​~$ sudo apt install build-essential fakeroot checkinstall ​automake libglib2.0-dev gettext
 </​code>​ </​code>​
  
 Vous devez également installer git : Vous devez également installer git :
 <​code>​ <​code>​
-usr@usr-pc:​~$ sudo apt-get install git+usr@usr-pc:​~$ sudo apt install git
 </​code>​ </​code>​
 ====Dépendances==== ====Dépendances====
  
-puis les dépendances de ptouch-print sous Ubuntu : libusb-dev libgd-dev autopoint ​+puis les dépendances de ptouch-print sous Ubuntu :  
 +=== Avec Ubuntu 20.04 === 
 +libusb-dev libgd-dev autopoint
 <​code>​ <​code>​
-usr@usr-pc:​~$ sudo apt-get install libusb-dev libgd-dev autopoint+usr@usr-pc:​~$ sudo apt install libusb-dev libgd-dev autopoint 
 +</​code>​ 
 +=== Avec Ubuntu 24.04 (Noble Numbat) et probablement depuis 21.04 LTS == 
 +libusb-dev libusb-1.0-0-dev libgd-dev autopoint 
 +<​code>​ 
 +usr@usr-pc:~$ sudo apt install libusb-dev libusb-1.0-0-dev libgd-dev autopoint 
 +</​code>​ 
 +==== En une seule commande pour aller vite ==== 
 +  * Avec Ubuntu 20.04 (Focal) 
 +<​code>​ 
 +usr@usr-pc:​~$ for paquet in build-essential fakeroot checkinstall automake libglib2.0-dev gettext git libusb-dev libgd-dev autopoint ; do if [[ $(dpkg -l | grep "​${paquet}"​) ]]; then echo "​$paquet déjà installé, rien à faire" ; else sudo apt install "​${paquet}";​ fi; done 
 +</​code>​ 
 +  * Avec Ubuntu 24.04 LTS ("​Noble Numbat"​) et probablement depuis Ubuntu 21.04 
 +<​code>​ 
 +usr@usr-pc:​~$ for paquet in build-essential fakeroot checkinstall automake libglib2.0-dev gettext git libusb-dev libusb-1.0-0-dev libgd-dev autopoint ; do if [[ $(dpkg -l | grep "​${paquet}"​) ]]; then echo "​$paquet déjà installé, rien à faire" ; else sudo apt install "​${paquet}";​ fi; done
 </​code>​ </​code>​
- 
 ===== Installation ===== ===== Installation =====
  
Ligne 61: Ligne 76:
 </​code>​ </​code>​
  
-<note tip>​Attention : lorsque checkinstall vous fait saisir les informations d'​installation,​ ne pas oublier d'​inscrire un nombre pour le numéro de version, la valeur par défautdu texten'est pas acceptée+<note tip>​Attention : lorsque checkinstall vous fait saisir les informations d'​installation,​ ne pas oublier d'​inscrire un nombre pour le numéro de version, la valeur par défaut ​du texte n'est pas acceptée
 +Il faut donc : 
 + 
 +  * Répondre oui (y) à la question : 
 +<​code>​ 
 +Should I create a default set of package docs?  [y]: y 
 +</​code>​ 
 +  * Saisir quelques mots de présentation 
 +  * Lorsque checkinstall indique : 
 +<​code>​ 
 +This package will be built according to these values:  
 +0 -  Maintainer: [ root@vous ] 
 +1 -  Summary: [ La Brother p-touch D450VP est une petite étiqueteuse destinée à l'​impression thermique d'​étiquettes bicolores sur rubans laminés ou tissus de 3,5 à 18 mm de large. Ce paquet permet de l'​utiliser sous Ubuntu. Il est dû à Dominic Radermacher. ] 
 +2 -  Name:    [ ptouch ] 
 +3 -  Version: [ print ] 
 +4 -  Release: [ 1 ] 
 +5 -  License: [ GPL ] 
 +6 -  Group: ​  [ checkinstall ] 
 +7 -  Architecture:​ [ amd64 ] 
 +8 -  Source location: [ ptouch-print ] 
 +9 -  Alternate source location: [  ] 
 +10 - Requires: [  ] 
 +11 - Recommends: [  ] 
 +12 - Suggests: [  ] 
 +13 - Provides: [ ptouch ] 
 +14 - Conflicts: [  ] 
 +15 - Replaces: [  ] 
 +16 - Prerequires:​ [  ] 
 + 
 +Enter a number to change any of them or press ENTER to continue: 
 +</​code>​ 
 +  * Saisir la valeur 3 
 +<​code>​ 
 +Enter a number to change any of them or press ENTER to continue: 3 
 +Enter new version:  
 +</​code>​ 
 +  * Saisir un numéro de version, par exemple 1.3.2 
 +Et voilà le travail : 
 +<​code>​ 
 +This package will be built according to these values:  
 + 
 +0 -  Maintainer: [ root@vous ] 
 +1 -  Summary: [ La Brother p-touch D450VP est une petite étiqueteuse destinée à l'​impression thermique d'​étiquettes bicolores sur rubans laminés ou tissus de 3,5 à 18 mm de large. Ce paquet permet de l'​utiliser sous Ubuntu. Il est dû à Dominic Radermacher. ] 
 +2 -  Name:    [ ptouch ] 
 +3 -  Version: [ 1.3.2 ] 
 +4 -  Release: [ 1 ] 
 +5 -  License: [ GPL ] 
 +6 -  Group: ​  [ checkinstall ] 
 +7 -  Architecture:​ [ amd64 ] 
 +8 -  Source location: [ ptouch-print ] 
 +9 -  Alternate source location: [  ] 
 +10 - Requires: [  ] 
 +11 - Recommends: [  ] 
 +12 - Suggests: [  ] 
 +13 - Provides: [ ptouch ] 
 +14 - Conflicts: [  ] 
 +15 - Replaces: [  ] 
 +16 - Prerequires:​ [  ] 
 + 
 +Enter a number to change any of them or press ENTER to continue:  
 +</​code>​ 
 +  * Il n'y a plus qu'à appuyer sur entrée 
 +<​code>​ 
 +Installing with make install... 
 +</​code>​
 </​note>​ </​note>​
 <note tip> <note tip>
Ligne 72: Ligne 151:
 </​code>​ </​code>​
 ====En cas de problème lors de la compilation==== ====En cas de problème lors de la compilation====
 +Lorsqu'​on utilise une application créée par un particulier,​ il est souvent nécessaire d'​adapter l'​installation,​ notamment aux changements de version d'​Ubuntu : il n'y a pas un collectif de programmateurs qui peuvent adapter les paquets en temps réel. Toutefois avec quelques recherches le problèmes se résolvent et l'​étiqueteuse fonctionne. Voici quelques "​recettes"​ mises au point après avoir passé le retour des erreurs dans le moteur de recherche
 +===Avec Ubuntu 20.04 (Focal)=== ​
 Si jamais configure ou autogen.sh rencontrent des difficultés (ils le diront), les manipulations suivantes ont permis de régler le problème sous une Ubuntu 20.04 (on suppose que le terminal est ouvert dans le répertoire cloné ptouch-print) Si jamais configure ou autogen.sh rencontrent des difficultés (ils le diront), les manipulations suivantes ont permis de régler le problème sous une Ubuntu 20.04 (on suppose que le terminal est ouvert dans le répertoire cloné ptouch-print)
 <​code>​ <​code>​
Ligne 87: Ligne 168:
 usr@usr-pc:​~$ make usr@usr-pc:​~$ make
 usr@usr-pc:​~$ sudo checkinstall usr@usr-pc:​~$ sudo checkinstall
 +</​code>​
 +=== Avec Ubuntu 21.04 (Hirsute Hippo)==
 +Difficulté rencontrée avec libusb pourtant installé : la difficulté a été contournée en téléchargeant manuellement les paquets. La compilation affiche l'​erreur suivante :
 +<​code>​E:​ Impossible de trouver le paquet libusb-1.0-dev
 +E: Impossible de trouver de paquet correspondant à l'​expression rationnelle « libusb-1.0-dev »
 +</​code>​
 +La difficulté a été contournée en téléchargeant manuellement les paquets libusb-dev_0.1.12-32_amd64.deb et :
 +<​code>​
 +sudo dpkg -i libusb-1.0-0-dev_1.0.23-2build1_amd64.deb
 +</​code>​
 +<​note>​
 +Cette installation a rencontré des problèmes de version MAIS un sudo apt-get -f install a permis de tout remettre d'​aplomb ... et de finaliser la compilation de l’utilitaire : voir ce [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=22469678#​p22469678|post]] sur le forum.
 +</​note>​
 +===Avec Ubuntu 23.10 (Mantic)===
 +Erreur relative à gettext se traduisant par exemple par :
 +<​code>​
 + '​AM_GLIB_GNU_GETTEXT'​ not found in library
 +</​code>​
 +ou
 +<​code>​
 + ​cannot stat ‘t-bg.gmo’:​ No such file or directory
 +</​code>​
 +Erreur résolue par l'​installation du paquet gettext :
 +<​code>​
 +sudo apt install gettext
 +</​code>​
 +<​note>​
 +J'ai également installé manuellement le paquet déjà installé libglib2.0-bin mais je ne sais pas si c'​était utile.
 +<​code>​
 +sudo dpkg -i /​home/​usr/​Téléchargements/​libglib2.0-bin_2.76.1-1_amd64.deb
 +sudo apt-get -f install
 +</​code>​
 +</​note>​
 +===Avec Ubuntu 24.04 LTS ("​Noble Numbat"​)=== ​
 +Erreur liée à la version de la bibliothèque libusb-dev qui provoque de la part de .configure une bordée de jurons :
 +<​code>​
 +checking for libusb-1.0/​libusb.h... no
 +configure: error: libusb headers missing - maybe you need to install package libusb-dev or libusb-devel?​
 +</​code>​
 +L'​erreur se résout en installant le paquet libusb-1.0-0-dev :
 +<​code>​
 +$ sudo apt install libusb-1.0-0-dev
 </​code>​ </​code>​
 ===== Configuration : Ajout d'une règle udev===== ===== Configuration : Ajout d'une règle udev=====
Ligne 119: Ligne 242:
 idVendor est donc 04f9 et idProdut est donc 2073 (et pas 4f9 !) idVendor est donc 04f9 et idProdut est donc 2073 (et pas 4f9 !)
 ====Création de la règle udev==== ====Création de la règle udev====
-On peut alors créer une règle udev +On peut alors créer une règle udev
-On commence par vérifier qu'une règle portant le nom envisagé n'​existe pas déjà (peu probable mais par principe, on vérifie)+ 
 +On commence par vérifier qu'une règle portant le nom envisagé n'​existe pas déjà (peu probable mais par principe, on vérifie) ​:
 <​code>​ <​code>​
-usr@usr-pc:​~$ if [[ -f /​etc/​udev/​rules.d/​41-brother-ptouch.rules ]]; then echo "​Changer de nom"; else echo "OK"; fi+usr@usr-pc:​~$ if [[ -f "/​etc/​udev/​rules.d/​41-brother-ptouch.rules" ​]]; then echo "​Changer de nom"; else echo "Vous pouvez utiliser ce nom de fichier"; fi
 </​code>​ </​code>​
-Si le retour est "​Changer de nom", ben changez le nom. Peu importe lequel, il est conseillé de ne pas faire comme dans l'​exemple qui a pris 41 comme numéro d'​ordre ​et de commencer ​à 50 (ordre d'​exécution des règles) ​:+Si le retour est "​Changer de nom", ben changez le nom. Peu importe lequel, il est cependant ​conseillé ​de respecter la syntaxe en commençant par un numéro (ordre d'​exécution des règles) suivi d'un tiret et de ne pas faire comme dans l'​exemple qui a pris 41 comme numéro d'​ordre. Commencer ​à 50 :
 <​code>​ <​code>​
 sudo echo '​SUBSYSTEM=="​usb",​ATTRS{idVendor}=="​04f9",​ATTRS{idProduct}=="​2073",​GROUP="​users",​MODE="​0666"'​ > /​etc/​udev/​rules.d/​41-brother-ptouch.rules sudo echo '​SUBSYSTEM=="​usb",​ATTRS{idVendor}=="​04f9",​ATTRS{idProduct}=="​2073",​GROUP="​users",​MODE="​0666"'​ > /​etc/​udev/​rules.d/​41-brother-ptouch.rules
 </​code>​ </​code>​
-Attention à bien respecter la syntaxe des guillemets et apostrophes. Dans users mettre un group auquel vous appartenez (cat /​etc/​group) +Ou bien, si  
-recharger ​les règles udev (ou redémarrez votre système) :+<​code>​ 
 +bash: /​etc/​udev/​rules.d/​41-brother-ptouch.rules:​ Permission non accordée 
 +</​code>​ 
 +Essayer la méthode alternative : 
 +<​code>​ 
 +echo '​SUBSYSTEM=="​usb",​ATTRS{idVendor}=="​04f9",​ATTRS{idProduct}=="​2073",​GROUP="​users",​MODE="​0666"'​ > 41-brother-ptouch.rules 
 +sudo mv 41-brother-ptouch.rules /​etc/​udev/​rules.d/​ 
 +</​code>​ 
 +Attention à bien respecter la syntaxe des guillemets et apostrophes. Dans users mettre un group auquel vous appartenez (cat /etc/group)
 +<note tip> 
 +Pour lister les groupes auxquels vous appartenez : 
 +<​code>​ 
 +cat /etc/group | grep $USER 
 +adm:​x:​4:​syslog,​utilisateur1,​utilisateur2 
 +cdrom:​x:​24:​utilisateur1,​utilisateur2 
 +sudo:​x:​27:​utilisateur1,​utilisateur2 
 +dip:​x:​30:​utilisateur1,​utilisateur2 
 +plugdev:​x:​46:​utilisateur1,​utilisateur2 
 +users:​x:​100:​utilisateur1,​utilisateur2 
 +lpadmin:​x:​114:​utilisateur1,​utilisateur2 
 +utilisateur1:​x:​1000:​ 
 +</​code>​ 
 +</​note>​ 
 + 
 +Rechargez ​les règles udev (ou redémarrez votre système) : 
 +<​code>​
 sudo udevadm control --reload sudo udevadm control --reload
 </​code>​ </​code>​
Ligne 148: Ligne 297:
   
 ===paramètres d'​impression=== ===paramètres d'​impression===
-  * --image <​fichier>​ imprime le fichier d'​image ​passée ​en paramètre. Format noir et blanc png impératif.+  * --image <​fichier>​ imprime le fichier d'​image ​passé ​en paramètre. Format noir et blanc png impératif.
   * --text <​texte>​ imprime 1 à 4 lignes de textes. Si le texte contient des espaces, utiliser des guillemets anglais ""​. Lorsqu'​il y a plusieurs lignes, entourer le texte de chaque ligne par des guillemets, chaque groupe étant séparé par un espace. Ex. : --text "ligne 1" "ligne 2" "ligne 3"   * --text <​texte>​ imprime 1 à 4 lignes de textes. Si le texte contient des espaces, utiliser des guillemets anglais ""​. Lorsqu'​il y a plusieurs lignes, entourer le texte de chaque ligne par des guillemets, chaque groupe étant séparé par un espace. Ex. : --text "ligne 1" "ligne 2" "ligne 3"
   * --cutmark imprime une marque de découpe sur le ruban.   * --cutmark imprime une marque de découpe sur le ruban.
Ligne 156: Ligne 305:
 ===Exemples=== ===Exemples===
 <​code>​ <​code>​
-ptouch-print --text "Texte sur une seule ligne"​ +usr@usr-pc:​~$ ​ptouch-print --text "Texte sur une seule ligne"​ 
-ptouch-print --text "​Première ligne" "​Deuxième ligne" "​Troisième ligne"​ +usr@usr-pc:​~$ ​ptouch-print --text "​Première ligne" "​Deuxième ligne" "​Troisième ligne"​ 
-ptouch-print --text "​Etiquette de test" --writepng EtiquetteDeTest.png +usr@usr-pc:​~$ ​ptouch-print --text "​Etiquette de test" --writepng EtiquetteDeTest.png 
-ptouch-print --pad 4 --text "Texte précédé de 4 pixels de marge"​ +usr@usr-pc:​~$ ​ptouch-print --pad 4 --text "Texte précédé de 4 pixels de marge"​ 
-ptouch-print --text "Un texte suivi d'une image" --image image.png +usr@usr-pc:​~$ ​ptouch-print --text "Un texte suivi d'une image" --image image.png 
-ptouch-print --help +usr@usr-pc:​~$ ​ptouch-print --help 
-ptouch-print --font "​Ubuntu:​bold"​ --fontsize 23 --text "Texte Ubuntu gras, 23 pixels"​ +usr@usr-pc:​~$ ​ptouch-print --font "​Ubuntu:​bold"​ --fontsize 23 --text "Texte Ubuntu gras, 23 pixels"​ 
-ptouch-print --text "​Etiquette 1" --cutmark --text "​Etiquette 2"+usr@usr-pc:​~$ ​ptouch-print --text "​Etiquette 1" --cutmark --text "​Etiquette 2"
 </​code>​ </​code>​
 ===== Voir aussi ===== ===== Voir aussi =====
  • imprimante_brother_ptouch_d450.1618949797.txt.gz
  • Dernière modification: Le 20/04/2021, 22:16
  • par zococo