Próbuję uruchomić nautilus jako root, ale kiedy uruchamiam „sudo nautilus” z terminala, pojawia się następujący błąd:
błąd: XDG_RUNTIME_DIR nie jest ustawiony w środowisku.
(nautilus: 9341): Gtk-WARNING **: nie można otworzyć wyświetlacza:
Problem nie występuje, gdy próbuję uruchomić nautilus jako użytkownik inny niż root. Używam Ubuntu 14.04. Czy ktoś wie, jak to naprawić?
-X
opcji podczas rozpoczynania sesji ssh.Odpowiedzi:
Kiedy uruchamiasz oprogramowanie jako inny użytkownik, w rzeczywistości uruchamiasz nowe minimalne i izolowane środowisko, które nie przenosi niektórych „nadmiernych” zmiennych (między innymi zmiennych odpowiedzialnych za wstrzykiwanie bibliotek lub ustawianie określonych uprawnień). Zamień swoje
sudo nautilus
połączenie na następujące - spowoduje to zachowanie specyficznych dla użytkownika ustawień serwera x z bieżącej sesji:Jest to jednorazowe rozwiązanie niskiego poziomu, ale będzie działać na źle skonfigurowanej maszynie. Jeśli chcesz trwale „naprawić
sudo
”, musisz znaleźć problem z konfiguracją środowiska i rozwiązać go zgodnie z opisem w innych odpowiedziach.źródło
sudo nautilus
powinno działać normalnie z terminala po uruchomieniu. Zwykle za każdym razem, gdy robię to z terminala przy nowej instalacji, otwiera się jak zwykle w sudo.pkexec
isudo
mężczyzna stron jak google dla powiązanego sporu.Cannot open display
oznacza, że czegoś brakuje w jego pliku konfiguracyjnym, ponieważ coś go zmodyfikowało i usunęło ze środowiska, kiedy nie powinno. Jak w takim razie można go przywrócić do środowiska na stałe, aby nie musiałem się z tym uporać?env
przed uruchomieniem,nautilus
a ten pierwszy dba o ustawienie zmiennych dla mnie. Można sprawdzićman env
.env COMMAND ARG ...
Miałem również ten sam problem na Ubuntu 14.04. Otwórz terminal, naciskając,
Ctrl+ Alt+T
następnie
sudo visudo
zmień linię
Domyślne env_keep = "https_proxy"
do
Domyślne env_keep + = "https_proxy"
Działa jak urok.
źródło
$XAUTHORITY
przeciwstawia się celowi.Aby to ułatwić - więcej informacji na temat nowego uruchamiania mojego systemu.
Po wszystkich wyjaśnieniach tutaj doszedłem do wyniku - a „env” w terminalu powiedział już, że jest to właściwe dla tych sesji:
Te dwa wiersze, aby użyć zmiennej środowiskowej:
dla zachowania tmp wybrałem:
mkdir -pv ~ / .cache / xdgr
Aby ustawić zmienną środowiskową:
eksport XDG_RUNTIME_DIR = ŚCIEŻKA $: ~ / .cache / xdgr
Po zamknięciu terminalu i ponownym otwarciu na przywołanie env mówi:
XDG_RUNTIME_DIR = / run / user / 1001
Uwaga: w systemie Ubuntu jest ok, użytkownik root potrzebuje więcej (ostatnie informacje według terminu - z uprawnieniami 0700)
źródło
Jeśli otrzymujesz ten błąd w Dockerze; tym się właśnie zajmuję
źródło