역방향 SSH 터널을 설정하고 중간자 서버를 통해 작업하고 있습니다. 저는 여기와 원격 컴퓨터에서 Kubuntu 12.04를 실행하고 있습니다.
원격 데스크톱 세션을 열고 싶습니다. 지금까지는 Team Viewer를 사용하여 원격 데스크톱에 로그인했습니다. Team Viewer 없이도 비슷한 결과를 얻을 수 있기를 바랍니다. 나는 SSH를 통한 X가 이것을 달성할 것이라는 것을 알고 있습니다. vnc가 필요하다면 그것도 괜찮습니다.
이것이 나의 현재 문제입니다. 터널을 통해 원격 시스템에 연결할 때 다음 오류가 발생합니다.
$ startkde &
$ $DISPLAY is not set or cannot connect to the X server.
-Y SSH 옵션을 사용하고 (비밀번호 대신) 키를 사용하여 연결합니다. SSH와 관련된 모든 것이 제대로 작동하는 것 같습니다. 내가 보는 유일한 문제는 X입니다. 또 다른 예는 다음과 같습니다.
$ xeyes &
$ Error: Can't open display:
그리고
$ echo $DISPLAY
$
(아무것도 반환하지 않음)
이러한 답변은 관련성이 있어 보이지만 내 상황에 대한 해결책을 공식화할 만큼 자세하게 이해할 수는 없습니다.
답변1
중간 서버를 사용하여 두 시스템을 상호 연결하는 경우 회선 중 적어도 하나가 매우 느릴 가능성이 있습니다. 이 경우 VNC는 대역폭/성능 요구 사항/품질 비율을 더 잘 조정할 수 있으므로 아마도 더 나은 성능을 제공할 것입니다(이는 견고한 100Mbit+ 네트워크를 사용하지 않는 한 대부분의 설정에서 실제로 작동합니다).
나는 개인적으로 좋아한다x11vnc
, 실행 중인 X 서버에 연결하고 VNC 프로토콜을 통해 입력/출력을 전달합니다(이 작업은 X 서버가 실행되는 동안 수행될 수 있으므로 디스플레이 관리자와 상호 작용할 수도 있습니다). 문제의 X 서버는 일반 서버(실제 모니터로 출력)이거나 프레임 버퍼 기반 서버일 수 있습니다 Xvfb
. 그런 다음 VNC 클라이언트를 사용하여 내보낸 X 서버에 연결할 수 있습니다. 물론 합격을 원할 수도 있고 ssh
,stunnel
. 매뉴얼 페이지는 x11vnc
매우 철저하며 처음에는 일반적으로 사용되는 명령줄 예제도 포함되어 있습니다.
또한 이를 통해 실행 중인 세션에 원격으로 연결하여 누군가 원격으로 문제를 해결하는 데 도움을 줄 수도 있습니다. 중요한 이점은 X 프로토콜 자체가 아닌 입력 및 출력만 전달되므로 네트워크 연결 끊김은 세션만 중단하고 모든 프로그램은 계속 실행된다는 것입니다.SSH를 통한 X의 경우에는 그렇지 않습니다..
어떤 이유로 SSH를 통해 X11을 터널링하려는 경우 DISPLAY
환경 변수가 올바르게 설정되었는지 확인해야 합니다 ssh
. 그렇지 않으면 애플리케이션이 어떤 서버에 연결할지 알 수 없기 때문에 진행할 수 없습니다. X11Forwarding
이 지시문이 구성에 설정되어 있는지 확인하십시오.yes
sshd
startkde4
마지막으로 중요한 점은 아마도 SSH(또는 다른 X 세션)를 통해 실행하고 싶지 않을 것입니다. 네트워크 로드가 상당히 무거울 수 있으므로 VNC가 더 나은 서비스를 제공할 것입니다.