유닉스/리눅스에서 PC로 TCP 통신이 되는지 확인하기

XmanagerPC X 서버입니다. 즉 Xmanager는 서버 프로그램으로 유닉스/리눅스의 그래픽 응용프로그램(X 클라이언트)이 Xmanager에게 디스플레이를 요청하면 이를 제공하는 프로그램입니다. 

따라서 X 클라이언트는 TCP 6000~ 포트를 통해서 Xmanager에게 접속을 합니다. 이 때 방화벽이나 기타 장비에서 이 포트에 대해 제한을 하면 접속에 실패하게 됩니다. 


다음은 유닉스/리눅스에서 Xmanager가 설치된 PC로 TCP 6000번으로 통신이 가능한지 확인해 보는 방법입니다.


  1. Xmanager-passive를 실행합니다.
  2. 윈도우의 알림 영역(시스템 트레이라고 부르는 부분)에서 주황색 X 아이콘에 마우스를 올려 나오는 메시지에서 [ ] 안의 숫자를 기억합니다.
    [:0.0]은 디스플레이 번호 0으로 TCP 포트 6000번에서 Xmanager가 대기하고 있음을 나타냅니다. [:1.0]은 디스플레이 번호 1으로 TCP 포트 6001번에서 Xmanager가 대기하고 있음을 나타냅니다.

  3. 유닉스/리눅스에 telnet이나 기타 터미널 접속 프로그램을 이용하여 접속합니다.
  4. 다음 명령을 내립니다. PORT_NUM에는 위 2에서 알아낸 TCP 포트 번호를 입력합니다.

    $ telnet PC_IP_ADDR PORT_NUM
  5. 결과

    • 연결이 가능한 상태
      Trying PC_IP_ADDR...
      Connected to PC_IP_ADDR (PC_IP_ADDR).
      Escape character is '^]'.


    • 연결이 불가능한 상태
      Trying PC_IP_ADDR...



  6. 위 결과가 연결 가능 상태일 경우 xterm과 같은 대표적인 X 클라이언트를 실행하여 PC에 xterm이 뜨는지 확인합니다. DISPLAY_NUM은 위 2에서 알아낸 디스플레이 번호를 입력합니다.

    $ xterm -display PC_IP_ADDR:DISPLAY_NUM
  7. 결과

    • 연결이 가능한 상태
      PC에 xterm 윈도우가 보입니다.

    • 연결이 가능하지 않은 상태
      Xlib: connection to "PC_IP_ADDR:DISPLAY_NUM"refused by server
      .
      .
      .
      xterm Xt error: Can't open display: PC_IP_ADDR:DISPLAY_NUM

  8. 위 7에서 연결이 가능하지 않은 상태일 경우는 해당 유닉스/리눅스가 알고 있는 PC_IP_ADDR 주소를 가진 장비가 PC가 아닌 경우입니다.
    이는 사설망을 구성하는 경우 흔히 발생하는 오류이며 바로 잡아야 합니다.