web-dev-qa-db-fra.com

Quelle est la difference entre "gksudo nautilus" et "Sudo nautilus"?

J'ai utilisé gksudo nautilus et Sudo nautilus jusqu'à Alt+F2.

Quelle est la différence? Ils ressemblent beaucoup!

99
DrKenobi

Tiré de ici :

Vous devriez ne jamais utiliser Sudo 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 que les fichiers de votre répertoire personnel ne deviennent la propriété de root.

Veuillez noter qu'il s'agit principalement de fichiers de configuration. Si vous exécutez Nautilus en tant que root, même avec gksu/gksudo, et que vous créez un fichier ou un dossier n'importe où avec lui (y compris dans votre répertoire personnel), ce fichier ou ce dossier appartiendra à root. Mais si vous exécutez Nautilus (ou la plupart des autres applications graphiques) en tant que root avec Sudo, ils peuvent enregistrer leurs fichiers de configuration dans votre répertoire personnel (plutôt que le répertoire personnel de root). Ces fichiers de configuration peuvent appartenir à root et être inaccessibles lorsque vous ne vous exécutez pas en tant que root, ce qui peut perturber gravement vos paramètres et même empêcher certaines applications de fonctionner.

La solution, une fois que vous avez commis cette erreur, consiste à rechercher les fichiers de configuration et à les supprimer ou chown les rattacher à votre utilisateur non -root. Beaucoup de ces fichiers commencent par un . ou sont contenus dans un répertoire qui commence par un .. Certains se trouvent dans le dossier .config de votre répertoire personnel. Pour voir les fichiers et les dossiers commençant par un . dans Nautilus, appuyez sur Ctrl+H (this montre les fichiers cachés.) Pour les afficher avec ls , utilisez l'indicateur -a (ou -A).

Pour savoir s’il existe des fichiers ne vous appartenant pas dans votre répertoire personnel, vous pouvez utiliser la commande suivante dans un terminal:

find $HOME -not -user $USER -exec ls -lad {} \;

qui listera tous les fichiers du répertoire de base n'appartenant pas à l'utilisateur.

112
user2405

Saviez-vous qu’un additif Nautilus appelé nautilus-gksu Install nautilus-gksu qui ajoute une "ouverture en tant qu’administrateur" au menu contextuel de Nautilus?

Remarque: non disponible dans Ubuntu 12.04 et les versions ultérieures.

9
robin0800

Si vous démarrez une application graphique avec Sudo, vous risquez de gâcher la propriété de vos fichiers, ce qui risquerait de casser vos applications. Ne fais jamais cela. Vérifiez le Aide de la communauté :

Vous ne devriez jamais utiliser Sudo normal pour lancer des applications graphiques en tant que racine . Vous devriez 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 que les fichiers de votre répertoire personnel ne deviennent la propriété de Root. (AFAICT, c’est tout ce qui fait la particularité de l’environnement du processus démarré avec gksudo vs Sudo).

5
desgua

Sudo par défaut conserve votre variable $ HOME. Par exemple, si vous exécutez Sudo firefox, vous utiliserez les privilèges root, mais votre configuration. Si vous modifiez les paramètres dans cette situation, vous obtiendrez des parties de votre configuration appartenant à root et non à votre ID utilisateur.

3
Mark Russell

Sudo -H GUI-application-program

Dans Ubuntu (17.10) 17.10.1 et probablement dans les futures versions d’Ubuntu, gksuet gksudosont obsolètes. Ils travaillent à Xorg mais pas à Wayland. Mais vous pouvez utiliser Sudo -H pour exécuter des programmes d'application à interface graphique sans endommager vos fichiers de configuration. Ne pas utilisez un mot clé Sudoname__.

Si vous utilisez Wayland (le nouveau système graphique qui remplace Xorg), vous avez également besoin d'une commande avec xhostname__.

xhost +si:localuser:root       # if Wayland
Sudo -H nautilus --no-desktop

Voir le lien suivant pour plus de détails,

Pourquoi gksu/gksudo ou le lancement d’une application graphique avec Sudo ne fonctionnent-ils pas avec Wayland?

2
sudodus