xeyesを機能させるにはどうすればよいですか? - ローカルシステムのXQuartzにエラーが表示されます。

xeyesを機能させるにはどうすればよいですか? - ローカルシステムのXQuartzにエラーが表示されます。

次のWebサイトで提供されているダウンロードを使用して、Mac(Big Sur、v.11.5.2)にXQuartzをインストールしました。https://www.xquartz.org/(XQuartz-2.8.1.dmg)なのに、まだ使ってみませんでした。過去数週間でこの問題を解決することはできませんでした。

xeyesを使用してインストールをテストしましたが、次の応答を受けました。

(base) magnoliafork ~ % xeyes                            
Error: Can't open display: :0.0
(base) magnoliafork ~ % echo "$DISPLAY"
:0.0

私がこの問題を解決しようとした方法の1つは、私のファイルをDISPLAY内部的.zshrcに設定し、数だけです:0。また、私のIPアドレスを前に入力してみました。これらの解決策のどれも機能しません。localhost=00:0.0

##### DISPLAY, for plotting
PATH="/opt/:$PATH"
export DISPLAY
DISPLAY=":0.0"

他のスレッドの誰かがファイルのデフォルトオプションの変更を提案したsshd_configので、X11オプションを次のように更新しました。

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
X11UseForwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
#PermitTTY yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

それでも動作しません。以前の解決策は、XQuartzがローカルで動作するがSSHを介して動作しない状況を修正することでしたようです。ローカルで動作させることもできませんが、この時点では次に何を試すべきかわかりません。どんなアイデアでもとても役に立ちます!

これが役に立つかどうかはわかりませんが、コンソールから次のものをコピーしました。

X11.app: do_start_x11_server(): argc=7
     argv[0] = /opt/X11/bin/Xquartz
     argv[1] = :0
     argv[2] = -nolisten
     argv[3] = tcp
     argv[4] = -iglx
     argv[5] = -auth
     argv[6] = /Users/magnoliafork/.serverauth.2211

コメントに関する追加情報:

  • Apple端末でxeyesを実行すると、XQuartzアイコンはポップアップしません。
  • そのコマンドを使用してApple端末でXQuartzを直接実行しようとすると、xquartzXQuartzアイコンが表示され、Appleから「リスニングソケットを設定できません。Xサーバーがまだ実行されていないことを確認してください」という問題レポートが表示されます。
  • XQuartzターミナル「xterm」でxeyesを実行できますが、Appleターミナルはより強力なので本当に好みです。

答え1

注:Finder(および関連アプリケーション)と端末で実行されているバイナリを明確に区別するには、次のものを使用します。勇敢なそしてcode formattingそれぞれ。


2つの問題があるようです。

  • ターミナルからXQuartzのインストールを開始します。
  • DISPLAY環境変数を正しく設定してください。

最初の問題は、あなたがインストールしたということですXクォーツ.dmgviaの代わりにaを使ってインストールbrewしてください。発見者。これは、Finderを介してまたは次のコマンドラインで実行する必要があることを意味します。

$ /Applications/Utilities/XQuartz.app/Contents/MacOS/X11 &

ノート:私のXQuartzバージョンは返品経由でインストールされました。おそらく、これによりXQuartzを起動するために使用できるコマンドが.dmgないようです。xquartz端末X11- したがって、内部でバイナリを使用します。Xクォーツアプリケーションパッケージ。


xeyesこれで、次のインスタンスで実行しようとしているようです。端末xterm内部で実行するのではなく、アプリケーションXクォーツ、解決は簡単です。

あなたはDISPLAYあなたのXクォーツそしてそれをDISPLAYあなたに割り当てます端末アプリケーション。

初発売Xクォーツ次のいずれかで発見者、または上記で指定したコマンドラインを使用してください。

xtermからXクォーツタイプ

echo $DISPLAY

これはあなたに次のことを与えるでしょう

bash-3.2$ echo $DISPLAY
/private/tmp/com.apple.launchd.8cSMuyvAKe/org.macosforge.xquartz:0
bash-3.2$ 

端末、入力(次に置き換えます)あなたの全体DISPLAY価値)

$ export DISPLAY=/private/tmp/com.apple.launchd.8cSMuyvAKe/org.macosforge.xquartz:0

それから

$ xeyes

だからxeyesしなければならない現れるXクォーツ会議。


これは High Sierra 10.13.6 で動作する XQuartz 2.7.11 に適用されます。 Big Surに関連する問題が発生する可能性があります。

関連情報