J'essaie d'exécuter nautilus en tant que root, mais lorsque j'exécute "sudo nautilus" à partir du terminal, j'obtiens l'erreur suivante:
erreur: XDG_RUNTIME_DIR non défini dans l'environnement.
(nautilus: 9341): Gtk-WARNING **: impossible d'ouvrir l'affichage:
Le problème ne se produit pas lorsque j'essaie d'exécuter nautilus en tant que non root. J'utilise ubuntu 14.04. Est-ce que quelqu'un sait comment je peux résoudre ce problème?
-X
option lors du démarrage de ma session ssh.Réponses:
Lorsque vous exécutez un logiciel en tant qu'autre utilisateur, vous démarrez en fait le nouvel environnement minimal et isolé qui ne comporte pas de variables "excessives" (entre autres les variables chargées d'injecter des bibliothèques ou de définir certains privilèges). Remplacez votre
sudo nautilus
appel par ce qui suit - il conservera les paramètres de serveur x spécifiques à l'utilisateur de la session en cours:Il s'agit d'une solution unique de bas niveau, mais elle fonctionnera sur une machine mal configurée. Si vous voulez «réparer définitivement» votre problème,
sudo
vous devez trouver le problème avec la configuration de votre environnement et le corriger comme décrit dans d'autres réponses.la source
sudo nautilus
devrait fonctionner normalement à partir du terminal lors de l'exécution. Normalement, chaque fois que je fais cela à partir du terminal sur une nouvelle installation, il s'ouvre normalement avec sudo.pkexec
etsudo
pages homme ainsi que google pour le différend connexe.Cannot open display
signifie que quelque chose manque dans son fichier de configuration parce que quelque chose l'a modifié et supprimé de l'environnement alors qu'il ne devrait pas. Alors, comment peut-il être réintroduit dans l'environnement de manière permanente alors je n'ai pas à gérer cela?env
avant de s'exécuternautilus
et le premier prend soin de définir les variables pour moi. Vous pouvez vérifierman env
.env COMMAND ARG ...
J'ai également eu le même problème sur Ubuntu 14.04. Ouvrez le terminal en appuyant sur,
Ctrl+ Alt+T
ensuite
sudo visudo
changer la ligne
Par défaut env_keep = "https_proxy"
à
Par défaut env_keep + = "https_proxy"
Cela a fonctionné comme par enchantement.
la source
$XAUTHORITY
défie le but.Pour le rendre facile - plus expliqué le nouveau démarrage de mon système.
Après toutes les explications ici, je suis arrivé au résultat - et "env" dans le terminal a déjà dit que c'était bon pour ces sessions:
Ces deux lignes pour utiliser la variable d'environnement:
pour le comportement tmp que j'ai choisi:
mkdir -pv ~ / .cache / xdgr
Pour définir la variable d'environnement:
export XDG_RUNTIME_DIR = $ PATH: ~ / .cache / xdgr
Après la fermeture du terminal et une nouvelle ouverture pour le rappel d'env ils racontent:
XDG_RUNTIME_DIR = / run / user / 1001
note: c'est ok pour l'utilisateur sous ubuntu, root a besoin de plus (dernière info par terme - avec 0700 permissions)
la source
Si vous obtenez cette erreur dans Docker; c'est ce que je fais
la source