![xeyes를 작동시키려면 어떻게 해야 합니까? - 로컬 시스템의 XQuartz에 오류가 표시됩니다.](https://linux55.com/image/195161/xeyes%EB%A5%BC%20%EC%9E%91%EB%8F%99%EC%8B%9C%ED%82%A4%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20-%20%EB%A1%9C%EC%BB%AC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%9D%98%20XQuartz%EC%97%90%20%EC%98%A4%EB%A5%98%EA%B0%80%20%ED%91%9C%EC%8B%9C%EB%90%A9%EB%8B%88%EB%8B%A4..png)
다음 웹사이트에서 제공되는 다운로드를 사용하여 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
내가 이 문제를 해결하려고 시도한 방법 중 하나는 내 파일을 DISPLAY
내부적 .zshrc
으로 로 설정하고 숫자 만 :0
. 또한 내 IP 주소를 앞에 입력해 보았습니다 . 이러한 솔루션 중 어느 것도 작동하지 않습니다.localhost=0
0
: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를 직접 실행하려고 하면
xquartz
XQuartz 아이콘이 나타난 다음 Apple로부터 "리스닝 소켓을 설정할 수 없습니다. X 서버가 아직 실행되고 있지 않은지 확인하세요"라는 문제 보고서를 받습니다. - XQuartz 터미널 "xterm"에서 xeyes를 실행할 수 있지만 Apple 터미널이 더 강력하기 때문에 정말 선호합니다.
답변1
참고: Finder(및 관련 응용 프로그램)와 터미널에서 실행되는 바이너리를 명확하게 구별하기 위해 다음을 사용합니다.용감한그리고 code formatting
각각.
두 가지 문제가 있는 것 같습니다.
- 터미널에서 XQuartz 설치를 시작하세요.
DISPLAY
환경 변수를 올바르게 설정하십시오.
첫 번째 문제는 당신이 설치했다는 것입니다X 석영.dmg
via 대신 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와 관련된 문제가 발생할 수 있습니다.