문제

일부 UNIX 개발 서버에 연결하기 위해 Windows XP를 실행하는 랩톱에 Xming X Window Server를 설치했습니다.

사무실에서 회사 네트워크에 직접 연결하면 잘 작동합니다.하지만 VPN을 통해 원격으로 네트워크에 연결하면 작동하지 않습니다.

원격으로 연결된 Xming을 시작하면 터미널 Windows가 표시되지 않습니다.

노트북이 연결될 때 DISPLAY 환경 변수가 노트북의 IP 주소로 올바르게 설정되지 않은 것과 관련이 있을 수 있다고 생각합니다.

원격으로 연결된 동안 ipconfig를 수행할 때 내 노트북에 두 개의 IP 주소가 있다는 것을 알았습니다. 하나는 회사 네트워크에서 할당되었고, 하나는 내 "로컬 네트워크"에서 설정한 로컬 IP 주소입니다. 모뎀/라우터.

VPN을 통한 사용을 지원하기 위해 Xming에서 일부 구성을 변경해야 합니까?

도움이 되었습니까?

해결책

X 인증, 인터페이스에 대한 X 서버 바인딩 또는 DISPLAY 변수일 가능성이 있습니다.저는 Xming을 직접 사용하지는 않지만 확인해야 할 몇 가지 일반적인 현상이 있습니다.DISPLAY 변수가 올바른지 수동으로 확인하기 위해 수행할 수 있는 테스트 중 하나는 다음과 같습니다.

  1. VPN을 시작하세요.ipconfig를 실행하여 언급한 두 개의 IP 주소(로컬 IP와 VPN IP)가 있는지 확인하세요.
  2. 엑스밍을 시작하세요.'netstat -n'을 실행하여 인터페이스에 어떻게 바인딩되는지 확인하세요.localIP:6000 또는 VPNIP:6000이라는 내용이 표시되어야 합니다.6000은 아닐 수도 있지만 그럴 가능성이 높습니다.VPNIP:6000이 없으면 localIP 또는 127.0.0.1에만 바인딩될 수 있습니다.아마도 VPN에서는 작동하지 않을 것입니다.다른 인터페이스 또는 모든 인터페이스에 바인딩할 수 있는 Xming 설정이 있는지 확인하세요.
  3. VPNIP:6000 또는 이와 유사한 내용이 표시되면 내용을 기록하고 UNIX 호스트에 대한 원격 셸을 실행하십시오(텍스트 터미널을 얻으려면 ssh와 같은 것이면 좋겠습니다).
  4. UNIX 터미널에 'echo $DISPLAY'를 입력합니다.아무것도 표시되지 않으면 'export DISPLAY=VPNIP:0.0'을 시도하세요. 여기서 VPNIP는 VPN IP 주소이고 0.0은 3단계에서 본 포트에서 6000을 뺀 값이며 끝에 .0이 있습니다(예:6000 = 0.0, 6010 = 10.0).
  5. UNIX 호스트에서 'xclock' 또는 'xterm'과 같은 것을 실행하여 실행되는지 확인하십시오.오류 메시지는 정보를 제공해야 합니다.호스트에 연결할 수 없거나(연결 문제) 인증이 실패했다는 메시지가 표시됩니다(호스트와 로컬 시스템의 Xauth 또는 로컬 시스템의 Xhost를 조정해야 합니다).

로컬로 보호되는 네트워크가 있고 VPN을 통해 이동하는 경우 Xhost를 여는 것(모든 호스트에 대해 + 또는 유사한 항목 사용)도 나쁘지 않습니다.이를 통해 문제 추적을 시작할 수 있기를 바랍니다.VPN 또는 간단한 SSH 연결을 통해 작동할 때 종종 유용한 또 다른 옵션은 SSH 터널링 또는 SSH를 통한 X11 전달입니다.이는 UNIX 호스트의 포트를 X 서버 상자의 로컬 포트로 리디렉션하여 로컬 상자의 X 서버에 대한 연결을 시뮬레이션합니다.디스플레이는 일반적으로 로컬 6010 포트의 경우 localhost:10.0과 유사합니다.

X는 설정하기가 까다로울 수 있지만 일단 익숙해지면 일반적으로 훌륭하게 작동합니다.

다른 팁

@Stephen과 @Greg Castle의 도움에 감사드립니다. 이를 사용하여 문제를 해결할 수 있었습니다.

다른 사람들에게 기본 가이드를 제공하려면(처음부터):

Windows PC에서 Xwindows를 사용하여 VPN을 통해 UNIX 서버에 연결

시작해야 할 사항:

해야 할 일:

  1. Windows PC에 위의 두 가지를 모두 설치하십시오.

  2. Windows 시작 메뉴에서 다음을 선택합니다.프로그램 -> Xming -> Xming

  3. 다운로드한 위치에서 Putty.exe 프로그램을 실행합니다.

  4. PuTTY 구성 화면에서 다음을 수행합니다.

    • IP 주소를 UNIX 서버의 IP 주소로 설정하십시오.

    • SSH 프로토콜 라디오 버튼을 선택하세요.

    • SSH를 클릭합니다.구성 화면 왼쪽 창의 터널 카테고리

    • X11 전달 활성화 확인란을 클릭합니다.

    • 열기 버튼을 클릭하세요.

    • 평소처럼 UNIX 서버에 로그온하세요.

    • X Windows 유틸리티가 포함된 디렉토리가 경로에 있는지 확인하세요./usr/X/bin 솔라리스

    • 퍼티 창에서 X Windows 명령을 실행하면 데스크탑에 새 창이 생성됩니다.

PuTTY 구성을 교체하여 Xming과 PuTTY가 Cisco VPN과 작동하도록 했습니다. Connection > SSH > X11 > X display location, localhost:0.0, 와 함께 VPNIP:0.0. VPNIP 에서 볼 수 있다 VPN statistics client address information 마우스 왼쪽 버튼을 클릭하여 VPN client 자물쇠 아이콘을 선택하고 Statistics....

원격 호스트의 DISPLAY 환경 변수를 다루지 않았습니다.그러나 다른 사람들과 마찬가지로 원격 호스트에서 sshd_config를 수정하여 다음 줄을 추가했습니다.

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet

Xming에는 문제가 없었습니다.작동하게 했을 때 속도가 매우 느렸습니다(이것은 VPN을 통한 것입니다).IMO X는 너무 느린 연결을 통해 실행되도록 설계되지 않았습니다.연결 속도가 느리다는 것은 LAN 연결보다 못한 것을 의미합니다.

내 솔루션은 x11vnc를 사용하는 것이 었습니다.VNC를 통해 기존 X11 세션에 액세스할 수 있습니다.VPN을 통해 내 상자에 SSH로 접속하여 실행합니다.

$ x11vnc -display :0

이렇게 하면 낮 동안 열었던 모든 항목에 액세스할 수 있습니다.그런 다음 그렇지 않으면 그냥 종료합니다(Ctrl 키-) 터미널에서 x11vnc를 닫습니다.

Windows 10 시스템에서 Xming 및 Putty와 동일한 문제가 발생하여 해결책을 찾았습니다. 여기.나는 단지 추가하는 문제를 극복했습니다 터널 PuTTY의 세션에.하지만 먼저 확인해야 합니다.

  • sshd_config /etc/ssh 아래(rhel7).
  • X11 전달 활성화 왼쪽 탐색 창에서 Connections > SSH > X11
  • iptables /etc/sysconfig/(rhel7) 아래에 있습니다.포트가 차단되어 있고 권한이 있는 경우 6000에 대한 포트를 엽니다.6000에서 6003까지 포트를 열기 위해 첫 번째 거부 라인 앞에 아래 라인을 추가했습니다.귀하의 경우에는 더 구체적일 수 있습니다.

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

그 다음에;

  • 이동 Connections > SSH > Tunnels PuTTY에서 다음을 사용하여 터널을 추가합니다. Source Port=6000, Destination=127.0.0.1:6000 그리고 확인 Remote 라디오 버튼.그런 다음 Add 단추.
  • SSH 연결이 설정된 후 아래 명령을 사용하여 DISPLAY 변수를 수동으로 설정하십시오.
    export DISPLAY=127.0.0.1:0.0

추가 정보;
설정하면 DISPLAY 변수 127.0.0.1:1.0, 6001 포트를 통해 통신합니다.이 경우 포트 번호 6001에 대해 다른 터널을 추가해야 합니다.

정확한 문제는 없지만 xhost를 살펴보고 VPN 원격이 x 서버로 데이터를 보낼 수 있는지 확인해야 한다고 생각합니다.

이 링크가 도움이 될 수 있습니다:http://www.straightrunning.com/XmingNotes/trouble.php

당신은 더 나은 행운을 누릴 수 있습니다 X11 전달 DISPLAY 변수를 직접 조작하는 대신 SSH를 통해.SSH를 통한 X11 전달은 안전하며 터널링에 기존 SSH 연결을 사용하므로 VPN을 통한 작업에는 문제가 없습니다.

다행히 Xming을 사용하면 매우 간단합니다.Xming 내에서 연결을 여는 경우(예:plink 옵션) 기본적으로 X11 전달을 설정한다고 생각합니다.다른 SSH 클라이언트를 사용하여 연결하는 경우(예:PuTTY) 그런 다음 X11 전달(예:'ssh -X 사용자@호스트').PuTTY에서 옵션은 연결 -> SSH -> X11 -> 'X11 전달 활성화'를 클릭합니다.

Xming이 랩탑의 백그라운드에서 실행되고 있는지 확인하고 표준 X 테스트 'xclock'을 수행하십시오.'LocalHost에 대한 X 연결 : 19.0 깨진 (명시 적 킬 또는 서버 종료)'와 같은 메시지가 표시되면. Xming은 실행되지 않을 가능성이 높습니다.

또한 시작 스크립트에서 DISPLAY 변수를 명시적으로 설정하지 않았는지 확인하세요.SSH는 X11 터널에 대한 별칭(localhost:10 또는 위의 예에서 localhost:19와 같은 것)을 설정하고 자동으로 DISPLAY를 해당 값으로 설정합니다.DISPLAY를 덮어쓰면 더 이상 올바른 X11 터널을 가리키지 않게 됩니다.이에 대한 반대 측면은 SSH X11 전달이 설정되지 않은 다른 터미널이 동일한 DISPLAY 값을 사용하고 터널을 활용할 수 있다는 것입니다.

저는 PuTTY 옵션을 선호하는 경향이 있지만 몇몇 동료들은 Xming 내에서 plink를 사용합니다.

putty + XMing - 작업을 실행하려면 DISPLAY 환경 변수를 수동으로 설정해야 했습니다(putty에서 "X11 전달 활성화" 확인과 함께 - 연결/SSH/X11).

디스플레이 내보내기=0:10.0

("localhost:10.0"으로 설정되어 작동하지 않음)

Linux 시스템의 DNS 이름과 IP 주소를 C:\Program Files\xming\X0.hosts 파일에 추가해야 합니다.파일에는 다음이 포함되어야 합니다.

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

이것이 정답입니다: https://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top