Pages : 1
#1 Le 05/08/2007, à 14:41
- Christouf
Copier vers
Vendredi je pars en vacance! 5h de route! je voulais piquer de la musique sur l'ordi de ma soeur et je viens de penser a un petit script sympa mais aucune idée de comment le réaliser
Clic droit sur un *.mp3/script/Copier vers Home music
Je pense que cela ne doit pas etre compliquer mais je n'es aucune base :s
Une idée??:D
Hors ligne
#2 Le 05/08/2007, à 14:59
- poupoul2
Re : Copier vers
Sans vouloir faire un script, est ce que tu as regardé si nautilus-action pourrait faire ce que tu veux?
#3 Le 05/08/2007, à 15:13
- Christouf
Re : Copier vers
Nautilus! Je sais juste que c'est le gestionnaire de fenetre je pense apres je ne sais pas! je peux voir ca ou?
Edit: G trouvé tout seul je devrais rechercher avant :s
Dernière modification par Christouf (Le 05/08/2007, à 15:20)
Hors ligne
#4 Le 05/08/2007, à 15:18
- goodluck
Re : Copier vers
Nautilus! Je sais juste que c'est le gestionnaire de fenetre
Loupé, Nautilus est un gestionnaire de ..... fichiers (drag and drop tu connais)
Amicalement, Gerard ;)
http://counter.li.org/cgi-bin/certificate.cgi/302199
http://www.worldcommunitygrid.org/
Hors ligne
#5 Le 05/08/2007, à 15:22
- Christouf
Re : Copier vers
Nautilus! Je sais juste que c'est le gestionnaire de fenetre
Loupé, Nautilus est un gestionnaire de ..... fichiers (drag and drop tu connais)
Mince! la prochaine fois peut etre :s
Emerald est un gestionaire de fenetre alors?
Dernière modification par Christouf (Le 05/08/2007, à 15:22)
Hors ligne
#6 Le 05/08/2007, à 15:55
- chaoswizard
Re : Copier vers
Ce genre de script devrait marcher :
#!/bin/bash
#
# On teste si un fichier a été sélectionné
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --text="Sélectionnez un fichier"
exit 1
fi
# On s'assure que les noms de fichiers contenant des espaces fonctionnent
IFS=$'\n'
# On copie le fichier
for I in `echo $*`
do
cp $I /home/nom_utilisateur/musique
done
Tu enregistres ça dans /home/nom_utilisateur/.gnome2/nautilus-scripts
Dernière modification par chaoswizard (Le 05/08/2007, à 16:01)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#7 Le 05/08/2007, à 20:53
- soupaloignon
Re : Copier vers
Ce genre de script devrait marcher :
#!/bin/bash # # On teste si un fichier a été sélectionné if [ $# -eq 0 ]; then zenity --error --title="Erreur" --text="Sélectionnez un fichier" exit 1 fi # On s'assure que les noms de fichiers contenant des espaces fonctionnent IFS=$'\n' # On copie le fichier for I in `echo $*` do cp $I /home/nom_utilisateur/musique done
Tu enregistres ça dans /home/nom_utilisateur/.gnome2/nautilus-scripts
Bonjour,
Je voulais utiliser ton script pour envoyer des fichiers du compte utilisateur principal vers un dossier d'un autre compte utilisateur, mais cela ne fonctionne pas (par contre à l'intérieur du compte utilisateur ça fonctionne nickel).
J'ai tenté une modif en mettant un sudo:
# On copie le fichier
for I in `echo $*`
do
sudo cp $I /home/nom_utilisateur/musique
done
Mais cela n'a rien donné non plus. Tu aurais une idée ?
Merci d'avance
Dernière modification par soupaloignon (Le 05/08/2007, à 20:54)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#8 Le 05/08/2007, à 21:28
- chaoswizard
Re : Copier vers
Oui, il faut rajouter une commande pour ouvrir une fenetre demandant le mdp root :
# On demande le mot de passe root et on copie le fichier
for I in `echo $*`
do
foo=`gksudo -u root -k -m\
"Entrez votre mot de passe root"\
/bin/echo "got r00t?"`
sudo cp $I /home/nom_utilisateur/musique
done
Par contre, il y aura pi être des problèmes de droits sur les fichiers copiés...
Dernière modification par chaoswizard (Le 05/08/2007, à 21:45)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#9 Le 06/08/2007, à 00:01
- soupaloignon
Re : Copier vers
Par contre, il y aura pi être des problèmes de droits sur les fichiers copiés...
C'est effectivement ce que je me suis dit après avoir posté le message . Mais bon ça avance petit à petit
En tout cas avec ta portion de code ça marche nickel, le fichier est bien transféré dans le bon compte utilisateur, mais effectivement avec les droits root.
Est ce que je peux abuser encore un peu de tes connaissances ?
Il y aurait 2 choses qui m'intéresseraient dans ce script.
D'une part qu'à la fin il puisse lancer une commande modifiant les droits des documents transférés. Si on garde le principe que tout est envoyé dans un dossier "musique" par exemple, il doit y avoir un moyen de lui dire que tout le contenu de ce dossier doit prendre les droits du compte ?
D'autre part savoir s'il y a un moyen que le script puisse aussi bien envoyer des fichiers (ce qu'il fait actuellement) mais aussi un ou des dossiers contenant des fichiers/dossiers ?
Un grand merci par avance,
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#10 Le 06/08/2007, à 00:23
- chaoswizard
Re : Copier vers
Pour modifier les droits, il va falloir faire un
sudo chown nom_utilisateur_qui_aura_les_droits /home/nom_utilisateur/musique/$I
(je suis pas sur que le /home/nom_utilisateur/musique/$I fonctionne, il faut tester...)
Pour envoyer des dossiers, il faudra remplacer "cp" par" cp -r", donc, faire un second script à la limite !
Dernière modification par chaoswizard (Le 06/08/2007, à 00:24)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#11 Le 06/08/2007, à 01:02
- soupaloignon
Re : Copier vers
Hello,
J'étais en train de faire des tests sur les permissions
Après quelques lectures la dessus j'en étais arrivé à ça (où "invite" est le nom du compte) :
# On demande le mot de passe root et on copie le fichier
for I in `echo $*`
do
foo=`gksudo -u root -k -m\
"Entrez votre mot de passe root"\
/bin/echo "got r00t?"`
sudo cp $I /home/invite/musique
sudo chown -R invite:invite /home/invite/musique
done
Quelle est la différence entre ta ligne de commande :
sudo chown nom_utilisateur_qui_aura_les_droits /home/nom_utilisateur/musique/$I
est la mienne:
sudo chown -R invite:invite /home/invite/musique
Pas pour l'histoire des permissions mais pour la fin de la ligne => /musique et /musique/$I
Je vais tester pour les répertoires, merci pour l'info
Par contre en testant le script avec plusieurs fichiers cela ne fonctionne pas, il n'envoi rien (ceci dit il est peut être conçu juste pour n'envoyer qu'un seul fichier à la fois)
Edit : Je viens de tester pour les répertoires, ça marche impec. J'ai testé avec l'option -R juste sur un fichier et cela marche aussi, donc même pas la peine de faire 2 script.
# On demande le mot de passe root et on copie le répertoire
for I in `echo $*`
do
foo=`gksudo -u root -k -m\
"Entrez votre mot de passe root"\
/bin/echo "got r00t?"`
sudo cp -R $I /home/invite/musique
sudo chown -R invite:invite /home/invite/musique
done
Dernière modification par soupaloignon (Le 06/08/2007, à 01:15)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#12 Le 06/08/2007, à 11:20
- chaoswizard
Re : Copier vers
Quelle est la différence entre ta ligne de commande :
sudo chown nom_utilisateur_qui_aura_les_droits /home/nom_utilisateur/musique/$Iest la mienne:
sudo chown -R invite:invite /home/invite/musique
En faite, ma commande change les droits du fichier copié, la tienne du répertoire en entier, ce qui n'est pas forcement bête... (au moins, tu es sur que ça marche !)
Par contre, tu es sure du invite:invite ?
Par contre en testant le script avec plusieurs fichiers cela ne fonctionne pas, il n'envoi rien (ceci dit il est peut être conçu juste pour n'envoyer qu'un seul fichier à la fois)
Oui, à la base ce n'est fait que pour un fichier.
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#13 Le 06/08/2007, à 12:30
- soupaloignon
Re : Copier vers
Quelle est la différence entre ta ligne de commande :
sudo chown nom_utilisateur_qui_aura_les_droits /home/nom_utilisateur/musique/$Iest la mienne:
sudo chown -R invite:invite /home/invite/musiqueEn faite, ma commande change les droits du fichier copié, la tienne du répertoire en entier, ce qui n'est pas forcement bête... (au moins, tu es sur que ça marche !)
Par contre, tu es sure du invite:invite ?
Pour les droits je me suis dit effectivement que c'était plus simple de changer les droits du répertoire directement.
pour le invite:invite je me suis référé à cette doc http://doc.ubuntu-fr.org/droits. Cela change les droits de l'utilisateur et du groupe.
Par contre en testant le script avec plusieurs fichiers cela ne fonctionne pas, il n'envoi rien (ceci dit il est peut être conçu juste pour n'envoyer qu'un seul fichier à la fois)
Oui, à la base ce n'est fait que pour un fichier.
Mystère résolu donc, je pensais éventuellement que je faisais une fausse manip quelconque.
En tout cas merci pour ton aide, c'est sympa de m'avoir consacré un peu de ton temps pour modifier le script afin qu'il fasse ce qui m'interessait.
J'ai ouvert un fil dans le forum "trucs et astuces" de façon à ce qu'il soit plus visible pour les personnes qui seraient intéressées.
http://forum.ubuntu-fr.org/viewtopic.php?pid=1087194
Dernière modification par soupaloignon (Le 06/08/2007, à 12:40)
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#14 Le 06/08/2007, à 13:02
- chaoswizard
Re : Copier vers
Ok, ok, bonne idée de l'avoir mis dans trucs et astuces, si un jour j'en ai besoin !
Si tu es toujours intéressé, je chercherais la modif à faire pour pouvoir prendre plusieurs fichiers !
Dernière modification par chaoswizard (Le 06/08/2007, à 13:02)
Ubuntu ==> Debian ==> Archlinux
Hors ligne
#15 Le 06/08/2007, à 13:06
- soupaloignon
Re : Copier vers
Ok, ok, bonne idée de l'avoir mis dans trucs et astuces, si un jour j'en ai besoin !
Mdr, tuparles, au vu de la manière dont tu taquines le code, je suis certain que tu auras plus vite fait de le réécrire que de le chercher
Si tu es toujours intéressé, je chercherais la modif à faire pour pouvoir prendre plusieurs fichiers !
Oui, je suis intéressé bien sur
==> Libérez les huitres du bassin d'Arcachon <==
Hors ligne
#16 Le 06/08/2007, à 19:34
- Christouf
Re : Copier vers
Tout ca! Et bien je suis heureux car avec nautilus-action j'ai rien trouvé! Merci
Hors ligne
Pages : 1