web-dev-qa-db-ja.com

sudoでアプリを実行しているときにXサーバーに接続できない

Sudoコマンドを使用してソフトウェアを実行しているとき、次のようなエラーが表示されます。

cannot connect to X server

たとえば、次のコマンドを実行した場合:

$ Sudo gedit /etc/profile

私は次のコマンドを取得しています

(gedit:6758): WARNING **: Command line `dbus-launch --autolaunch=84b871d735f31ffe014dc9ba00000009 --binary-syntax --close-stderr' 
exited with non-zero exit status 1: 
Autolaunch error: X11 initialization failed. 
Cannot open display:
Run 'gedit --help' to see a full list of available command line options.

または、super-boot-managerを実行している場合、次のエラーが発生します

buc: cannot connect to X server

助けてください。

27
Apurba

RootユーザーにXサーバーへのアクセスを許可する必要があります。

xhost local:root

コマンドを右に向けるDISPLAY

Sudo DISPLAY=$DISPLAY gedit /etc/profile
38
Thor

最後に問題は解決されました。次の行を追加しました。

デフォルトenv_keep = "DISPLAY XAUTHORITY"

visudoの最後。

それを行うには、実行する必要があります

須藤ビスド

ファイルを開き、最後に上記の行を追加します。

すべての人、特に@Thorに感謝します

15
Apurba

@Thorの回答の補足:

xhost local:rootの前にSudo geditを実行します。これを永続的にするには、次の行を追加します

xhost local:root

〜/ .xinitrcファイルへ 1。ファイルが存在しない場合は作成します。


[1] https://askubuntu.com/a/720120/452398

4
adabru