OVH Cloud OVH Cloud

Sudo

29 réponses
Avatar
Olivier V
Bonjour,

Sous Mandriva, je souhaite exécuter la commande "tlmgr -gui" avec un sudo
(il faudrait même kdesu).
Mais cette commande n'est pas reconnue car elle ne se trouve pas dans le
PATH de root.

Comment faire ?

L'idée serait d'avoir un script bash qui me lance "tlmgr -gui",
tout en sachant que /usr/local/texlive/bin/i386-linux qui est dans le PATH
de l'utilisateur doit aussi être dans le PATH qui sera celui de sudo.

Ceci fonctionne, mais sans sudo je n'arrive pas à en faire un script :
[meloli@fixe Téléchargement]$ su
Mot de passe :
[root@fixe Téléchargement]# export PATH=/usr/local/texlive/bin/i386-linux
$PATH
[root@fixe Téléchargement]# tlmgr -gui

Merci.

Olivier V

10 réponses

1 2 3
Avatar
Moulin
Olivier V a écrit :
Bonjour,

Sous Mandriva, je souhaite exécuter la commande "tlmgr -gui" avec un sudo
(il faudrait même kdesu).
Mais cette commande n'est pas reconnue car elle ne se trouve pas dans le
PATH de root.

Comment faire ?



Salut: Tout d'abord MANDRIVA Bureau Gnome ou KDE ???
sudo c'est pour gnome
kdesu = kde super utilisateur
Avatar
Vivien Moreau
Moulin writes:

Olivier V a écrit :
Bonjour,

Sous Mandriva, je souhaite exécuter la commande "tlmgr -gui" avec u n sudo
(il faudrait même kdesu).
Mais cette commande n'est pas reconnue car elle ne se trouve pas dans le
PATH de root.

Comment faire ?



Salut: Tout d'abord MANDRIVA Bureau Gnome ou KDE ???
sudo c'est pour gnome
kdesu = kde super utilisateur



Hum, non.
sudo c'est l'utilitaire de base, à utiliser dans le shell.
Pour lancer des applications avec GNOME en utilisant un frontend
graphique de sudo, là c'est gksudo. Y'a gksu qui existe aussi
apparemment, en frontend de su.
--
Tuxicomane, alias Vivien Moreau.
Avatar
Erwan David
Moulin écrivait :

sudo c'est pour gnome



NON.

--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé
Avatar
Thierry B.
--{ Moulin a plopé ceci: }--

Salut: Tout d'abord MANDRIVA Bureau Gnome ou KDE ???
sudo c'est pour gnome
kdesu = kde super utilisateur



Ça n'a aucune importance, à ma connaissance. J'utilise un
Xfce dégraissé en window-manager, et je me sert de kdesu
pour lancer synaptic. Et ça fonctionne très bien.

--
je cherche ou télécharger windows média player ou mieux un lecteur me
permettant d'écouter les radios de préférence en format rpm je ne sais pas
charger un autre format je suis sous mandriva 2007
--{ Bon, reprenons du début... }--
Avatar
Olivier V
Le bureau c'est Mandriva + KDE, mais sudo c'est sudo, non ?

D'autres idées ?

Olivier V
Avatar
Jonathan ROTH
Le 07.12.2008 19:05, Thierry B. s'exprima:
--{ Moulin a plopé ceci: }--

Salut: Tout d'abord MANDRIVA Bureau Gnome ou KDE ???
sudo c'est pour gnome
kdesu = kde super utilisateur



Ça n'a aucune importance, à ma connaissance.



Pas besoin de "à ma connaissance".

sudo et su sont les utilitaires, gksu et kdesu ne sont que des
"frontends" graphiques, c'est toujours un su/sudo qui fait le boulot
derrière.
Avatar
Cumbalero
Olivier V a écrit :

Mais je préfèrerais la solution sudo avec un PATH complet temporair e.



Je créerais un script qui exporte le PATH avant de lancer l'exécutabl e,
et je lancerais ce script via sudo.

A+
JF
Avatar
Olivier V
Cumbalero a écrit :

Olivier V a écrit :

Mais je préfèrerais la solution sudo avec un PATH complet temporaire.



Je créerais un script qui exporte le PATH avant de lancer l'exécutable,
et je lancerais ce script via sudo.



Je ne demande qu'à ... mais je ne m'y connais pas assez ... une contribution
serait la bienvenue.

Olivier V
Avatar
Cumbalero
Olivier V a écrit :

Je ne demande qu'à ... mais je ne m'y connais pas assez ... une contr ibution
serait la bienvenue.



Tu crées un fichier texte (appelons-le commande.sh) qui contient:
#!/bin/sh
export PATH=$PATH:/usr/local/texlive/bin/i386-linux/
tlmgr -gui


tu le rends exécutable:
chmod a+x commande.sh

et tu le lances par sudo ./commande.sh


Autre solution, le même fichier contient
#!/bin/sh
sudo /usr/local/texlive/bin/i386-linux/tlmgr -gui

et tu le lances par ./commande.sh


Et enfin dernière solution, créer un lien symbolique dans un répeto ire
qui est dans le $PATH de root (a priori autant le faire dans
/usr/local/bin):

sudo /usr/local/texlive/bin/i386-linux/tlmgr /usr/local/bin

et là, le sudo tlmgr -gui devrait fonctionner.


En fait, la 3eme solution me parait la meilleure, même si elle ne
correspond pas à créer un lanceur comme je te le suggérais précé demment.

A+
JF
Avatar
Olivier V
Cumbalero a écrit :

Olivier V a écrit :

Je ne demande qu'à ... mais je ne m'y connais pas assez ... une
contribution serait la bienvenue.



Tu crées un fichier texte (appelons-le commande.sh) qui contient:
#!/bin/sh
export PATH=$PATH:/usr/local/texlive/bin/i386-linux/
tlmgr -gui


tu le rends exécutable:
chmod a+x commande.sh

et tu le lances par sudo ./commande.sh


Autre solution, le même fichier contient
#!/bin/sh
sudo /usr/local/texlive/bin/i386-linux/tlmgr -gui

et tu le lances par ./commande.sh



J'ai essayé, et sudo ne le trouve pas ... car il est
dans /home/meloli/bin/binperso qui n'est pas dans le PATH de sudo ... même
en plaçant ma console dans le bon répertoire !
On tourne en rond.

Ensuite j'ai essayé de faire un lien symbolique de ce script
vers /usr/local/bin :
sudo ln -s /home/meloli/bin/binperso/tlmgr_perso /usr/local/bin
mais j'obtiens la même erreur que celle copiée-collée ci-dessous dans la
3ème solution.

Et enfin dernière solution, créer un lien symbolique dans un répetoire
qui est dans le $PATH de root (a priori autant le faire dans
/usr/local/bin):

sudo /usr/local/texlive/bin/i386-linux/tlmgr /usr/local/bin



sudo ln -s je suppose

En fait, la 3eme solution me parait la meilleure, même si elle ne
correspond pas à créer un lanceur comme je te le suggérais précédemment.



Celle ci ne peut pas fonctionner, car comme dit précédemment, il faut aussi
que le système accède aux autres exécutables du même répertoire

[ binperso]$ sudo tlmgr -gui
Can't locate TeXLive/TLPOBJ.pm in @INC (@INC
contains: //tlpkg /usr/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/5.10.0/i386-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6 /usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4 /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .)
at /usr/local/bin/tlmgr line 59.
BEGIN failed--compilation aborted at /usr/local/bin/tlmgr line 59.

Je précise bien qu'en user je n'ai aucune de ces erreurs.

Olivier V
1 2 3