Rootとしてnautilusを実行しようとしていますが、ターミナルから「Sudo nautilus」を実行すると、次のエラーが表示されます。
エラー:XDG_RUNTIME_DIRが環境に設定されていません。
(nautilus:9341):Gtk-警告**:ディスプレイを開けません:
Nautilusを非ルートとして実行しようとしても、問題は発生しません。私はubuntu 14.04を使用しています。誰も私がこれを修正する方法を知っていますか?
別のユーザーとしてソフトウェアを実行すると、実際には、いくつかの「過剰な」変数(特に、ライブラリの挿入または特定の特権の設定を担当する変数)を引き継がない新しい最小かつ隔離された環境を開始します。 Sudo nautilus
呼び出しを次のように置き換えます-現在のセッションからユーザー固有のxサーバー設定を引き継ぎます:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus
これは1回限りの低レベルのソリューションですが、構成が正しくないマシンでも機能します。永続的に「Sudo
を修正」したい場合は、環境設定の問題を見つけて、他の回答で説明されているように修正する必要があります。
Ubuntu 14.04でも同じ問題が発生しました。を押してターミナルを開き、
Ctrl + Alt+ T
次にSudo visudo
行を変更する
デフォルトenv_keep = "https_proxy"
に
デフォルトenv_keep + = "https_proxy"
それは魅力のように働いた。
簡単にするために-システムの新しい起動について詳しく説明しました。
ここですべての説明をした後、私は結果に来ました-そして、ターミナルの「env」はすでにこれらのセッションに適していると言いました:
環境変数を使用する次の2行:
私が選択したtmpの動作について:
mkdir -pv〜/ .cache/xdgr
環境変数を設定するには:
export XDG_RUNTIME_DIR = $ PATH:〜/ .cache/xdgr
ターミナルを閉じ、envをリコールするために新たに開いた後、次のように伝えます。
XDG_RUNTIME_DIR =/run/user/1001
注:ubuntuの下のユーザーには問題ありません。rootにはさらに必要です(期間ごとの最新情報-0700のアクセス許可)
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