Est-ce que la différence entre sudo cmd
et gksu cmd
, identique à la différence
entre le démarrage d'un shell avec sudo -i
et sudo -s
?
… ou en d'autres termes,
est sudo cmd
identique à sudo -i cmd
et gksu cmd
identique à sudo -s cmd
?
EDIT :D'après ce que j'ai lu sur une page de documentation Ubuntu où il est écrit :
You should never use normal sudo to start graphical applications as root.
You should use gksudo (kdesudo on Kubuntu) to run such programs. gksudo sets
HOME=~root, and copies .Xauthority to a tmp directory. This prevents files
in your home directory becoming owned by root.
(AFAICT, this is all that's special about the environment of the started
process with gksudo vs. sudo).
Le "AFAICT" ne me donne pas vraiment confiance qu'il n'y a rien de plus.
(..une MISE À JOUR tardive : J'ai testé son commentaire aujourd'hui (2 mois plus tard) :
"Cela empêche les fichiers de votre répertoire personnel d'appartenir à root."
Tous les fichiers que j'ai créés via sudo/gksu appartenaient tous à "root ", et le groupe était "root ".)
J'ai lu des parties de l'info sudo
et j'ai remarqué le -i
et -s
sembler faire la même chose que l'AFAICT problème d'environnement…
mais j'ai atteint la surcharge… j'ai donc posé ma question ici.
PS .. Ma question ne concerne pas sudo contre gksu
.. Il s'agit plutôt de :Est-ce que gksu identique à sudo -s
.. et sinon, en quoi diffèrent-ils ?
Meilleure réponse
gksu
est essentiellement une interface graphique pour sudo qui permet d'exécuter une commande graphique sans avoir besoin d'exécuter un émulateur de terminal X et d'utiliser su directement. Il s'agit en fait d'un skin GTK+ pour les commandes de superutilisateur.
Donc, si vous vouliez exécuter un programme basé sur une interface graphique en tant que root, vous l'invoqueriez avec gksu cmd
, plutôt que sudo cmd
, qui est utilisé pour appeler les programmes de la console en tant que root.