web-dev-qa-db-ja.com

xサーバーに接続できないというエラー

Sudoで実行しようとしているカメラアプリケーションがありますが、このエラーが表示されます

cannot connect to x server

問題は、Sudoを使用しない場合、プログラムが正常に開くことです。ただし、このアプリケーションには管理者権限を必要とする特定の部分があります。

GUIアプリケーションなので、gksudoを使用してパスワードを尋ねるウィンドウを開きましたが、パスワードを入力するとアプリケーションが戻り、GUIが開きません!

私も試しました

Sudo xhost local:root

そして得た:

xhost: unable to open display""   

Lubuntu 14.04を使用しています

1
Samer

この答えはうさぎを殺すための大砲ですが、XアプリケーションにSudoingすることに興味があるなら、それが必要です。

解決策:

~/.bashrcに追加します

# Fabby: 2014-11-14: http://askubuntu.com/questions/571116/
# to allow forwarding of xauth keys between users when calling su
# needs to be the last line
export $(dbus-launch)

説明:

  • Xサーバーが何であるか知っていますか? OK!
  • クライアント/サーバーテクノロジーがあることをご存知ですか? OK!
  • D-Busとは何ですか? OK!
  • さて、dbus-launch変数がエクスポートされ、1つのユーザーセッションからのxメッセージが他のユーザーのセッションを使用できるようになりました!簡潔でシンプル!
2
Fabby

SecureCRTをsshツールとして使用していますが、Windows OSのローカルホストに一部のプロットを表示できません。 Canopyを使用するときも同じ問題があります。

ソリューション:

  1. Xmanager Passiveを実行して、Xmanagerをインストールします。
  2. 〜/ .bashrc、source〜/ .bashrcに「export DISPLAY = your ip:0.0」を追加します(ipはホストIPです。ここでプロットなどを表示します。Windowsを使用している場合は、cmd-ipconfigを見つけます。 IP)。
  3. テスト(つまり、$ xclock、ウィンドウ画面に時計を表示できます)または独自のGUIアプリケーションを直接テストします。

できた!

1
xiaoyan