Pages : 1
#1 Le 23/07/2010, à 11:48
- josepe36
[Résolu]probléme gksu -s
bonjour
pour lancer mes scripts à partir du tableau de bord j'ai pour habitude (bonne ou mauvaise ?) d'utilser la commande suiivante dans mon lanceur personalisé "gksu -s script.sh".
Cela fonctionne en général mais là j'ai un probléme pour ce script :
#! /bin/bash
turbo()
{
zenity --info --timeout=3 --text="TURBO EN COURS D'ACTIVATION" ;
mount -t tmpfs tmpfs /mnt ;
cp -av /usr/lib/firefox /mnt ;
cp -av /usr/lib/firefox-3.6.6/ /mnt ;
cp -av /usr/lib/firefox-addons/ /mnt ;
cp -av $HOME/.mozilla/ /mnt ;mount --bind /mnt/firefox /usr/lib/firefox ;
mount --bind /mnt/firefox-3.6.6/ /usr/lib/firefox-3.6.6/ ;
mount --bind /mnt/firefox-addons/ /usr/lib/firefox-addons/ ;
mount --bind /mnt/.mozilla $HOME/.mozilla ;
zenity --info --timeout=2 --text="TURBO ACTIF" ;
}fin()
{
umount -l /usr/lib/firefox ;
umount -l /usr/lib/firefox-3.6.6/ ;
umount -l /usr/lib/firefox-addons/ ;
umount -l $HOME/.mozilla ;
cp -av /mnt/firefox /usr/lib/ ;
cp -av /mnt/firefox-3.6.6/ /usr/lib/ ;
cp -av /mnt/firefox-addons/ /usr/lib/ ;
cp -av /mnt/.mozilla $HOME/ ;
umount /mnt/ ;
zenity --info --timeout=3 --text="Session firefox sauvegardée" ;
}boucle()
{
while [ -z "$b" ];do
if pidof firefox
then "ok" ;
else fin ; break
fi
done
}a=$(ls /mnt | grep firefox) ;
if [ "$a" ]
then zenity --info --timeout=2 --text="TURBO DEJAS ACTIF" ;
else
turbo ;
firefox ;
boucle ;
fiexit 0
Le script fonctionne mais en environement root en revanche si je le lance depuis un terminal avec sudo j'ai bien le résultat escompté, c'est a dire l'environement utilisateur.
Donc ma question est comment lancer ce script depuis mon tableau de bord en qualité d'utilisateur ?
Ceci afin d'alimenter ce sujet http://forum.ubuntu-fr.org/viewtopic.php?pid=3618318#p3618318
Le principe est d'utiliser firefox en mémoire vive sans déplacer ni détruire les dossiers existant.
Dernière modification par josepe36 (Le 24/07/2010, à 11:40)
#2 Le 23/07/2010, à 13:41
- credenhill
Re : [Résolu]probléme gksu -s
hello
et avec gksudo script.sh ?
Hors ligne
#3 Le 23/07/2010, à 15:41
- josepe36
Re : [Résolu]probléme gksu -s
salut
bien avec gksudo c'est pareil, execute le script en utilisateur root, firefox s'ouvre en session root.
#4 Le 24/07/2010, à 08:05
- credenhill
Re : [Résolu]probléme gksu -s
le script doit s'exécuter en root à cause des mount, mais le firefox démarré dans le script doit s'exécuter comme l'utilisateur ?
et c'est le cas uniquement avec sudo ?
Hors ligne
#5 Le 24/07/2010, à 10:18
- josepe36
Re : [Résolu]probléme gksu -s
bonjour credenhill
quand je le lance dans un terminal avec sudo, tout se déroule comme je le souhaite.
si je le lance a partir du tableau de bord avec gksu -s ou gksudo ça va pas, il ouvre une session firefox en root.
il fait les operations avec la variable d'environnement $HOME dans /root.
#6 Le 24/07/2010, à 10:28
- credenhill
Re : [Résolu]probléme gksu -s
effectivement, ils fonctionnent différement
$ sudo bash -c set| grep HOME
HOME=/home/xxx
$
$ gksudo "bash -c set"| grep HOME
HOME=/root
$
$ gksu "bash -c set"| grep HOME
HOME=/root
$
Dernière modification par credenhill (Le 24/07/2010, à 10:28)
Hors ligne
#7 Le 24/07/2010, à 10:41
- alej
Re : [Résolu]probléme gksu -s
$ gksudo --help
[...]
--preserve-env, -k
Préserve l'environnement courant, ne positionne pas $HOME
ni $PATH par exemple.
Hors ligne
#8 Le 24/07/2010, à 10:59
- credenhill
Re : [Résolu]probléme gksu -s
effectivement, par contre ça veut dire que Firefox s'exécute en root, peut-être risqué, non ?
Hors ligne
#9 Le 24/07/2010, à 11:04
- alej
Re : [Résolu]probléme gksu -s
À partir du moment où tu fais "gksudo firefox", hein, ÀMA........
Hors ligne
#10 Le 24/07/2010, à 11:40
- josepe36
Re : [Résolu]probléme gksu -s
@alej
bonjour et merci, éffectivement avec cette option c'est du tout bon.
me reste plus qu'a marquer résolu et poster cela sur l'autre sujet.
ce que j'aime sur ce forum c'est que l'on reçoit autant que l'on donne, donc merci j'ai encore appris quelquechose.
olivier