Fedora 25のローカル端末(SSHではない)で「localhost:0を使用できません」と「xhost: 'localhost:0'を開くことができません」

Fedora 25のローカル端末(SSHではない)で「localhost:0を使用できません」と「xhost: 'localhost:0'を開くことができません」

この種の質問は一般的ですが、リモートシステムとchrootを扱う答えだけが見つかりました。 SSH経由でリモートサーバーに接続するのではなく、Fedora 25のマイターミナルでこのエラーが発生します。

emacsFedora 25のターミナルエミュレータで実行しようとすると問題が発生します。次のメッセージを受け取りました。

Display localhost:0.0 unavailable, simulating -nw


$ echo $DISPLAY

返品

localhost:0.0


$ xhost +localhost

そして

$ xhost +

みんな戻ってくる

xhost:  unable to open display "localhost:0.0"


$ xinit

返品

Fatal server error:
(EE) Server is already active for display 0
    If this server is no longer running, remove /tmp/.X0-lock
    and start again.
(EE) 
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 7 requests (7 known processed) with 0 events remaining.


ps aux | grep `cat /tmp/.X0-lock`

返品

ryan      1764  3.6  3.2 2150384 260912 tty2   Sl+  18:04   2:15 /usr/bin/gnome-shell
ryan     11671  0.0  0.0 119372   960 pts/0    S+   19:05   0:00 grep --color=auto 1764

更新: - chrootまたはSSHを介してリモートシステムに接続しません。 - 私はウェイフェアを使用しません。 - Fedora 25でターミナルとターミネーターを使用しています。 - の出力はecho $XAUTHORITY and xauth list "$@" | awk '{print $1, "", $2}'次のとおりです。/home/ryan/.Xauthority and

この問題を解決して理解するのに役立ちますか?

答え1

:0.0DISPLAYの値と違いがありますlocalhost:0.0

:0.0(または単に)は、:0「ローカルXディスプレイ#0に接続する最も効率的な方法を使用します」を意味します。これは、初期接続にUNIXソケットを使用し、(オプションで)パフォーマンスを向上させるために共有メモリベースの接続をネゴシエートすることを意味します。

このlocalhost:0.0値は「ローカルXディスプレイ#0に接続」を意味します。TCPソケットの使用ポート 6000" (ポート番号 = ディスプレイ番号 + 6000). 今世紀にリリースされたほとんどの Linux ディストリビューションのデフォルトの X サーバー構成は TCP 接続を無効にするため、まず X サーバーへの TCP アクセスを特に有効にしないと不可能です。する可能性が高すぎます。

セキュリティネットワークにいて、自分が何をしているのかわからない限り、XサーバーへのTCPアクセスを有効にしないでください。。適切に構成された最新のシステムではこれを行う理由はありません。

X11セッションを開始する一般的な方法は、通常、DISPLAY環境変数を自動的に設定します。引き続き通常のタスク(または同様のタスク)に設定する必要があると思う場合は、.bashrcおそらく最適ではない方法でタスクを実行している可能性があります。

答え2

私にとってこれはうまくいく

export DISPLAY=':0'

たとえば、ターミナルを使用してgedit、evince、またはグラフィックを開くことはできませんが、上記の解決策で十分です。

関連情報