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 05/08/2007, à 15: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 sad

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, à 15: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, à 16: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é smile tout seul je devrais rechercher avant :s

Dernière modification par Christouf (Le 05/08/2007, à 16:20)

Hors ligne

#4 Le 05/08/2007, à 16: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, à 16:22

Christouf

Re : Copier vers

goodluck a écrit :

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, à 16:22)

Hors ligne

#6 Le 05/08/2007, à 16: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, à 17:01)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#7 Le 05/08/2007, à 21:53

soupaloignon

Re : Copier vers

chaoswizard a écrit :

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, à 21:54)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#8 Le 05/08/2007, à 22: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, à 22:45)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#9 Le 06/08/2007, à 01:01

soupaloignon

Re : Copier vers

chaoswizard a écrit :

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 wink. Mais bon ça avance petit à petit big_smile

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, à 01: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, à 01:24)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#11 Le 06/08/2007, à 02:02

soupaloignon

Re : Copier vers

Hello,

J'étais en train de faire des tests sur les permissions wink

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 wink 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, à 02:15)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#12 Le 06/08/2007, à 12: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/$I

est 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, à 13:30

soupaloignon

Re : Copier vers

chaoswizard a écrit :

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

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 ?

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.

chaoswizard a écrit :

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, à 13:40)


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#14 Le 06/08/2007, à 14: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 ! tongue

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, à 14:02)


Ubuntu ==> Debian ==> Archlinux

Hors ligne

#15 Le 06/08/2007, à 14:06

soupaloignon

Re : Copier vers

chaoswizard a écrit :

Ok, ok, bonne idée de l'avoir mis dans trucs et astuces, si un jour j'en ai besoin ! tongue

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 wink

chaoswizard a écrit :

Si tu es toujours intéressé, je chercherais la modif à faire pour pouvoir prendre plusieurs fichiers !

Oui, je suis intéressé bien sur big_smile


==> Libérez les huitres du bassin d'Arcachon <==

Hors ligne

#16 Le 06/08/2007, à 20:34

Christouf

Re : Copier vers

Tout ca!  Et bien je suis heureux car avec nautilus-action j'ai rien trouvé! Merci

Hors ligne