オンラインのときに次のエラーが発生し、ツールが起動しません。
[root@dhcppc9 lin64]# ./ise
No protocol specified
_pn: cannot connect to X server :0.0
しかし、私がスーパーユーザーでなくても、すべてが大丈夫です。どうして?
編集
[root@dhcppc9 lin64]# export $(dbus-launch)
No protocol specified
なにか提案を?
また
[root@dhcppc9 lin64]# xhost [+]
No protocol specified
xhost: unable to open display ":0.0"
XプログラムがXディスプレイに接続するには、2つの情報が必要です。
ディスプレイのアドレスが必要です。これは通常、ローカルにログインしている場合は:0
、リモートでログインしている場合は:10
、:11
などです(ただし、アクティブなX接続の数に応じて数は変化します)。ディスプレイのアドレスは通常、DISPLAY
環境変数で示されます。
ディスプレイのパスワードが必要です。 Xディスプレイのパスワードはmagic cookiesと呼ばれます。マジックCookieは直接指定されていません。これらは常にX権限ファイルに格納されます。これは、「display :42
has cookie 123456
」という形式のレコードのコレクションです。 X権限ファイルは通常、XAUTHORITY
環境変数で示されます。 $XAUTHORITY
が設定されていない場合、プログラムは~/.Xauthority
を使用します。
詳細は リモートXディスプレイでウィンドウを開く(「ディスプレイを開けない」理由)? を参照してください。
あなたの場合、DISPLAY
が設定されていますが、プログラムは明らかにcookieファイルを見つけることができません。セッションのXAUTHORITY
の下のsu
の値を確認します。
セッションでXAUTHORITY
が設定されておらず、su
がHOME
環境変数をルートのホームディレクトリに設定している場合、XAUTHORITY
を/home/msz/.Xauthority
に設定する必要があります。ここで/home/msz
ホームディレクトリです。
su
が環境からXAUTHORITY
を削除した場合は、それを戻すか、su
がこれを行わないように構成します。
ホームディレクトリがNFSのようないくつかのファイルシステム上にある場合、ルートはそれを直接読み取ることができない場合があります。その場合は、.Xauthority
ファイルを非NFSファイルシステムの別の場所にコピーできます。
XAUTHORITY_COPY=$(umask 077; mktemp)
cat "${XAUTHORITY:-~/.Xauthority}" "$XAUTHORITY_COPY"
XAUTHORITY="$XAUTHORITY_COPY" su
rm "$XAUTHORITY_COPY"
unset XAUTHORITY_COPY
ルートとしてxhostを実行しています!
通常のユーザーとしてxhostを実行しますxhost +
、次にrootになり、再試行してください。
ところで他の人が指摘したようにxhost +
は、任意のホストからの任意のユーザーを許可します
xhost local:root
Sudo QT_X11_NO_MITSHM=1 /usr/bin/unetbootin
私のXAUTHORITYは、存在しないファイルとして設定されました。
$ echo $XAUTHORITY
/tmp/xauth-1000-_0
だから私はやった
unset XAUTHORITY
そして、kdesudoを使用してrootとして私のアプリに接続することができました(この場合はkdesudo bleachbit
)
通常のユーザーとして実行
xhost + localhost
次にスーパーユーザーを有効にします
Sudo su
最後にサーバーの例に行きます
cd /usr/local/Ampps
最後に./Amppsを実行します
2020年に感謝します