X-Serverの完全なアドレスを取得する方法

X-Serverの完全なアドレスを取得する方法

@terdon の回答に関して編集しました。

私のUbuntuコンピュータの場合:

経由でサーバーに接続するとssh -X my_server、プログラムを起動できます。

その後、sudo -iルートになるのですが、同じプログラムを起動できません。
エラー:

認証が間違っているため、X11 接続が拒否されました。qt.qpa.xcb: ディスプレイ localhost:18.0 に接続できませんでした。qt.qpa.plugin: Qt プラットフォーム プラグイン "xcb" は見つかりましたが、"" にロードできませんでした。Qt プラットフォーム プラグインを初期化できなかったため、このアプリケーションは起動できませんでした。アプリケーションを再インストールすると、この問題は解決される可能性があります。

利用可能なプラットフォーム プラグインは、eglfs、linuxfb、minimal、minimalegl、offscreen、vnc、xcb です。

中止されました(コアダンプされました)


私はウィンドウズVMモバエクスタームX サーバーが使用するアドレスが表示されます。

ここに画像の説明を入力してください

上記と同じことをすると、同じ問題が発生します。ただし、入力は可能でexport DISPLAY=172.30.4.66:0.0、動作します。

echo $DISPLAY入力したアドレスが表示されます。


Ubuntu コンピューターでこれらのアドレスを取得するにはどうすればいいですか?

と入力すると、 がecho $DISPLAY表示されますが、動作しません。:0export DISPLAY=<my ip>:0

「x11-xserver-utils」がインストールされていません(xhostなし)。

答え1

まず、 は必要ありませんsudo su。1 つのプログラムで済むのに、なぜ 2 つのプログラムを使用するのでしょうか。 を実行するだけですsudo -i。次に、なぜこれが必要なのでしょうか。プログラムを root として実行する場合は、 を実行するだけですsudo programName。次に、これは IP を取得することではありません (ちなみに、IP を難読化しても意味がありません。172.30.4.66 はホーム ネットワーク上の内部アドレスであり、パブリック IP ではありません)。これはアクセスを許可するためのものです。

本当に root が X セッションでグラフィカル プログラムを起動できるようにしたい場合は、 を実行してxhost +すべてのユーザーにアクセスを許可する必要があります。 を実行してxhost +から起動してみてください。 それでもうまくいかない場合は、出力を質問に含めて更新してください。

関連情報