web-dev-qa-db-ja.com

gksu:Gtk-WARNING **:ディスプレイを開けません::0

突然のgksuのすべてが私のために動作しなくなりました:

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0

gparted-pkexecでも同じことが起こります:

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0

何がこれを引き起こしているのでしょうか?

私はこれをSSHまたはVNCで実行していません。これはnormal端末ウィンドウのlocalhostです

38
d_inevitable

Ubuntu 17.10以降を実行している場合、この問題はWaylandを完全にサポートするようにアプリケーションが更新されていないときに発生する可能性があります。アプリケーションが更新されるまでの回避策として、次を実行できます。

xhost +SI:localuser:root

rootユーザーがデスクトップにアプリケーションを表示できるようにします。他の考えられる回避策については、このQ&Aも参照してください: なぜgksu/gksudoを使用しないか、Sudoでグラフィカルアプリケーションを起動しないでWaylandを使用しますか?

ソース

62
Cutton Eye

ターミナルでxhost +localhostを実行してから、コマンドを再度実行してください。これにより、システム(つまり、root)上のすべてのユーザーが画面上のウィンドウを開くことができます。単純に+ではなく、+ localhostを使用してください。どこからでもよりもlocalhostのみからの接続を許可する方が安全です。

これを永続的にするには、次のように~/.xinitrcファイルを編集します。

gedit ~/.xinitrcを実行します

ファイルを次のように編集します(最初は空である必要があります)。

#! /bin/bash
xhost +localhost &

ここでファイルを保存し、ログアウトしてログインします。これで、すべてがSudoで問題なく実行されるはずです。

14.04に問題を再現することはできませんが、これは過去にSudo/gksuがこのエラーをスローしたときに機能していました。

ソース:

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-Sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession
11
Mark Paskal

ターミナルで次を実行します。

nano /home/user/.bashrc # user = name of your user

最後に次の行を追加します。

export XAUTHORITY=$HOME/.Xauthority