
私は2つのコンピュータでastra(slackware 15)とnebula(macos mojave)でXを実行しています。 Astraでローカルにxeyesを実行し、星雲に表示したいと思います。さまざまなドキュメントで私が理解したことは、次のことを実行できるはずです。
xeyes -display nebula:X.Y
Astraでは、Xは星雲の表示インデックス、Yは画面番号です。
私はXとYの組み合わせ、XやYの組み合わせなどを何度も試しましたが、役に立ちませんでした。エラーメッセージが表示され続けます。
エラー:ディスプレイを開けませんでした:nebula:XY
ローカルで次のコマンドを使用して、リモートコンピュータで実行されているXプログラムを表示できます。
ssh -Y host
問題はありません。しかし、私が解決しようとしているわけではありません。上記で説明し、Xorgサーバーでサポートされているようにローカルクライアントをローカルで実行し、ディスプレイをリモートで表示できるようにしたいです。
過去の仕組みと現在の仕組みには違いがあります。私が見つけた文書はより古いです。
答え1
Nebulaに表示するには、astraのMacOS Mojaveコンピュータ、Slackware 15コンピュータでいくつかの手順を実行する必要があります。
- XQuartz環境設定 - セキュリティ - >ネットワーククライアントからの接続を許可します。
- XQuartzの再起動
- NebulaからMIT-MAGIC-COOKIE-1をインポートする
- Astraのxauthリストに追加してください。
- Astraでクライアントを実行すると、Nebula画面に表示されます。
詳細は次のとおりです。
Xがどのように起動するかを確認するには、次の手順を実行しますps aux | grep X
。
user 96691 0.0 0.0 4279568 5012 ?? S 12:39PM 0:00.01 /opt/X11/bin/Xquartz :0 -nolisten tcp -iglx -auth /Users/user/.serverauth.96532
注目すべき重要な点は-nolisten tcp
とです-auth
。これは、それぞれXサーバーがTCPを受信しておらず、Xサーバーへの接続に認証が必要であることを示します。
ネットワーク接続を許可するようにXQuartzのデフォルト設定を変更して再起動すると、次の変更が発生します。
user 97993 0.0 0.0 4279568 5004 ?? S 2:08PM 0:00.01 /opt/X11/bin/Xquartz :0 -listen tcp -iglx -auth /Users/user/.serverauth.97835
XQuartzは次のようにTCPを受信しています。-listen tcp
Nebula、Nebula、またはリモートログインでマジック認証Cookieを取得するには、次の手順を実行してxauth list
正しいCookieを見つけます。
nebula:0 MIT-MAGIC-COOKIE-1 240800a1f435f70d92f8f8c706eeb547
Astraでは、次のコマンドを使用してxauthリストにCookieを追加します。
xauth add nebula:0 . 240800a1f435f70d92f8f8c706eeb547
すべてが順調に進んだら、Astraでxeyesを実行することができます。
xeyes -display nebula:0
注:
- 実行にはXQuartzが必要です:)
- クッキーは最新の状態でなければなりません。それは変わります。
- コマンドにドットが
xauth add
必要です。