Vous ne devriez jamais utiliser normal sudopour démarrer des applications graphiques en tant que root. Vous devriez utiliser gksudo( kdesudosur Kubuntu) pour exécuter de tels programmes.
gksudodéfinit HOME=/rootet copie .Xauthoritydans un tmprépertoire. 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 sera la propriété de root. Mais si vous exécutez Nautilus (ou la plupart des autres applications graphiques) comme rootavec sudo, ils peuvent enregistrer leurs fichiers de configuration dans votre répertoire personnel (plutôt que dans rootle répertoire personnel de). Ces fichiers de configuration peuvent appartenir à rootet être inaccessibles lorsque vous n’exécutez pas en tant que root, ce qui peut gâcher gravement vos paramètres et peut même empêcher certaines applications de fonctionner complètement.
La solution, une fois que vous avez commis cette erreur, consiste à rechercher les fichiers de configuration et à les supprimer ou à chownles ramener à votre non- rootutilisateur. Beaucoup de ces fichiers commencent par un .ou sont contenus dans un répertoire qui commence par un .. Certains sont situés dans le .configdossier de votre répertoire personnel. Pour voir les fichiers et les dossiers commençant par un .dans Nautilus, appuyez sur Ctrl+ H(les fichiers cachés s'affichent .) Pour les afficher 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.
J'ai déjà utilisé 'sudo nautilus'. Cela signifie que mon répertoire personnel appartient maintenant à root? (PS: mon anglais n'est pas parfait)
DrKenobi
22
Non, cela signifie que pendant que vous exécutiez Nautilus en tant que root, tous les fichiers créés dans votre répertoire personnel appartiendront à root. Cela peut inclure des vignettes et d’autres fichiers de support créés automatiquement par Nautilus.
Ryan Thompson
1
. Le segemnet cité que vous avez utilisé m'a laissé perplexe depuis que je l'ai lu pour la première fois; en particulier là où il est écrit: "Cela empêche les fichiers de votre répertoire personnel de devenir la propriété de root." .. J'ai testé cela aujourd'hui en créant des fichiers de test, le 10.04, 10.04 (VM), 10.10 (VM), et peu importe comment j'ai commencé sudo / gksudo (Terminal-> Nautilus, Terminal-> gedit, Alt + F2 .. .) ... tous les cas ont fait que ma nouvelle création appartient à "root", avec le groupe "root" .. Peut-être ai-je raté quelque chose, mais je pense qu'une partie du segment cité trompe les gens ...
Peter. O
Hmm, je viens de citer la page du wiki. Je ne comprends pas vraiment la différence entre les deux outils. Peut-être que quelqu'un sur unix.stakexchange.com peut vous aider?
2
@ Peter.O J'ai développé cette réponse pour répondre à cette question et expliquer exactement quels fichiers sont traités différemment avec sudo, via gksu/ gksudo. (@ChrisWilson N'hésitez pas à annuler ou à raccourcir cette modification si vous estimez que ce n'est pas tout à fait dans le cadre de votre réponse ... il me semble que oui, mais c'est tout à fait votre appel.)
Eliah Kagan
9
Saviez-vous qu'il existe un add-on de Nautilus appelé nautilus-gksu qui ajoute un "ouvrir en tant qu'administrateur" au menu contextuel de nautilus?
Remarque: non disponible dans Ubuntu 12.04 et les versions ultérieures.
nautilus-gksun’est plus disponible à partir d’Ubuntu 12.04 et ultérieur.
IQAndreas
Et votre lien indique uniquement qu'il est disponible jusqu'au 11.10 ...
Wilf
5
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. Consultez l' 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 spécificité de l’environnement du processus démarré avec gksudo vs sudo).
sudo par défaut préserve votre variable $ HOME. Par exemple, si vous exécutez, sudo firefoxvous utiliserez des 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.
Dans Ubuntu (17.10) 17.10.1 et probablement futures versions d'Ubuntu, gksuet gksudosont déconseillés. Ils travaillent à Xorg mais pas à Wayland. Mais vous pouvez utiliser sudo -Hpour exécuter des programmes d’application graphique sans endommager vos fichiers de configuration. Ne pas utiliser nature sudo.
Si vous utilisez Wayland (le nouveau système graphique qui remplace Xorg), vous avez également besoin d’une commande xhost.
xhost +si:localuser:root # if Wayland
sudo -H nautilus --no-desktop
Trouvé dans le fichier généré par la commande de terminal 'info gksudo':
Gksu est une interface pour Su et Gksudo est une interface pour Sudo. Leur objectif principal est d'exécuter des commandes graphiques nécessitant un accès root sans avoir à exécuter un émulateur de terminal X et à utiliser directement su.
J'ai constaté que, dans de nombreux cas, les fichiers «info» contiennent des descriptions utiles ainsi que des informations utiles sur les options. Je suggérerais fortement que l'apprentissage d'une commande commence par accéder au fichier 'info' de cette commande.
Pour le débutant, dans le terminal, tapez ou collez les informations de commande avec le nom de la commande qui vous intéresse en tant que paramètre. Le format est info [command_name](n'oubliez pas de ne pas inclure l'invite de commande ou les crochets). Les entrées de terminal suggérées pour le débutant sont:
Réponses:
Tiré d' ici :
Veuillez noter qu'il s'agit principalement de fichiers de configuration . Si vous exécutez Nautilus en tant que
root
, même avecgksu
/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 sera la propriété deroot
. Mais si vous exécutez Nautilus (ou la plupart des autres applications graphiques) commeroot
avecsudo
, ils peuvent enregistrer leurs fichiers de configuration dans votre répertoire personnel (plutôt que dansroot
le répertoire personnel de). Ces fichiers de configuration peuvent appartenir àroot
et être inaccessibles lorsque vous n’exécutez pas en tant que root, ce qui peut gâcher gravement vos paramètres et peut même empêcher certaines applications de fonctionner complètement.La solution, une fois que vous avez commis cette erreur, consiste à rechercher les fichiers de configuration et à les supprimer ou à
chown
les ramener à votre non-root
utilisateur. Beaucoup de ces fichiers commencent par un.
ou sont contenus dans un répertoire qui commence par un.
. Certains sont situés dans le.config
dossier de votre répertoire personnel. Pour voir les fichiers et les dossiers commençant par un.
dans Nautilus, appuyez sur Ctrl+ H(les fichiers cachés s'affichent .) Pour les afficherls
, 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:
qui listera tous les fichiers du répertoire de base n'appartenant pas à l'utilisateur.
la source
sudo
, viagksu
/gksudo
. (@ChrisWilson N'hésitez pas à annuler ou à raccourcir cette modification si vous estimez que ce n'est pas tout à fait dans le cadre de votre réponse ... il me semble que oui, mais c'est tout à fait votre appel.)Saviez-vous qu'il existe un add-on de Nautilus appelé nautilus-gksu qui ajoute un "ouvrir en tant qu'administrateur" au menu contextuel de nautilus?
Remarque: non disponible dans Ubuntu 12.04 et les versions ultérieures.
la source
nautilus-gksu
n’est plus disponible à partir d’Ubuntu 12.04 et ultérieur.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. Consultez l' aide de la communauté :
la source
sudo par défaut préserve votre variable $ HOME. Par exemple, si vous exécutez,
sudo firefox
vous utiliserez des 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.la source
sudo -H GUI-application-program
Dans Ubuntu (17.10) 17.10.1 et probablement futures versions d'Ubuntu,
gksu
etgksudo
sont déconseillés. Ils travaillent à Xorg mais pas à Wayland. Mais vous pouvez utilisersudo -H
pour exécuter des programmes d’application graphique sans endommager vos fichiers de configuration. Ne pas utiliser naturesudo
.Si vous utilisez Wayland (le nouveau système graphique qui remplace Xorg), vous avez également besoin d’une commande
xhost
.Voir le lien suivant pour plus de détails,
Pourquoi ne pas gksu / gksudo ou le lancement d’une application graphique avec sudo ne fonctionne pas avec Wayland?
la source
Trouvé dans le fichier généré par la commande de terminal 'info gksudo':
J'ai constaté que, dans de nombreux cas, les fichiers «info» contiennent des descriptions utiles ainsi que des informations utiles sur les options. Je suggérerais fortement que l'apprentissage d'une commande commence par accéder au fichier 'info' de cette commande.
Pour le débutant, dans le terminal, tapez ou collez les informations de commande avec le nom de la commande qui vous intéresse en tant que paramètre. Le format est
info [command_name]
(n'oubliez pas de ne pas inclure l'invite de commande ou les crochets). Les entrées de terminal suggérées pour le débutant sont:la source
Si vous choisissez gksudo nautilus, vous demandez graphiquement votre mot de passe. Avec sudo, vous le demandez dans un terminal
la source