#1 Le 22/12/2016, à 00:47
- cristobal78
(résolu) nemo scripts ne marche pas toujours ?
Bonsoir à tous
Sous 14.04 LTS je rencontre un soudain problème avec les Nautilus scripts ou plutôt dans mon cas les nemo scripts (car j'ai quitté Nautilus qui avait abandonné entre autres le double fenêtrage si commode par la touche F3).
J'ai créé et j'utilise régulièrement les nemo scripts dont l'activation se fait à partir d'un click droit sur un fichier dans l'explorateur de fichier.
Pour ça j'ai un dossier :
.gnome2/nemo-scripts
dans le quel je mets mes scripts perso par exemple celui ci qui supprime tous les accents, cédille, tilde, tréma, ... etc...
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = replace les car. accentués et les cédilles par des car. normaux
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# à partir du fichier sélectionné création d'une variable "temporaire" contenant le nom du fichier d'origine mais sans accents ni cédilles
for fichier
do
temporaire=$(echo "$fichier" | sed 'y/àâäÀÂÄçÇéèêëÉÈÊËîïÎÏôöÔÖùüûÙÜÛ/aaaAAAcCeeeeEEEEiiIIooOOuuuUUU/')
if [ -e "$temporaire" ]
then
zenity --error --title="Attention" --text="Une fois débarrassé des accents ou cédille \nle fichier sélectionné aura le MÊME nom qu'un fichier DÉJÀ présent dans ce dossier : risque d'écrasement !!\n Arret du script"
else
mv "$fichier" "$temporaire"
fi
done
Ça marche impec.
Pourtant ça ne marche plus avec ce tout petit script évidemment placé aussi dans .gnome2/nemo-scripts :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = protège le fichier toto par mot de passe et le renomme en toto.cpt
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
ccrypt -eT $1
Après click droit sur un nom de fichier il ne se passe rien.
Et pourtant si je le lance depuis un terminal il marche : on me demande 2 fois un MdP et un fichier en .cpt est créé
Pour essayer de comprendre j'ai rajouté cette ligne au script
echo $? > coder-d-erreur
et après lancement via click droit certes il ne s'est rien passé de plus qu'avant mais j'ai vu que code-d-erreur vaut "2".
Que signifie ce 2 qui aurait du être "0" si mon script avait fonctionné ?
Dernière modification par cristobal78 (Le 23/12/2016, à 19:48)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#2 Le 22/12/2016, à 12:00
- erresse
Re : (résolu) nemo scripts ne marche pas toujours ?
Salut,
Jette donc un coup d’œil à cette conversation pour voir comment on passe les paramètres au script...
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 22/12/2016, à 19:10
- cristobal78
Re : (résolu) nemo scripts ne marche pas toujours ?
Salur eresse
je n'ai pas compris ta suggestion mais je suis allé voir dans le dossier des scripts nemo et j'ai lu ceci :
Tous les fichiers exécutables de ce dossier apparaîtront dans le menu « Scripts ».. Si vous choisissez un script dans ce menu, il sera lancé.
Un script exécuté à partir d'un dossier local reçoit en paramètre les noms des fichiers sélectionnés. Quand il est exécuté à partir d'un dossier distant (par exemple un dossier situé sur un serveur Web ou FTP), les scripts ne reçoivent aucun paramètre.
Dans tous les cas, Nemo définit les variables d'environnement suivantes que les scripts peuvent utiliser :
NEMO_SCRIPT_SELECTED_FILE_PATHS : chemins, séparés par des sauts de ligne, des fichiers sélectionnés (locaux uniquement)
NEMO_SCRIPT_SELECTED_URIS : URI, séparés par des sauts de ligne, des fichiers sélectionnés
NEMO_SCRIPT_CURRENT_URI : URI de l'emplacement actuel
NEMO_SCRIPT_WINDOW_GEOMETRY : position et taille de la fenêtre actuelle
NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS : chemins, séparés par des sauts de ligne, des fichiers (locaux uniquement) sélectionnés dans le panneau inactif d'une fenêtre divisée
NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS : URI, séparés par des sauts de ligne, des fichiers sélectionnés dans le panneau inactif d'une fenêtre divisée
NEMO_SCRIPT_NEXT_PANE_CURRENT_URI : URI de l'emplacement actuel du panneau inactif d'une fenêtre divisée
A vrai dire je ne vois pas ce que tout ça implique pour mes scripts qui, je le rappelle, marchent TOUS ...sauf celui dont je fais état dans mon post initial.
Accessoirement comment utilise t on ces variables que je n'utilise dans AUCUN des scripts qui marchent sur mes bécanes ?
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#4 Le 22/12/2016, à 19:27
- erresse
Re : (résolu) nemo scripts ne marche pas toujours ?
Hé bien, il est recommandé que les scripts de type "nautilus-script" ou "nemo-script" obtiennent leurs paramètres au travers de ces variables, l'utilisation de "$n" ne fonctionnant pas toujours correctement...
Pour utiliser une des variables (par exemple "NEMO_SCRIPT_SELECTED_URIS") il suffit de la nommer dans le script :
"${NEMO_SCRIPT_SELECTED_URIS}"
pour obtenir la liste des fichiers sélectionnés.
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#5 Le 22/12/2016, à 19:45
- cristobal78
Re : (résolu) nemo scripts ne marche pas toujours ?
salut erresse,
merci de ta réponse mais mon niveau en scripts n'est pas très élevé (j'apprends par mes essais et surtout mes échecs !) et je n'ai jamais utilisé ce genre de variables système dans mes scripts.
Si je te comprends bien c'est l'utilisation de $1 dans mon script (qui ne marche pas !) qu'il faudrait remplacer par "${NEMO_SCRIPT_SELECTED_URIS}"
Mais que veut dire URI ou URIS ?
Dernière modification par cristobal78 (Le 22/12/2016, à 19:46)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#6 Le 22/12/2016, à 22:09
- lynn
Re : (résolu) nemo scripts ne marche pas toujours ?
Bonjour,
@cristobal78
Regardes ici en #7...
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#7 Le 23/12/2016, à 02:38
- cristobal78
Re : (résolu) nemo scripts ne marche pas toujours ?
salut Lynn
merci de ton lien mais pour tout dire j'avais trouvé, il y a un moment, ce script sur ask-ubuntu ou linux-app (je ne sais plus au juste) et cela m'avait paru une usine à gaz.
Je suis loin d'en comprendre toutes les lignes et moi qd je ne comprends pas un script je n'aime pas trop l'utiliser.
Moi ce que je cherche à écrire c'est un script très simple de 4 à 5 lignes max que je comprends ne serait ce que pour pouvoir le maintenir.
Je n'ai donc pas envisagé d'utiliser ce script "tout fait".
Par ailleurs ce script utilise "gpg" et moi j'essaie avec "ccrypt".
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#8 Le 23/12/2016, à 07:48
- Compte anonymisé
Re : (résolu) nemo scripts ne marche pas toujours ?
Bonjour,
Pourtant ça ne marche plus avec ce tout petit script évidemment placé aussi dans .gnome2/nemo-scripts :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = protège le fichier toto par mot de passe et le renomme en toto.cpt
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #ccrypt -eT $1
Après click droit sur un nom de fichier il ne se passe rien.
Et pourtant si je le lance depuis un terminal il marche : on me demande 2 fois un MdP et un fichier en .cpt est créé
cela ne fonctionne pas, car il demande le mot de passe dans un terminal qui n'est pas visible.
tu peux rajouter -K "mon_mot_de_passe" dans les arguments (peut-être un zenity pour le choisir avant)
il faut aussi mettre des " pour ta variable.
exemple
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = protège le fichier toto par mot de passe et le renomme en toto.cpt
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
mdp=$(zenity --entry)
ccrypt -eT -K "$mdp" "$1"
#9 Le 23/12/2016, à 11:41
- cristobal78
Re : (résolu) nemo scripts ne marche pas toujours ?
Merci Anonyme68
Cet anonyme68, peut être de Colmar ou Mulhouse, qui sait, mériterait d’être mieux connu !
Car c'est lui qui a trouvé d'où venait mon pb : "..cela ne fonctionne pas, car il demande le mot de passe dans un terminal qui n'est pas visible.."
Compris.
Voici maintenant mes 2 scripts l'un pour chiffrer (-e) l'autre pour déchiffrer (-d) :
fichier=$1
mdp=$(zenity --entry)
ccrypt -eT -K "$mdp" "$fichier"
fichier=$1
mdp=$(zenity --entry)
ccrypt -dT -K "$mdp" "$fichier"
et ça marche !!!
Je déploie ces scripts sur mes 3 PC.
PS
Dans le man il y a l'option -K que je n'avais pas vue et signalée par Anonyme68.
Cela dit le commentaire n'est pas très clair comme souvent d'ailleurs dans le man :
Specify the keyword on the command line. This is unsafe, because any other user can see the command line by running the ps command. Only use this option for testing purposes, and never with a real keyword.
S'il ne faut pas se servir de -K alors comment ferait-on simplement, c'est à dire sans retomber dans une usine à gaz ?
Dernière modification par cristobal78 (Le 23/12/2016, à 11:52)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#10 Le 23/12/2016, à 11:44
- kholo
Re : (résolu) nemo scripts ne marche pas toujours ?
salut,
voici une petite astuce pour les scripts sous néno (ou nautilus)
montre les variables de némo en fonction de la sélection faite par l'utilisateur
crée ce simple script :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = montre les variables de némo en fonction de la sélection faite par l'utilisateur
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
zenity --info --text="NEMO_SCRIPT_SELECTED_FILE_PATHS = $NEMO_SCRIPT_SELECTED_FILE_PATHS
--------------------------------
NEMO_SCRIPT_SELECTED_URIS = $NEMO_SCRIPT_SELECTED_URIS
--------------------------------
NEMO_SCRIPT_CURRENT_URI = $NEMO_SCRIPT_CURRENT_URI
--------------------------------
NEMO_SCRIPT_WINDOW_GEOMETRY = $NEMO_SCRIPT_WINDOW_GEOMETRY
--------------------------------
NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS = $NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS
--------------------------------
NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS = $NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS
--------------------------------
NEMO_SCRIPT_NEXT_PANE_CURRENT_URI = $NEMO_SCRIPT_NEXT_PANE_CURRENT_URI
"
exit
NB zenity bug un peu mais tu auras facilement compris le script et tu peux virer les trucs inutiles :
#!/bin/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Fonction du script = montre les variables de némo en fonction de la sélection faite par l'utilisateur
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
zenity --info --text="NEMO_SCRIPT_SELECTED_FILE_PATHS = $NEMO_SCRIPT_SELECTED_FILE_PATHS
--------------------------------
NEMO_SCRIPT_SELECTED_URIS = $NEMO_SCRIPT_SELECTED_URIS
--------------------------------
NEMO_SCRIPT_CURRENT_URI = $NEMO_SCRIPT_CURRENT_URI
"
exit
Hors ligne
#11 Le 23/12/2016, à 17:58
- Compte anonymisé
Re : (résolu) nemo scripts ne marche pas toujours ?
S'il ne faut pas se servir de -K alors comment ferait-on simplement, c'est à dire sans retomber dans une usine à gaz ?
après -K c'est pas très safe, enfin sur un ordinateur personnel le risque est relatif
on a aussi :
-k pour lire un fichier qui contient la clé
sinon les variables du style NEMO_ n'ont à priori pas d’intérêt dans le cas présent pour un script exécuté en local.
#12 Le 23/12/2016, à 19:47
- cristobal78
Re : (résolu) nemo scripts ne marche pas toujours ?
merci
je passe en "résolu"
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne