Forum darktable FR

Version complète : rsync en sortie de darktable
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour
Je souhaiterais que cette commande :

rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images

se fasse automatiquement à la fermeture de Darktable.

je suis nul en script, est-ce possible et si oui savez-vous comment faire ?
Pas besoin d'un script, tu peux mettre dans ton .bash_aliases ou .bash (si le 1er n'existe pas) :

Code :
alias darktable='/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images >> /tmp/rsync.log 2>&1'

Du coup, le lancement de darktable via ton compte (après déconnexion/reconnexion) lancera cet alias qui :
1. lance DT
2. fait ton rsync en plaçant la sortie écran à la fin du fichier /tmp/rsync.log, avec aussi les erreurs éventuelles.
(04-03-17, 16:52)manu a écrit : [ -> ]Pas besoin d'un script, tu peux mettre dans ton .bash_aliases ou .bash (si le 1er n'existe pas) :

Code :
alias darktable='/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images >> /tmp/rsync.log 2>&1'

Du coup, le lancement de darktable via ton compte (après déconnexion/reconnexion) lancera cet alias qui :
1. lance DT
2. fait ton rsync en plaçant la sortie écran à la fin du fichier /tmp/rsync.log, avec aussi les erreurs éventuelles.

Je me suis renseigné ici Alias
Je ne connaissais pas
Merci de ta réponse
Non, ça ne fonctionne pas ...
J'ai créé le fichier .bash_aliases dans mon home à côté du fichier .bashrc  et j'ai copié ta commande.
J'ai mis un fichier témoin sur le disque dur de l'ordi et rien n'a été transféré sur le DD externe.
(05-03-17, 17:13)valmy a écrit : [ -> ]Non, ça ne fonctionne pas ...
J'ai créé le fichier .bash_aliases dans mon home à côté du fichier .bashrc  et j'ai copié ta commande.
J'ai mis un fichier témoin sur le disque dur de l'ordi et rien n'a été transféré sur le DD externe.

Quelle distribution Linux utilises-tu ? (Ubuntu avec Unity ?)

Comment lances-tu DT ?

À partir d'un Terminal (Ctrl + Alt + T), que se passe-t-il si tu tapes :
Code :
/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images

Que donne la commande :
Code :
alias
(05-03-17, 21:45)manu a écrit : [ -> ]
(05-03-17, 17:13)valmy a écrit : [ -> ]Non, ça ne fonctionne pas ...
J'ai créé le fichier .bash_aliases dans mon home à côté du fichier .bashrc  et j'ai copié ta commande.
J'ai mis un fichier témoin sur le disque dur de l'ordi et rien n'a été transféré sur le DD externe.

Quelle distribution Linux utilises-tu ? (Ubuntu avec Unity ?)
J'utilise Debian strech (très bientôt Debian stable)

Comment lances-tu DT ?
Je lance Darktable comme d'habitude par "Activités" et Darktable dans les favoris

À partir d'un Terminal (Ctrl + Alt + T), que se passe-t-il si tu tapes :
Code :
/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images
Cette commande lance Darktable et, à sa fermeture,  fait la sauvegarde de mon fichier témoin sur le disque dur externe

Que donne la commande :
Code :
alias
La commande alais donne ceci :
philippe@debiandeletree:~$ alias
alias darktable='/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images >> /tmp/rsync.log 2>&1'
alias ls='ls --color=auto'
philippe@debiandeletree:~$
OK @valmy, c'est donc que ton lanceur dans "Activités" ne prend pas en compte l'alias. Il faut peut-être toucher le fichier de ce lanceur pour y replacer l'appel à darktable ou /usr/bin/darktable par :

Code :
/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images >> /tmp/rsync.log 2>&1

Ultra galère de poster les réponses en ce moment... des erreurs de protocole en veux-tu en voilà...
(06-03-17, 09:39)manu a écrit : [ -> ]OK @valmy, c'est donc que ton lanceur dans "Activités" ne prend pas en compte l'alias. Il faut peut-être toucher le fichier de ce lanceur pour y replacer l'appel à darktable ou /usr/bin/darktable par :

Code :
/usr/bin/darktable ; /usr/bin/rsync -avr --delete /home/philippe/Images/ /media/philippe/sauvegarde/Images >> /tmp/rsync.log 2>&1
Comment trouver le fichier du lanceur d'applications ?
Sur une Ubuntu, c'est le fichier /usr/share/applications/darktable.desktop dans lequel effectivement, on trouve :

Code :
Exec=/usr/bin/darktable %U
TryExec=/usr/bin/darktable

A priori, selon ton display manager (gnome ? kde ?), tu dois pouvoir le reproduire et l'instancier dans un dossier de ton home (.local/share/applications ?) avec un "Exec=" qui va bien.
(06-03-17, 16:16)manu a écrit : [ -> ]Sur une Ubuntu, c'est le fichier /usr/share/applications/darktable.desktop dans lequel effectivement, on trouve :

Code :
Exec=/usr/bin/darktable %U
TryExec=/usr/bin/darktable

A priori, selon ton display manager (gnome ? kde ?), tu dois pouvoir le reproduire et l'instancier dans un dossier de ton home (.local/share/applications ?) avec un "Exec=" qui va bien.

Je suis sous gnome.
Dans usr/share/applications il y a l’icône de Darktable et dans les propriétés de l'icône , j'ai : /usr/bin/darktable %U dans le champ "commande".
Il faudrait remplacer la commande existante par la tienne mais, en root dans le terminal, je n'arrive pas à appeler cet icône pour en modifier les propriétés.
Pages : 1 2