Mac으로의 X11 전달이 작동하지 않습니다

Mac으로의 X11 전달이 작동하지 않습니다

저는 VMWare에서 Ubuntu 서버를 실행하고 있습니다. 그리고 Ubuntu 게스트의 X11을 Mac 호스트로 전달하고 싶습니다.

XQuartz 2.7.9 (xorg-server 1.17.4)Mac 호스트에 설치했습니다 .

그리고 Ubuntu에서 SSH 전달이 활성화되었습니다.

그런 다음 iTerm에서 다음을 시도했습니다.

%> echo $DISPLAY
/private/tmp/com.apple.launchd.mjxVyILVrR/org.macosforge.xquartz:0
%> ssh -X root@xxxx
# echo $DISPLAY

# gnome-terminal
Unable to init server: Could not connect: Connection refused
Failed to parse arguments: Cannot open display

$DISPLAY가 비어 있고 X11 전달이 작동하지 않습니다.

어떤 아이디어가 있나요?

답변1

뛰어 ssh -Y root@xxxx들어 보세요xterm 내부에iTerm 대신 XQuartz. 그게 효과가 있나요?

답변2

원격 시스템에서 /etc/ssh/sshd_config를 열고 X11Forwarding yes 를 설정합니다. 그런 다음 SSH 서비스를 다시 시작하고 다시 시도하십시오.

답변3

내가 틀렸다면 정정하십시오. Mac에서 원격으로 Ubuntu를 실행하는 컴퓨터에 액세스하려고 할 때 Ubuntu에 'ssh'하고 'echo $DISPLAY'를 시도하면 빈 응답이 나타납니다. 아마도 다음 해결 방법이 귀하의 경우에는 작동하지 않을 수도 있지만, 귀하가 시도한 것이 제가 시도한 것과 유사하다면 시도해 보십시오.

이미 찾았듯이 DISPLAY 변수를 먼저 찾아야 합니다.

따라서 Mac에서 일반 사용자로 입력하면

echo $DISPLAY

그러면 당신이 얻게 될 것은 다음과 같습니다(그것은 당신의 손에 있는 경우입니다). 어쨌든 여러분 모두는 여러분의 시스템에서 비슷한 것을 보게 될 것입니다.

/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

그런 다음 다음과 같이 시도해보십시오.

xeyes

이제 디스플레이가 작동하고 있음을 알 수 있습니다.

이제 루트와 동일한 작업을 시도하고 싶다면(나를 공격하지 마십시오. 여러분 중 일부는 루트 액세스에 강력하게 반대한다는 것을 알고 있습니다.) 작동하지 않으면 루트 프롬프트에서 다음을 수행하십시오.

export DISPLAY=/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

일반 사용자 계정에서 찾은 것과 동일합니다. 그런 다음 '/Users/normal user/.Xauthority'에 있는 '.Xauthority'를 '/var/root/'에 복사하십시오. .Xauthority 파일이 이미 있지만 이 파일을 사용하면 문제가 해결됩니다.

cp /Users/normal user/.Xauthority /var/root/

물론 내보내기가 작동할 수도 있지만 위의 작업을 수행해도 아무런 해가 없습니다. 이제 다음을 시도해 보세요.

echo $DISPLAY

그리고 다음을 봐야 합니다

/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

일반 사용자 프롬프트에서 Ubuntu로 'ssh'하는 경우 루트 부분을 수행할 필요가 없지만 루트를 사용하여 Ubuntu 시스템을 'ssh'하기 때문에 종종 이 작업을 수행해야 합니다.

그런 다음 Ubuntu 유형으로 SSH를 실행하면

echo $DISPLAY

그러면 다음과 같은 내용이 표시됩니다.

localhost:10.0

전달 등과 같은 다른 모든 작업을 수행한 경우 위의 작업이 작동합니다.

다시 말하지만, Ubuntu에서 루트를 사용하고 'echo $DISPLAY'가 아무런 응답도 생성하지 않으면 다음을 시도하십시오(루트 프롬프트에 있다고 가정).

cp /home/user name/.Xauthority /root/.Xauthority

이제 시도해 보세요

echo $DISPLAY

다시 클릭하면 다음과 같은 내용이 표시됩니다.

localhost:10.0

재미로 시도해 보세요

xeyes

그리고 내 경우에는 작동합니다. 이것이 도움이 되기를 바라며 누군가가 우연히 머리를 긁고 나처럼 머리카락을 뽑으려고 하는 동안 이 문제에 몇 시간을 소비한 위와 같은 문제 또는 나와 같은 문제를 해결할 수 있기를 바랍니다. :-)).

답변4

다양한 옵션을 시도한 후 이것이 저에게 효과적이었습니다.

내 Mac에서:

먼저 xQuartz를 시작합니다. 그런 다음 터미널로 이동하여 export DISPLAY=localhost:0.

내 원격 Linux PC에서:

wayland에 문제가 있어서 /etc/gdm/custom.conf해당 줄로 가서 주석 처리를 제거했습니다 WaylandEnable=false. 나도 설정했다 export XAUTHORITY=$HOME/.Xauthority. 마지막으로 export QT_QPA_PLATFORM=xcb일부 그래픽 라이브러리를 Python 작업으로 만드는 요소를 설정했습니다 .

이를 설정한 후 이제 를 사용하여 원격 서버에 SSH로 접속할 수 ssh -Y remoteserver@IP있으며 이것이 작동하기를 바랍니다.

관련 정보