Xtエラー:xhostとXauthorityを設定しましたが、ディスプレイを開くことができません。

Xtエラー:xhostとXauthorityを設定しましたが、ディスプレイを開くことができません。

ローカルネットワーク内の他のモニタにXサポートプログラムを表示しようとしています。

私はディスプレイを使用してIP 192.168.4.79を持つホストでXサーバーを実行しています:0。クライアントとして機能する他のホスト(192.168.4.23)があります。つまり、プログラムを実行し、その結果を192.168.4.79:0のサーバーに表示する必要があります。

サーバーを実行しているホストで xhost を使用して、アクセス制御リストにクライアント IP を追加します。

$ xhost +192.168.4.23

その後、サーバーホストから ~/.Xauthority の関連コンテンツを抽出し、クライアントホストから ~/.Xauthority にマージしました。

$ xauth extract - $DISPLAY > xauth_extract

次に、ftpを使用してクライアントホストにコピーします。そしてクライアント側では、次のことを行います。

$ xauth merge xauth_extract

またはSSH対応クライアント(下の注を参照):

$ xauth extract - $DISPLAY | ssh [email protected] xauth merge -

ただし、(クライアントで)実行すると:

$ xterm -display 192.168.4.79:0

エラーが表示されますxterm: Xt error: Can't open display: 192.168.4.79:0

ホストはうまく通信できますping -c1 192.168.4.79。ファイアウォールの問題でもないと思います。まず、ローカルネットワーク内のすべての着信接続を許可するために、サーバーを実行しているホストにファイアウォールを設定しました。

ipset create sjlan hash:net
ipset add sjlan 192.168.4.0/22
iptables -I INPUT -m set --match-set sjlan src -j ACCEPT

また、サーバーホスト()でファイアウォールを一時的に無効にすると、systemctl stop firewall同じエラーが発生します。

ここで私は何を逃していますか?この問題をどのように解決できますか?


私はこれを達成するために意図的にsshを使用しないので、X11Forwardingを使用してこれを行う方法に答えないでください。私はすでにこれを行う方法を知っており、(マイナーな努力で)設定できない、または設定できない30年のhp-uxインスタンス(X11R5を使用)を実行しているホストで動作する必要があるため、意図的に使用しません。 SSHを使用してください。

さらに、X11R7を実行する2つの最新のLinuxシステムで最初にテストしたため、当面の問題は、新しいシステムのX11実装と古いシステムのX11実装との間の非互換性ではありません。

また、これまでに効果があった唯一の方法は、HP-UXシステムでサーバーを実行し、サーバーとして機能するホストをクライアントとして機能させることでした。 192.168.4.79でxtermを実行し、そのディスプレイを表示してHP-UXシステムと対話できます。そのため、新しいコンピュータの一部の設定がアクセスをブロックしているようです。私は古いコンピュータがセキュリティの面ではるかに低い基準を持つことを期待しています。

ベストアンサー1

ほとんどの最新システムのXサーバーは、デフォルトで受信IPアドレスを無効にし(本質的に安全ではないため)、ローカルドメインソケットのみを使用します。

詳細はディストリビューションによって異なりますが、man Xserverパラメータを参照してください。ディストリビューションでXサーバーを起動するもの(ディスプレイマネージャ、systemdなど)を見つける必要があります。あるいは、ディストリビューションで許可している場合は、これらのオプションを使用するために2番目のサーバーを起動できます。-listen-nolisten

おすすめ記事