"ошибка: XDG_RUNTIME_DIR не установлен в среде." при попытке запустить наутилус как root
Я пытаюсь запустить nautilus от имени пользователя root, но когда я запускаю "sudo nautilus" из терминала, я получаю следующую ошибку:
ошибка: XDG_RUNTIME_DIR не установлен в среде.
(nautilus: 9341): Gtk-WARNING **: не может открыть дисплей:
Проблема не возникает, когда я пытаюсь запустить nautilus без полномочий root. Я использую Ubuntu 14.04. Кто-нибудь знает, как я могу это исправить?
4 ответа
Когда вы запускаете программное обеспечение как другой пользователь, вы фактически запускаете новую минимальную и изолированную среду, которая не содержит некоторых "чрезмерных" переменных (среди прочих переменных, отвечающих за внедрение библиотек или установку определенных привилегий). Замените свой sudo nautilus
Вызовите со следующим - он будет выполнять пользовательские настройки сервера x из текущего сеанса:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus
Это одноразовое решение низкого уровня, но оно будет работать на неправильно настроенной машине. Если вы хотите навсегда "исправить ваши sudo
"вам нужно найти проблему с конфигурацией вашей среды и исправить ее, как описано в других ответах.
Если вы получаете эту ошибку в Docker; вот что я делаю
# 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
Чтобы было проще - подробнее объясняется новая загрузка моей системы.
После всех объяснений здесь я пришел к результату - и "env" в терминале уже сказал, что подходит для этой сессии:
Эти две строки используют переменную среды:
для поведения tmp я выбрал:
mkdir -pv ~ /.cache / xdgr
Для установки переменной среды:
export XDG_RUNTIME_DIR = $ PATH: ~ /.cache / xdgr
После закрытия терминала и нового открытия для отзыва env они говорят:
XDG_RUNTIME_DIR = / работа / пользователь /1001
примечание: это нормально для пользователя под Ubuntu, пользователю root нужно больше (последняя информация по сроку - с разрешениями 0700)
У меня тоже была такая же проблема на Ubuntu 14.04. Откройте терминал, нажав,
Ctrl + Alt+ T
затем sudo visudo
изменить линию
По умолчанию env_keep="https_proxy"
в
По умолчанию env_keep += "https_proxy"
Это работает как шарм.