Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/09/2015, à 10:44

Gloops

Envoi répertoire par mail

Bonjour tout le monde,

Dans le menu contextuel d'un répertoire sous Nautilus, on trouve la commande "courriel", qui ouvre une boîte de dialogue pour inviter à saisir une adresse mail, puis envoie le contenu du répertoire dans une archive, dont accessoirement la boîte de dialogue permet aussi de changer le nom.

Voilà qui est bien pratique. Maintenant, j'aimerais introduire ce traitement dans un script, à deux nuances près :
- c'est toujours le même répertoire que je veux envoyer, ~/CopiesEcran
- le destinataire est toujours le même.

Donc, finalement, je n'ai pas vraiment besoin de la boîte de dialogue, on ouvrirait directement la fenêtre de rédaction de Thunderbird que ça irait très bien.

Hum ... Je cherche ça où ? Dans la doc de Thunderbird ?

Est-ce que si je reprends un script écrit sous Windows ça fait aussi l'affaire ?
Ah oui il faudra gérer la mise en archive, aussi. Et là la commande est spécifique à l'outil utilisé. C'est le gestionnaire d'archives par défaut d'Ubuntu.

Si j'oublie quelque chose il y aura bien quelqu'un pour me dire mais là je ne vois pas ...

Ah, pour la mise en archive j'ai vu dans un autre fil que Nany, "une essence qui embaume", a proposé ça :

for d in *; do [[ -d "${d}" ]] && (echo "${d}"; zip -qr "${d}" "${d}"); done

Me restera plus qu'à essayer smile
Ah voilà, sans le paramètre --out je n'ai rien obtenu (j'ai peut-être loupé un truc), mais comme ça ça marche :

zip *.* --out CopiesEcran.zip

Maintenant il reste à envoyer ça par mail.

Dernière modification par Gloops (Le 08/09/2015, à 11:29)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#2 Le 08/09/2015, à 11:02

sinbad83

Re : Envoi répertoire par mail

Bonjour,
rien de compliqué, ouvre dans Nautilus le répertoire CopiesEcran, sélectionne le tout (Ctl+A) et clic droit Courriel.


La connaissance n'est pas une denrée rare, il faut la partager avec les autres.
Linux registered #484707
Site: www.coursinforev.org/doku.php
Desktop AMD Ryzen 5-3600, RAM 16GB, Ubuntu 20.10,   HP Pavillon G6 Ubuntu 20.10 et Ten, Serveur Ubuntu 18.04

Hors ligne

#3 Le 08/09/2015, à 11:35

Gloops

Re : Envoi répertoire par mail

sinbad83 a écrit :

Bonjour,
rien de compliqué, ouvre dans Nautilus le répertoire CopiesEcran, sélectionne le tout (Ctl+A) et clic droit Courriel.

Oui tu as bien compris : comme je le dis ci-dessus, c'est ça que je fais jusqu'ici.

Ce que je veux obtenir, c'est un bouton dans l'interface Cairo-Dock, qui ouvre directement la fenêtre de rédaction de Thunderbird avec le destinataire renseigné (et, toujours, le contenu de ce répertoire en pièce jointe).

Pour la petite histoire, comme dans l'étape précédente je fais déplacer des fichiers d'un répertoire à un autre, j'ouvre les répertoires plutôt dans Krusader que dans Nautilus. Un intérêt majeur du nouveau script sera de s'affranchir de l'ouverture de Nautilius.


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#4 Le 08/09/2015, à 14:19

nany

Re : Envoi répertoire par mail

Bonjour,

Gloops a écrit :

[…] Maintenant, j'aimerais introduire ce traitement dans un script, à deux nuances près :
- c'est toujours le même répertoire que je veux envoyer, ~/CopiesEcran
- le destinataire est toujours le même.
[…]

zip *.* --out CopiesEcran.zip

Maintenant il reste à envoyer ça par mail.

Si j’ai bien compris, tu exécutes la commande zip dans ~/CopiesEcran. Le chemin du fichier est donc ~/CopiesEcran/CopiesEcran.zip.
Essaye cette commande :

thunderbird -compose "to=foo@nowhere.net,subject='CopiesEcran',attachment='~/CopiesEcran/CopiesEcran.zip'"

Hors ligne

#5 Le 08/09/2015, à 15:10

Gloops

Re : Envoi répertoire par mail

Merci, divine essence smile

Il ne reste plus qu'un point : les tests que j'ai réalisés de la commande zip fonctionnaient très bien sur des fichiers texte, mais les copies d'écran au format *.png n'ont pas l'air de vouloir suivre. L'option -B n'est pas reconnue.

Autre chose à préciser ?


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#6 Le 08/09/2015, à 15:31

nany

Re : Envoi répertoire par mail

Et comme ça ?

zip -jq ~/CopieEcran ~/CopieEcran/*

Ce qui donnerait au final :

zip -jq ~/CopieEcran ~/CopieEcran/* && thunderbird -compose "to=foo@nowhere.net,subject='CopiesEcran',attachment='~/CopiesEcran.zip'"

Hors ligne

#7 Le 08/09/2015, à 16:25

Gloops

Re : Envoi répertoire par mail

Joli !
Donc l'astuce consiste à traiter le répertoire plutôt que les fichiers. Et résultat dans le répertoire parent, en plus ça résout une redondance cyclique dans ce que j'avais proposé, dont le système avait l'air de s'accommoder, mais autant faire les choses proprement.
Dans la commande Thunderbird il faut que je fasse attention à ma tentation de faire suivre chaque virgule d'un espace, comme on apprend en dactylo : Thunderbird n'en veut pas, à cet endroit.
En tête du chaînage final, il ne me reste plus qu'à ajouter

rm ~/CopiesEcran.zip

pour effacer l'archive que j'ai laissée à l'exécution précédente (et qui pour alors est déjà arrivée chez le destinataire).

Une chose m'intrigue : si je ne mets pas -j au zip, il démarre l'arborescence à home, alors que l'exécution depuis le menu contextuel dans Nautilus n'inclut que le répertoire CopiesEcran.


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#8 Le 08/09/2015, à 16:58

nany

Re : Envoi répertoire par mail

Gloops a écrit :

[…]
Une chose m'intrigue : si je ne mets pas -j au zip, il démarre l'arborescence à home, alors que l'exécution depuis le menu contextuel dans Nautilus n'inclut que le répertoire CopiesEcran.

C’est parce que j’ai mis le chemin complet (ce qui permet d’exécuter la commande quel que soit le répertoire de travail) des fichiers à traiter et l’option j permet justement de ne pas traiter l’arborescence.

man zip a écrit :
       -j
       --junk-paths
              Store just the name of a saved file (junk the path), and do not store directory names. By default, zip will store the full path  (relative
              to the current directory).

À noter que les sous-répertoires ne seront pas traiter.
Nautilus quant à lui exécute la commande zip par défaut qui prend donc le chemin relatif au répertoire courant.

Hors ligne

#9 Le 08/09/2015, à 21:25

Gloops

Re : Envoi répertoire par mail

Là c'est plus par curiosité, mais si dans ~/CopiesEcran je tape une des lignes suivantes j'obtiens comme réponse "zip error : Nothing to do ! (../CopiesEcran.zip)" -sans la précision du répertoire pour les deux premières- alors que si j'ajoute *.* là j'ai bien les fichiers, mais par le répertoire.

zip CopiesEcran
zip CopiesEcran.zip
zip ../CopiesEcran
zip ../CopiesEcran .

En tout cas merci pour ces réponses précises et rapides, avec gentillesse en plus. J'ai grandement amélioré l'efficacité de ce traitement, l'utilisatrice aura moins de mal à s'y retrouver.

Dernière modification par Gloops (Le 08/09/2015, à 21:26)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne