Re: script au démarrage / lanceur

2010-03-01 Par sujet Avell Diroll
Thomas De Contes wrote:
> Le 1 mars 10 à 01:32, Avell Diroll a écrit :
>> Thomas De Contes wrote:
>>> gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier-
>>> partage '`echo ~/`'Bureau/partage'
>>> marche très bien quand je le tape dans un terminal
>>
>> Il se passe /des choses/, c'est juste que /rien/ n'est affiché ...
> 
> et donc, quelles "choses" il se passe, avec ce que j'ai écrit ?

A première vu un timeout d'authentification et/ou une erreur de syntaxe 
qui sont perdus dans /dev/null ou un cache quelconque.

>> pour
>> résoudre un problème il faut commencer par introduire un logging des
>> opérations ...
> 
> c'est bien ce qu'est censé faire gksudo

gksudo ne fait qu'élever les droits. Pour loguer ce qui se passe le plus 
simple/rapide devrait être de rediriger stderr

>> Un indice:
>> gksudo n'ouvre pas de terminal ...
> il est même fait pour ça

Certes, mais si on continue de réfléchir sur cette piste:
gksudo n'ouvre pas de terminal, donc ne lance pas de shell, donc 
n'interprète pas de lui même des commandes en backquotes ...

>> Un essai de résolution:
>> gksudo true; sudo *commande*
> 
> merci :-)

de rien, mais as tu essayé cette suggestion?

> j'ai trouvé que
> gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier-partage 
> '`echo ~/`'Bureau/partage'
> dans un terminal, fonctionne comme attendu, mais
> sudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier-partage 
> '`echo ~/`'Bureau/partage'
> donne
> usage: sudo -h | -K | -k | -L | -l | -V | -v
> usage: sudo [-bEHPS] [-p prompt] [-u username|#uid] [VAR=value]
> {-i | -s | }
> usage: sudo -e [-S] [-p prompt] [-u username|#uid] file ...
> 
> pourquoi y a t il cette différence ??
...
 > et donc je ne vois pas pourquoi sudo refuse d'exécuter la commande :-(

sudo interprète (justement) les commandes entre single quotes comme une 
chaîne de caractères donc comme le nom d'une commande unique qui 
comprendrait des espaces, d'où l'erreur de syntaxe.

Cette commande devrait fonctionner dans un terminal:
sudo mount -t vboxsf -o uid=`id -u`,gid=`id -g` dossier-partage `echo 
~/`Bureau/partage

  > par ailleurs, il me semble que ça devrait être possible d'utiliser
> uniquement gksudo, puisque ça marche dans le terminal

cf plus haut ... pas de shell donc pas d'interprétation de commande bash

> entre temps, j'ai pensé aussi que ça serait plus simple pour les gens de 
> la liste de faire ca dans un lanceur,
> ça ne marche pas non plus, donc c'est probable que ça "aille ensemble",
> et de toutes façons ça me sera utile aussi :-)

Toujours pas de shell ... cependant il est possible de créer un lanceur 
qui "lance la commande dans un terminal"

> j'ai essayé de rajouter "sh -c" devant, pour voir :
> sh -c gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' 
> dossier-partage '`echo ~/`'Bureau/partage'

Et est-ce fonctionnel?


Sinon j'ai deux petites remarques de syntaxe:

* les backquotes c'est bien quand on pond un one-liner en vitesse, pour 
présenter du code et faciliter les corrections le $( ) est préférable 
(je sais c'est une question de goût mais je trouve ça tellement plus 
lisible)

* `echo ~/` ... un $HOME/ serait quand même plus clair ...


Enfin, je pense que ce fil aurait plus sa place sur une ML dédiée au 
scripting.

Bonne continuation

Ju
-- 
Si je suggérais qu'entre la Terre et Mars se trouve une théière de 
porcelaine en orbite elliptique autour du Soleil, personne ne serait 
capable de prouver le contraire pour peu que j'aie pris la précaution de 
préciser que la théière est trop petite pour être détectée par nos plus 
puissants télescopes. Mais si j'affirmais que, comme ma proposition ne 
peut être réfutée, il n'est pas tolérable pour la raison humaine d'en 
douter, on me considérerait aussitôt comme un illuminé. Cependant, si 
l'existence de cette théière était décrite dans d'anciens livres, 
enseignée comme une vérité sacrée tous les dimanches et inculquée aux 
enfants à l'école, alors toute hésitation à croire en son existence 
deviendrait un signe d'excentricité et vaudrait au sceptique les soins 
d'un psychiatre à une époque éclairée ou de l'Inquisition en des temps 
plus anciens.
--Bertrand Russell

-- 
ubuntu-fr mailing list
ubuntu-fr@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr


Re: script au démarrage / lanceur

2010-03-01 Par sujet Thomas De Contes

Le 1 mars 10 à 01:32, Avell Diroll a écrit :

> Thomas De Contes wrote:
>> gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier-
>> partage '`echo ~/`'Bureau/partage'
>> marche très bien quand je le tape dans un terminal
>>
>> mais quand je fais une entrée dans "session et démarrage / démarrage
>> automatique", il ne se passe /rien/ !
>> qu'est ce qu'il se passe ?
>
> Dialectique:
> Il se passe /des choses/, c'est juste que /rien/ n'est affiché ...

pardon pour mon imprécision
en tout cas, je n'ai ni demande d'authentification, ni partage de  
fichier
et je me passerais volontiers du 1er, mais j'ai besoin du 2eme

et donc, quelles "choses" il se passe, avec ce que j'ai écrit ?

> pour
> résoudre un problème il faut commencer par introduire un logging des
> opérations ...

c'est bien ce qu'est censé faire gksudo

>
> Un indice:
> gksudo n'ouvre pas de terminal ...

il est même fait pour ça

>
> Un essai de résolution:
> gksudo true; sudo *commande*

merci :-)

j'ai trouvé que
gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier- 
partage '`echo ~/`'Bureau/partage'
dans un terminal, fonctionne comme attendu, mais
sudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier-partage  
'`echo ~/`'Bureau/partage'
donne
usage: sudo -h | -K | -k | -L | -l | -V | -v
usage: sudo [-bEHPS] [-p prompt] [-u username|#uid] [VAR=value]
 {-i | -s | }
usage: sudo -e [-S] [-p prompt] [-u username|#uid] file ...

pourquoi y a t il cette différence ??


avec "set -x" on voit bien qu'ils donnent
gksudo 'mount -t vboxsf -o uid=1000,gid=1000 dossier-partage /home/ 
thomas/Bureau/partage'
et
sudo 'mount -t vboxsf -o uid=1000,gid=1000 dossier-partage /home/ 
thomas/Bureau/partage'
et donc je ne vois pas pourquoi sudo refuse d'exécuter la commande :-(


par ailleurs, il me semble que ça devrait être possible d'utiliser  
uniquement gksudo, puisque ça marche dans le terminal

entre temps, j'ai pensé aussi que ça serait plus simple pour les gens  
de la liste de faire ca dans un lanceur,
ça ne marche pas non plus, donc c'est probable que ça "aille ensemble",
et de toutes façons ça me sera utile aussi :-)

j'ai donc pensé que la différence entre le terminal et le lanceur,  
c'est probablement le shell, puisqu'il a des expressions à interpréter
le lanceur essaye probablement de lancer la commande qu'on lui donne  
directement, sans shell

j'ai essayé de rajouter "sh -c" devant, pour voir :
sh -c gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier- 
partage '`echo ~/`'Bureau/partage'
http://dl.free.fr/qaq5Kz9tF


>
> Bonne continuation


merci, à toi aussi :-)


-- 
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/


-- 
ubuntu-fr mailing list
ubuntu-fr@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr


Re: script au démarrage

2010-02-28 Par sujet Avell Diroll
Thomas De Contes wrote:
> gksudo 'mount -t vboxsf -o uid='`id -u`',gid='`id -g`' dossier- 
> partage '`echo ~/`'Bureau/partage'
> marche très bien quand je le tape dans un terminal
> 
> mais quand je fais une entrée dans "session et démarrage / démarrage  
> automatique", il ne se passe /rien/ !
> qu'est ce qu'il se passe ?

Dialectique:
Il se passe /des choses/, c'est juste que /rien/ n'est affiché ... pour 
résoudre un problème il faut commencer par introduire un logging des 
opérations ...

Un indice:
gksudo n'ouvre pas de terminal ...

Un essai de résolution:
gksudo true; sudo *commande*

Bonne continuation

Ju
-- 
All things come to he who waits, but here's a rule that's slicker: The 
man who goes for what he wants, will get it all the quicker

-- 
ubuntu-fr mailing list
ubuntu-fr@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr