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 22/12/2016, à 01: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, à 20: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, à 13: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 résolu, 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.

En ligne

#3 Le 22/12/2016, à 20: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.  sad
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, à 20: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 résolu, 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.

En ligne

#5 Le 22/12/2016, à 20: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, à 20: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, à 23: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, à 03: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, à 08: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, à 12: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 !  wink
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 !!! smile
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, à 12: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, à 12: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, à 18:58

Compte anonymisé

Re : (résolu) nemo scripts ne marche pas toujours ?

cristobal78 a écrit :

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, à 20: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