Cygwin X 서버와 함께 Windows를 실행하는 노트북이 있습니다. 이 컴퓨터에는 VMWare에서 실행되는 가상 Linux 상자가 있습니다.
VM에서 내보내기 DISPLAY=xserver:0을 설정하고 cygwin 셸에서 xhost +xclient를 실행합니다. 호스트 이름이나 IPv4 주소를 사용할 수 있습니다. 이제 디스플레이를 리디렉션하여 X 프로그램(주로 emacs/xterm)을 실행할 수 있습니다. 여태까지는 그런대로 잘됐다.
또한 AWS에 연결하려면 AWS VPN 클라이언트를 사용해야 합니다(클라이언트가 좋지 않지만 작동합니다). Windows 랩톱에서 실행되지만 가상 머신에서도 선택됩니다. 이제 모든 시스템에서 AWS와 통신할 수 있습니다. 여태까지는 그런대로 잘됐다.
그러나 Linux 시스템에서 X 프로그램을 실행하려고 하면 해당 프로그램에 대한 인증이 거부됩니다. 방금 "인증이 필요하지만 인증 프로토콜이 지정되지 않았습니다"라는 오류가 발생했습니다. IP 주소나 서버 이름을 추가해도 상관없습니다. 동일한 오류가 발생합니다. IP 주소는 변경되지 않았습니다(Wireshark를 사용하여 확인했습니다).
인증을 비활성화하기 위해 xhost +를 수행하면 연결할 수 있지만 이는 확실히 매우 안전하지 않으므로 그렇게 하고 싶지 않습니다.
xauth 토끼 구멍을 시도했지만 위의 오류가 Invalid MIT-MAGIC-COOKIE-1 오류로 대체되었습니다.
무슨 일이 일어났는지 아시나요?
답변1
답은 달려가는 것 같다
호스트+IP 주소
X11 서버를 호스팅하는 컴퓨터에 대한 외부 인터페이스의 IP입니다. VPN 클라이언트가 어떤 방식으로든 X11 요청을 자체적으로 리디렉션하는 것으로 보입니다. 이상하지만 작동하는 것 같습니다.
답변2
음.
그러나 Linux 시스템에서 X 프로그램을 실행하려고 하면 해당 프로그램에 대한 인증이 거부됩니다.
아마도 이것은뒤쪽에Linux 시스템(=VM)에서 "DISPLAY=xserver:0"을 실행합니다. 이 경우 모든 xclient는 xserver:6000에 대한 새 연결을 열려고 시도합니다. 이는 또한 현재 Linux 시스템에 SSH 세션이 있음을 의미합니다. ssh에는 X를 처리하는 메커니즘이 내장되어 있습니다.
이것이 귀하의 환경에서 어떻게 작동하는지 모르겠습니다. 작업할 Cygwin 버전이 없거나 SSH 클라이언트를 사용한다고 말하지 않았습니다. 이 조합의 어딘가에 누락된 것이 있을 수 있습니다. 먼저 SSH 클라이언트 문서를 읽어보세요 - IIRC with putty, 연결하기 전에 구성에 명시적으로 플래그를 설정해야 합니다. 이 문제를 해결할 수 없는 경우 Mobaxterm 사본을 다운로드하고 ssh 세션을 통해 xclient를 실행해 볼 수 있습니다(다시 말하지만 DISPLAY를 설정할 필요가 없습니다).