Création Bordures

Je ne pense pas que ce soit ça… J’ai retiré ART.cli de mon PATH, et ça marche toujours chez moi…

Je pense que c’est un problème à coup sûr, ART-cli doit bien être dans le $PATH.

Il suffit d’ouvrir un terminal et de taper ART-cli, si tu as le message ART, version xxxxx, command line. Terminating without anything to do.alors ART-cli est bien dans le PATH. Si tu obtiens au contraire un message du type no such file or directory: ART-clialors ce n’est pas bon, ART-cli n’est pas dans le PATH et les COmmandes utilisateur ne peuvent pas fonctionner.

Je vais laisser tomber, je n’ai pas assez de connaissance dans votre domaine pour solutionner mon problème.

vidéo

Ne laisse pas encore tomber. Tu as là un double problème, simple à résoudre :

  1. tu as à la fois $HOME et /home/philippe déclarés dans ta variable PATH, or $HOME est déjà par défaut déclaré comme /home/philippe, tu coup ça se voit quand tu tapes echo $PATH ça retourne ... /home/philippe/home/philippe... tu vois le doublon ? Donc ça ne peut pas fonctionner.
  2. l’espace introduit avant :$HOME est également problématique, on le voit apparaître quand tu tapes echo $PATH et ce n’est pas correct.

Donc pour résoudre la déclaration $PATH, dans .bashrc remplace ta déclaration du $PATH par exactement ceci :

export PATH="$PATH:$home/philippe/ART/ARTstable/ART-cli

Puis fais comme d’habitude : source ~/.bashrc et vérifie avec echo $PATH qui doit te donner comma résultat /usr/local/bin[...blablabla...]:/home/philippe/ART/ARTsatble/ART-cli

Il ne doit y avoir aucun espace.

Si je tape ton : export …/ART-cli tel quel, sans les guillemets de fin j’ai cette erreur :
philippe@deletree:~$ nano .bashrc
philippe@deletree:~$ source ~/.bashrc
bash: /home/philippe/.bashrc: ligne 114: fin de fichier (EOF) prématurée lors de la recherche du « " » correspondant
bash: /home/philippe/.bashrc: ligne 116: erreur de syntaxe : fin de fichier prématurée
philippe@deletree:~$

Si j’ajoute les guillemets de fin : export PATH=“$PATH:$home/philippe/ART/ARTstable/ART-cli”
philippe@deletree:~$ source ~/.bashrc
tout va bien aucune réponse du système.

et echo $PATH donne ça :
philippe@deletree:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/philippe/ART/ARTstable/ART-cli:/philippe/ART/ARTstable/ART-cli
philippe@deletree:~$

Aucune bordure ne se fait …

Je ne pense pas qu’il faille se prendre la tête avec ça. Un simple module de bordures ajouté à ART eu été plus simple pour l’utilisateur lambda de logiciel libre.

C’est ma faute, il faut mettre /home et non pas $home, et j’avais oublié le " final…mes excuses.

Donc :

export PATH="$PATH:/home/philippe/ART/ARTstable/ART-cli"

ou bien :
export PATH=$PATH:/home/philippe/ART/ARTstable/ART-cli
(doit aussi fonctionner sans guillemets, ça marche chez moi)

ou encore :
export PATH=$PATH:$HOME/ART/ARTstable/ART-cli
(sachant que la variable $HOME a déjà été déclarée comme égale à /home/philippe)

Ces 3 cas sont équivalents et doivent conduire au même résultat.

Petite explication sur ce type de commande :

  • ici il s’agit d’ajouter un nouveau répertoire ou programme à la variable $PATH qui existe déjà dès l’installation de linux ; ainsi linux connait déjà ces emplacements et dans la console ou dans un script il n’y a plus besoin d’entrer le chemin complet ; ART-cli est maintenu reconnu par le système et on peut le lancer directement ;
  • les guillemets sont, il me semble, juste une précaution pour le cas où il y aurait des espaces dans le nom d’un dossier à ajouter au $PATH ; il me semble qu’ici ils ne sont pas nécessaires ;
  • dans une variable telle que $PATH, le signe : sert à séparer les différents éléments (chemins ou programmes) que le système doit connaître ;
  • comme il s’agit d’ajouter un nouvel élément au $PATH qui en contient déjà par défaut (par exemple /usr/bin) il faut penser à ajouter $PATH: au début (ou :$PATH à la fin).

Plus d’infos : Script bash : variables, arguments, paramètres / Wiki / Debian-facile

1 « J'aime »

Je viens d’essayer tes 3 solutions concernant : export … je n’ai aucun message d’erreur mais il ne se passe rien quand je lance la commande utilisateur.
Aller, on arrête là. Un grand merci pour votre aide précieuse et votre patience. Je ferai des passages dans Darktable ou Gimp pour les bordures.

Si tu tapes directement ART-cli dans un terminal, qu’est-ce que ça retourne comme message ?

philippe@deletree:~$ ART-cli
ART-cli: command not found
philippe@deletree:~$

Et une dernière fois, le résultat de la commande echo $PATH ?
As-tu bien fait source ~/.bashrc ?

Voilà :
philippe@deletree:~$ source ~/.bashrc
aucun message après return

puis

philippe@deletree:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin:/home/philippe/ART/ARTstable/ART-cli:/home/philippe/ART/ARTstable/ART-cli
philippe@deletree:~$

Ca me semble correct (même si apparemment le chemin vers ART-cli est déclaré 2 fois au lieu d’une).
L’exécutable ART-cli est bien localisé dans le dossier /home/philippe/ART/ARTstable/ ?

Oui.

On arrête là va. Quand ça veut pas, ça veut pas :slight_smile:

Désolé… c’est sûrement pas grand chose pourtant, juste une histoire.

@Deletree_Philippe @sguyader

C’est dommage, il se pourrait que ce ne soit effectivement pas grand chose. Et je pense savoir ce que c’est.

Selon la doc officielle :

  • Command: the command to execute. The path can be either absolute or relative to the current directory; the command can also contain extra arguments (the input files will be appended to the list of arguments);

Quand il parle de chemin relatif au dossier courant, c’est relatif au dossier où se trouve l’exécutable ART, c’est elle qui lance l’exécutable. Or on voit dans ta 1ère vidéo que ton fichier .txt lance un script shell défini avec un chemin relatif. donc soit tu copies ton script shell à côté de l’exécutable d’ART pour qu’il le trouve effectivement en relatif, soit tu défini dans le .txt un chemin absolu vers les script shell (ce qui me paraît être la meilleur solution).

1 « J'aime »

Le script Bash fait bien appel à art-cli pour la première étape de conversion au format tiff.

C’est pas comme si c’était écrit en gros et de manière répété :sweat_smile: Commentaire corrigé.

1 « J'aime »

Bonjour à tou.te.s, je déterre ce sujet que j’ai bien lu attentivement en entier. Je suis au même stade que Philippe Deletree: quand je lance la commande utilisateur il ne se passe rien. Tout est correctement configuré par ailleurs; echo $PATH me retourne le bon chemin, quand je tape ART-cli dans un terminal il trouve bien l’exécutable, tout est OK.
J’ai testé la commande convert dans un terminal: imagemagick est bien installé et fonctionne.
Je voulais donc tester aussi la commande ART-cli en solo dans un terminal mais je ne sais pas quels arguments lui passer, si je tape ceci: ART-cli -f -s -Y -t -tz -b16 -o “$d” -c “$@” 2>“$d/error” ça me retourne ceci: bash: /error: Permission non accordée
Mais j’imagine que c’est normal puisque c’est sorti du contexte du fichier add-border.sh …
D’où ma question: quels arguments utiliser pour tester ART-cli dans un terminal.
J’ai cherché dans le wiki de ART mais on y trouve que des exemples de scripts bash.

Merci d’avance pour votre aide !

Oups, j’ai écrit trop vite, ça fonctionne maintenant, désolé d’avoir dérangé tout le monde !
:hugs:

1 « J'aime »

Si on n’a pas peur de rogner un peu sur les bordures de la photo, on peut aussi créer un cadre tout simple (noir ou blanc) sans faire appel à ImageMagick, en utilisant le module “Tonalité / Correction de couleur” avec un masque de zone rectangulaire inversé, et sauvegarder la modification en tant que profil partiel pour réappliquer ultérieurement.


Et même un double cadre :