DISPLAY:1.0과 포트 5901의 관계는 무엇입니까?

DISPLAY:1.0과 포트 5901의 관계는 무엇입니까?

vncserver를 사용하여 새 X 서버를 시작할 때 포트 5901을 사용하여 연결할 수 있습니다. 예를 들어 터미널에서 다음 작업도 수행할 수 있습니다.

내보내기DISPLAY=:1.0 xterm

(이것은 단지 예일 뿐입니다)

Xvncserver에 xterm이 있습니다.

:1.0과 포트 5901 사이의 관계는 무엇입니까?

답변1

포트 5901(일반적으로 규칙에 따라 포트 5900 + XDisplaynumber)은 VNC 서비스가 수신 대기하는 TCP 포트입니다. 이것이 그들의 관계입니다. 실제로 모든 TCP 포트와 Xdisplaynumber를 사용할 수 있습니다.

VNC 서비스는 클라이언트에서 서버로 입력(마우스, 키보드)을 전송하고 서버에서 클라이언트로 출력(이미지)을 전송하도록 설계되었습니다. 이 X와는 아무 관련이 없습니다. 예를 들어, 가상화에서 VNC는 가상 머신의 "물리적" 엔드포인트를 원격으로 액세스할 수 있도록 만드는 데 자주 사용됩니다.

X11 시스템은 이보다 훨씬 더 복잡하며 프로그램에서 Xserver 및 서로 상호 작용하는 데 사용됩니다. X 월드의 표현은 처음에는 다소 직관적이지 않기 때문에 출력, 좌석, 화면, 모니터, 서버, 클라이언트의 의미를 익히고 고려해 볼 가치가 있습니다.

귀하의 질문에: Xdisplay는 모든 X 인스턴스의 논리적 핵심입니다. 프로그램을 시작하면 해당 프로그램은 Xclient가 되어 Xserver가 제공하는 모니터에 연결됩니다. :1.0실제로 "localhost에 1 표시"를 의미하는 약어입니다. DISPLAY=192.168.1.2:3.0과 같은 호스트 이름이나 IP 주소를 제공하여 시작하려는 프로그램이 지정된 IP 주소를 가진 (원격) 컴퓨터의 Xdisplay 3에 연결되도록 할 수 있습니다.

X와 VNC는 서로 다른 목적과 목표로 구현된 완전히 다른 두 가지 서비스입니다. (VNC 목표의 일부/대부분이 X를 개발할 때도 목표였다고 주장할 수도 있지만 이는 상당히 학술적이고 매우 심층적입니다.)

Xvncserver를 사용할 때 이 두 개념은 연속적으로 결합됩니다. 따라서 Xclient가 "일반적인 방법으로" 통신할 수 있는 Xserver가 있지만 Xvncserverit은 사용자와 상호 작용하는 데 사용할 수 있는 하드웨어를 사용하는 대신 VNC 클라이언트가 연결할 수 있는 VNC 서버를 구현합니다.

답변2

본질적으로 그렇지 않습니다.

실행하면 xvncserver두 가지 작업을 수행해야 합니다.

  1. 청취 포트 열기(VNC의 경우 5901)
  2. 표시 대상 만들기

표시 대상은 다음과 같습니다.어느숫자. 일반적으로 X를 통해 콘솔에 로그인하는 것은 display 를 사용합니다 :0. 반드시 그런 것은 아니지만 먼저 콘솔에 로그인한 다음 사용할 수 있습니다 startx :36. VNC는 1.0사용 가능한 첫 번째 디스플레이일 수 있으므로 기본적으로 사용됩니다 .

이 두 개는 다음과 같이 구성되어 있습니다.관습, 둘 다에 연결된 실행 중인 프로세스 외에는 이들을 서로 바인딩하는 마법이 없습니다.

관련 정보