Réponses:
sudo
demande le mot de passe sur la ligne de commande et gksudo
affiche une boîte de dialogue à cet effet.
sudo -E
équivalent à gksudo
?
gksudo
est un frontend basé sur GTK-de sudo
(BTW, kdesudo
poignées est un frontend basé sur Qt), mais il (par défaut) plus de variables environnementales ( HOME
, XAUTHORITY
, etc.) que sudo
ce qui rend les commandes en cours d' exécution comme plus sûre racine.
Autant que je sache, seule la réponse de @Logics est correcte (la réponse de @ Ignacio Vazquez-Abrams n’est pas complète). Essayez d'éclaircir la réponse à @Davros @knitti (merci de bien vouloir les supprimer / les modifier si vous n'en avez pas besoin):
sudo
, l'interface utilisateur utilisée n'est PAS la seule différence entre les deux commandes. HOME
variable d’environnement pointe sudo
commande dans certains systèmes et situations). Toutes les applications à interface graphique n'écrivent pas dans votre répertoire personnel, pas plus que les applications CLI . Le type de commande n'est donc pas l'élément clé. sudo
commande pour lancer les applications de l'interface graphique en tant qu'utilisateur root (pour afficher la sortie de la console de ces applications, par exemple). Toutefois, vous devez gérer correctement HOME
(et d'autres, telles que XAUTHORITY
, DISPLAY
les paramètres de méthode de saisie, etc.) afin que l'application lancée ne va pas échouer, perdre des fonctionnalités ou faire des choses vraiment mauvaises. Ce qui suit est ma recommandation actuelle pour utilisersudo
sudo -H <rest of the command>
sudo
la page de manuel de la section 8) L' -H ( HOME )
option demande à la stratégie de sécurité de définir la HOME
variable d'environnement sur le répertoire de base de l'utilisateur cible (racine par défaut), comme indiqué par la base de données de mots de passe. Selon la stratégie, il peut s'agir du comportement par défaut.sudo
le répertoire de base de l'appelantsudo -H DISPLAY=<a working X display name, usually :0> <rest of a GUI program command>
sudo
commande n'est pas identique sur tous les systèmes et peut être configuré via visudo
commande. Veuillez consulter la sudoers(5)
page de manuel pour plus d'informations.L'utilisation de sudo pour exécuter des programmes graphiques occasionnera rarement une erreur sur les autorisations de certains fichiers. Pour être sûr, gksudo (ou kdesudo selon le cas) doit être utilisé pour exécuter des programmes avec une interface graphique. Je pense que c’est vraiment un bogue, même si j’ai entendu des explications indiquant que gksudo comprend les variables du serveur X et que sudo n’entraîne pas de problèmes. Juste comme un conseil; Si vous exécutez des programmes graphiques en tant que root, au lieu d'ouvrir un terminal pour chaque programme que vous souhaitez exécuter, tapez ALT-F2 (les touches alt et function 2 en même temps), puis tapez dans la boîte de dialogue qui s'affiche "gksudo programme "sans les guillemets et le programme remplacé par l'application que vous souhaitez exécuter.
sudo est exécuté en tant qu'utilisateur actuel avec des privilèges élevés. Cela peut potentiellement modifier les autorisations de fichiers de certains fichiers de configuration utilisateur (liés à votre environnement graphique) lors de l'exécution d'applications graphiques. Vous pouvez trouver des erreurs lors de la réexécution de ces applications sans sudo.
gksudo (kdesudo sous KDE) exécute les applications en tant qu'utilisateur root. Par conséquent, toutes les autorisations de fichiers concernées concernent les fichiers root, et non les fichiers des utilisateurs. réexécuter ces applications sans utiliser gksudo / kdesudo aura toujours le comportement attendu.
La réponse actuelle est incorrecte. Selon le wiki Ubuntu RootSudo :
"Vous ne devez jamais utiliser sudo normal pour démarrer des applications graphiques en tant que root. Vous devez utiliser gksudo (kdesudo sur Kubuntu) pour exécuter de tels programmes. Gksudo définit HOME = ~ root et copie .Xauthority dans un répertoire tmp. Cela évite les fichiers de votre maison. répertoire devenant la propriété de root. (AFAICT, c’est tout ce qui est spécial dans l’environnement du processus démarré avec gksudo vs. sudo). "