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/01/2007, à 01:16

Wakinyan

Aide pour un petit script nautilus

Bonjour,

j'essaie vainement de réaliser un script pour Nautilus afin monter un volume Truecrypt de n'importe où. Je dispose actuellement des lignes basiques (pêchées je ne sais plus où):

#!bin/sh
gnome-terminal -e 'sudo truecrypt --mount-options "rw,gid=0,umask=0000" $1' #le $1 est la variable représentant le fichier que je veux monter

zenity --notification

gnome-terminal -e 'sudo truecrypt -d'
exit

Il me manque donc la partie de code qui prend en compte le fichier sur lequel je fais un clic droit. Malgré l'étude d'autres scripts, je ne comprends pas comment faire monter le fichier sélectionné.

Merci d'avance smile

Hors ligne

#2 Le 22/01/2007, à 02:26

llwynrt

Re : Aide pour un petit script nautilus

bonjour

tu dois utiliser les variables $NAUTILUS_SCRIPT_SELECTED_URIS ou $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS

deux exemples :

un script qui ouvre en root le fichier sélectionné :
#!/bin/bash
for uri in $NAUTILUS_SCRIPT_SELECTED_URIS; do
    gksudo "gnome-open $uri" &
done

et un qui ouvre une image iso avec qemu :
#!/bin/bash
qemu -cdrom $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS &

en espérant que ça t'aide

Marie-Lyse


Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !

Hors ligne

#3 Le 22/01/2007, à 11:48

Wakinyan

Re : Aide pour un petit script nautilus

Salut et merce de ton aide smile

pour le moment le script tel quel :

#!/bin/bash
for uri in $NAUTILUS_SCRIPT_SELECTED_URIS; do
gnome-terminal -e 'sudo truecrypt --mount-options "rw,gid=0,umask=0000" $uri';
zenity --notification
gnome-terminal -e 'sudo truecrypt -d'
done

a l'air de fonctionner tant bien que mal (du moins je vois l'icône de zenity). Le seul souci est que je doit normalement entrer le mot de passe du fichier pour accéder au volume monté. Malheureusement, le terminal apparaît fugacement. Truecrypt ne monte donc pas le fichier.

Désolé d'être si mauvais mais c'est un langage que je ne connais pas du tout.

Dernière modification par Wakinyan (Le 22/01/2007, à 11:49)

Hors ligne

#4 Le 22/01/2007, à 12:11

llwynrt

Re : Aide pour un petit script nautilus

remplace sudo par gksudo

sudo est pour les applications consoles et gksudo pour les applications graphiques
avec gksudo tu auras une fenêtre qui te demande ton mot de passe

Marie-Lyse


Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !

Hors ligne

#5 Le 22/01/2007, à 12:28

Wakinyan

Re : Aide pour un petit script nautilus

Salut,

j'ai bien remplacé sudo par gksudo. La première fois que je dois entrer le mot de passe root, le terminal s'affiche bien, mais dès que je dois entrer le mot de passe du volume à monter, le terminal apparaît moins d'une seconde.

Si je remplace

gnome-terminal -e 'gksudo truecrypt --mount-options "rw,gid=0,umask=0000" $uri';

par

gksudo truecrypt --mount-options "rw,gid=0,umask=0000" $uri;

le terminal se n'affiche même pas. Par contre, l'icône zenity s'affiche normalement.

Hors ligne

#6 Le 22/01/2007, à 12:37

llwynrt

Re : Aide pour un petit script nautilus

essaye ça :

#!/bin/bash
for uri in $NAUTILUS_SCRIPT_SELECTED_URIS; do
gksudo 'gnome-terminal -e truecrypt --mount-options "rw,gid=0,umask=0000" $uri';
zenity --notification
gksudo 'gnome-terminal -e truecrypt -d'
done

c'est quoi un volume Truecrypt ?

Marie-Lyse


Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !

Hors ligne

#7 Le 22/01/2007, à 12:40

Wakinyan

Re : Aide pour un petit script nautilus

C'est un fichier quelconque dont le contenu est crypté et que l'on monte comme un un cd, clé usb, etc. En l'occurence, je fais monter mon fichier dans /mnt/tcvol.

Cela fonctionne très bien lorsque j'indique le chemin absolu dans le script. Par contre, il n'a pas l'air de prendre en compte ma variable. Pourtant, c'est justement le but de mon script : faire en sorte de monter un fichier depuis n'importe quel emplacement (dossier, clé usb, etc).

EDIT : le code que tu indiques dans le message précédent me permet d'entrer le mot de passe root mais saute apparemment l'étape du mot de passe Truecrypt. Normalement, le programme me demande d'entrer le mot de passe pour décrypter le fichier. Peut-être qu'il faut forcer le terminal à rester ouvert lors de l'opération.

Lorsque je fais ceci :

#!/bin/bash
gnome-terminal -e 'sudo truecrypt --mount-options "rw,gid=0,umask=0000" /home/chemin/vers/fichier';
zenity --notification
gnome-terminal -e 'sudo truecrypt -d'
done

Tout fonctionne bien : une console affiche ceci :

Enter password for '/home/chemin/vers/fichier':

Je pense donc que c'est un problème de prise en compte de la variable.

Dernière modification par Wakinyan (Le 22/01/2007, à 12:54)

Hors ligne

#8 Le 22/01/2007, à 13:32

roger64

Re : Aide pour un petit script nautilus

La source est probablement le wiki Truecrypt où j'ai rentré le script il ya quelques jours. (je l'avais également donné sur un fil EncFs de ce forum)
http://doc.ubuntu-fr.org/truecrypt#faire_monter_le_volume

En fait, parfois le mot de passe sudo est demandé et parfois pas avant celui de Truecrypt. Donc, j'ai trouvé plus pratique de laisser s'afficher la fenêtre du terminal, dans laquelle on peut facilement entrer un ou deux mots de passe. Et dans ce cas, le terminal reste affiché sans problème.

Pour moi, il marche bien.:|

Dernière modification par roger64 (Le 22/01/2007, à 13:34)

Hors ligne

#9 Le 22/01/2007, à 14:14

Wakinyan

Re : Aide pour un petit script nautilus

roger64 a écrit :

La source est probablement le wiki Truecrypt où j'ai rentré le script il ya quelques jours. (je l'avais également donné sur un fil EncFs de ce forum)
http://doc.ubuntu-fr.org/truecrypt#faire_monter_le_volume

exact wink J'ai tellement farfouillé que je ne savais plus d'où venait ce script.

roger64 a écrit :

En fait, parfois le mot de passe sudo est demandé et parfois pas avant celui de Truecrypt. Donc, j'ai trouvé plus pratique de laisser s'afficher la fenêtre du terminal, dans laquelle on peut facilement entrer un ou deux mots de passe. Et dans ce cas, le terminal reste affiché sans problème.

Pour moi, il marche bien.:|

Tel quel il fonctionne parfaitement pour moi aussi mais je suis obligé de prendre le chemin absolu. Dès lors que je veux intégrer le chemin en variable pour ouvrir n'importe quel fichier de n'importe quel emplacement que ça ne fonctionne plus.

Hors ligne

#10 Le 22/01/2007, à 15:33

roger64

Re : Aide pour un petit script nautilus

@Wakinyan

en lisant le mot "variable",  je pense quelque expert du forum "programmation" serait plus à même de te répondre. Il faudrait reposter ou plutôt signaler à un modo de te changer de forum.

Pour moi, j'utilise la ligne (sur une seule ligne):

zenity --notification --window-icon=/home/roger/.icons/Tango/24x24/actions/lock.png --text "démonter Truecrypt"

au lieu de

zenity --notification

ça améliore le look smile

à +

Dernière modification par roger64 (Le 22/01/2007, à 15:37)

Hors ligne

#11 Le 22/01/2007, à 15:36

Wakinyan

Re : Aide pour un petit script nautilus

Ok, je vais faire ça. Merci smile


Je continue le sujet ici : http://forum.ubuntu-fr.org/viewtopic.php?pid=704297#p704297

Dernière modification par Wakinyan (Le 22/01/2007, à 15:54)

Hors ligne