J'essaie de lancer Nautilus en tant que racine, mais lorsque je lance "Sudo Nautilus" depuis le terminal, le message d'erreur suivant s'affiche:
erreur: XDG_RUNTIME_DIR non défini dans l'environnement.
(Nautilus: 9341): Gtk-WARNING **: impossible d'ouvrir l'écran:
Le problème ne se produit pas lorsque j'essaie d'exécuter Nautilus en tant qu'utilisateur non root. J'utilise Ubuntu 14.04. Est-ce que quelqu'un sait comment je peux résoudre ce problème?
Lorsque vous exécutez un logiciel en tant qu’autre utilisateur, vous démarrez en fait le nouvel environnement minimal et isolé qui ne contient pas de variables "excessives" (parmi d’autres variables responsables de l’injection de bibliothèques ou de la définition de certains privilèges). Remplacez votre appel Sudo nautilus
par le suivant: il conservera les paramètres de serveur x spécifiques à l'utilisateur à partir de la session en cours:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus
Il s'agit d'une solution unique de bas niveau mais elle fonctionnera sur une machine mal configurée. Si vous souhaitez "réparer définitivement votre Sudo
name__", vous devez rechercher le problème dans la configuration de votre environnement et le corriger comme indiqué dans d'autres réponses.
J'ai également eu le même problème sur Ubuntu 14.04. Ouvrir le terminal en appuyant sur,
Ctrl + Alt+ T
alors Sudo visudo
changer la ligne
Valeurs par défaut env_keep = "https_proxy"
à
Valeurs par défaut env_keep + = "https_proxy"
Cela a fonctionné comme un charme.
Pour simplifier les choses, expliquait plus en détail le nouveau démarrage de mon système.
Après toutes les explications, je suis arrivé au résultat - et "env" dans le terminal a déjà dit que c’est bien pour ces sessions:
Ces deux lignes pour utiliser la variable d'environnement:
pour le comportement tmp j'ai choisi:
mkdir -pv ~/.cache/xdgr
Pour définir la variable d'environnement:
export XDG_RUNTIME_DIR = $ CHEMIN: ~/.cache/xdgr
Après la fermeture du terminal et une nouvelle ouverture pour le rappel de env, ils racontent:
XDG_RUNTIME_DIR =/run/user/1001
note: c'est correct pour l'utilisateur sous ubuntu, la racine a besoin de plus (dernière information par terme - avec les autorisations 0700)
Si vous obtenez cette erreur dans Docker; c'est ce que je fais
# Sudo xhost +
access control disabled, clients can connect from any Host
# export DISPLAY=:0.0
# docker run -it --env DISPLAY=unix$DISPLAY --privileged --volume /tmp/.X11-unix:/tmp/.X11-unix .. rest of your Docker arugments