Xmanager FAQ

XDMCP 접속 Show all answers Hide all answers

XDMCP 연결에 실패했습니다. 다시 시도하시겠습니까?

Xbrowser에서  XDMCP 세션을 생성한 후 접속을 시도할 때 다음과 같은 메시지가 나옵니다.


위 메시지는 여러 가지 이유로 발생합니다.

1. PC에서 유닉스/리눅스 장비로 UDP 통신이 되지 않을 때

XDMCP 접속 시 처음에는 UDP 포트로(기본값은 177번) XDMCP 패킷 교환을 합니다.
이 패킷 교환이 되지 않는 이유는 다음과 같습니다.
  • 유닉스/리눅스 장비가 XDMCP 데몬이 구동되고 있지 않음
    리눅스라면 ps -aef grep dm의 결과로 gdm, kdm, xdm, lightdm 등이, HP, IBM, Sun 장비와 같은 유닉스라면 dtlogin 등이 나오지 않는다면 이에 해당합니다.

    $ ps -aef grep dm  혹은 ps -aef grep dtlogin
    root      5895 30677  0  2015 ?        00:00:00 /usr/sbin/gdm-binary
    root     24996 30677  0 Jan29 ?        00:00:00 /usr/sbin/gdm-binary

  • XDMCP 데몬은 구동 중이지만 외부로 서비스를 하고 있지 않는 경우
    ps 명령의 결과 gdm, kdm 등이 구동 중이지만 외부로 서비스하고 있지 않는 경우입니다.
    netstat -an grep 177(XDMCP 기본 포트) 명령의 결과 다음과 같이 나오지 않는다면 
    이에 해당합니다.

    $ netstat -an grep 177
    udp        0      0 0.0.0.0:177                 0.0.0.0:*

    이 경우라면 다음 FAQ 글을 참고하여 필요한 설정을 하여야 합니다.
    http://www.netsarang.co.kr/faq/xmanager/list : Unix/Linux OS별 설정

  • 방화벽이나 네트워크 환경의 문제로 UDP 패킷 전송을 할 수 없는 경우
    네트워크의 방화벽 존재 여부는 네트워크 관리자에게 문의를 해 봐야 합니다. 

    최근의 리눅스 장비들은 시스템 내에 방화벽이 구동 중인 경우가 많습니다.
    다음 명령으로 확인해 볼 수 있으며 방화벽이 구동 중이라면 해당 운영체제의 매뉴얼을 참고하여 필요한 조치를 취해야 합니다.

    # service iptables status
    Firewall is stopped.

    http://www.netsarang.co.kr/faq/xmanager/10607 : Xmanager 사용 시 방화벽의 포트는 어떻게 설정해 주면 되나요?
    http://www.netsarang.co.kr/faq/xmanager/10608 : Linux에서 방화벽 설정으로 인해 Xmanager가 동작하지 않습니다.

    또한 네트워크 구성상 유닉스/리눅스 장비가 사설망 환경에 있다면 이에 해당합니다.

    http://www.netsarang.co.kr/faq/xmanager/list : 네트워크 구성 및 방화벽

2. 유닉스/리눅스 장비에서 Xmanager가 있는 PC로 TCP 통신을 할 수 없는 경우

XDMCP 접속 시 초기 UDP를 통한 패킷 교환이 이루어지고 나서는 본격적으로 PC의 Xmanager에게 DISPLAY를 요청하는 단계가 시작됩니다. 이는 TCP 포트를 통해서 이루어지는데요, 초기 기본값으로 Xmanager는 6000번 포트에서 시작하게 됩니다.

이 통신이 이루어지지 않는 이유는 다음과 같습니다.
  • 방화벽문제
    네트워크에 존재하는 방화벽은 네트워크 관리자에게 문의하여야 합니다. 
    윈도우 자체의 방화벽이 구동 중이라면 제어판에서 Xmanager를 허용하는 등의 필요한 설정을 하여야 합니다. Xmanager 최초 실행 시 사용자에게 허용 여부를 묻는 과정에서 차단을 선택한 경우 주로 발생합니다.

  • 네트워크 환경의 문제
    PC가 공유기 등으로 구성된 사설 네트워크(NAT 환경) 내에 있을 경우 생길 수 있는 문제입니다. 다음 FAQ 글을 참고하여 필요한 설정을 해야 합니다.

    http://www.netsarang.co.kr/faq/xmanager/10543/PC가_인터넷_공유기나_사설망(Private_Network)과_같은_NAT_시스템_내부에_있을_때_Xmanager를_사용하고_싶습니다.
  • DNS 설정의 문제
    XDMCP 접속 시 XDMCP 데몬은 PC의 IP 주소와 이름에 대한 질의 및 역질의 과정을 거칩니다. 이 때 그 값이 서로 일치하지 않을 경우 TCP 패킷이 PC가 아닌 다른 장소로 가게 되는 경우가 생깁니다. 

    다음과 같은 경우라면 문제가 됩니다.

    PC의 IP 주소에 대한 역질의(reverse lookup)
    $ nslookup 1.1.1.1
    Server: 192.168.1.7
    Address: 192.168.1.7#53

    1.1.1.in-addr.arpa name = my-pc.netsarang.com.

    PC 이름 질의(dulookup) : my_pc_name => 2.2.2.2

    위 PC 이름에 대한 질의(lookup)
    [root@suzy ~]# nslookup my-pc.netsarang.com.
    Server: 192.168.1.7
    Address: 192.168.1.7#53

    Name:
    my-pc.netsarang.com
    Address: 2.2.2.2.

    위와 같은 경우 시스템 관리자에게 요청하여 해당 유닉스/리눅스의 DNS 서버(resolver)의 정보가 정확하게 되도록 하여야 합니다. 조금 더 간단하게는 /etc/hosts 파일에 PC의 이름을 등록하는 방법으로 문제를 해결할 수 있습니다.

    # vi /etc/hosts (root의 권한이 필요합니다.)
    1.1.1.1 my_pc_name (PC 이름은 사용자가 원하는 아무 이름이어도 됩니다)
일부 사용자나 PC에서만 발생하거나 간헐적인 문제 상황라면 다음 FAQ 글도 참고가 됩니다.


문제를 확인하기 어려울 경우라면 Xmanager 로그 파일을 첨부하여 기술 지원 문의를 해 보시기 바랍니다.
 

Session declined Maximum number of open sessions from your host reached

gdm(혹은 gdm-binary)을 XDMCP 데몬으로 사용하는 시스템에서 발생하는 메시지입니다.

gdm은 한 IP 주소에서 XDMCP를 접속할 수 있는 세션 수에 제한을 두고 있습니다.

어떤 리눅스는 그 값을 2개로 제한해 놓은 경우가 있습니다.

이럴 경우 Xbrowser 등에서 XDMCP  세션을 같은 리눅스 머신으로 2개 이상 열 수 없습니다.

두 개 이상 열 경우 XDMCP 데몬은 연결을 차단하고 위 메시지를 보냅니다.


 

1. /etc/gdm/custom.conf나 gdm.conf 파일에서 다음 정보를 변경(추가)합니다.

[xdmcp]

Enable=true

DisplaysPerHost=10 (<=원하는 숫자를 입력합니다.)


2. gdm(혹은 gdm-binary) 프로세스 중 최상위 프로세를 찾아 다시 기동합니다.

#ps -aef |grep dm |grep -v grep

root     20483     1  0 16:01 ?        00:00:00 /usr/sbin/gdm-binary -nodaemon

root     24855 20483  0 23:04 ?        00:00:00 /usr/sbin/gdm-binary -nodaemon


# kill -1 20483

Session declined Maximum number of open sessions reached

gdm(혹은 gdm-binary)을 XDMCP 데몬으로 사용하는 시스템에서 발생하는 메시지입니다.

gdm은 XDMCP를 접속할 수 있는 세션 수에 제한을 두고 있습니다.

보통은 기본값이 16으로 정해져 있습니다.

이럴 경우 Xmanager 등으로 해당 머신에 XDMCP로 접속할 수 있는 총 세션 수는 16이 됩니다.

 

1. /etc/gdm/custom.conf나 gdm.conf 파일에서 다음 정보를 변경(추가)합니다.

[xdmcp]

...

MaxSessions=99 (<= gdm은 XDMCP 세션을 100개 이상 지원하지 않습니다.)


2. gdm(혹은 gdm-binary) 프로세스 중 최상위 프로세를 찾아 다시 기동합니다.

#ps -aef grep dm grep -v grep

root     20483     1  0 16:01 ?        00:00:00 /usr/sbin/gdm-binary -nodaemon

root     24855 20483  0 23:04 ?        00:00:00 /usr/sbin/gdm-binary -nodaemon


# kill -1 20483

계정과 비밀번호를 입력 후 최종 원격 데스크탑이 나타나지 않습니다.

만약 계정과 비밀번호를 입력한 후 원격 데스크탑이 나타나지 않는다면,
  • 사용자 계정의 로그인 스크립트(.cshrc, .profile, .login, .bashrc, .dtprofile 등)에서 DISPLAY 변수를 강제로 정하고 있을 수 있습니다. Xmanager는 자동으로 DISPLAY 변수를 지정하기 때문에 수동으로 이 변수를 지정하실 필요가 없습니다.

    만약 로그인 스크립트에 다음과 같이 시작하는 줄이 있다면 주석처리 하시기 바랍니다.

    # export DISPLAY=192.168.1.xxx
    # setenv DISPLAY 192.168.1.xxx

  • 사용자의 홈 디렉토리에 있는 원격 데스크탑 사용자 환경 설정 파일에 문제가 있을 수 있습니다. CDE 사용자라면 .dt 디렉토리를 GNOME 사용자라면 .gnome*, .gconf*, KDE 사용자라면 .kde*, .kderc 등의 파일이나 디렉토리를 다른 이름으로 저장하거나 삭제한 후 다시 접속을 시도해 보십시오.
  • 사용자의 홈 디렉토리의 퍼미션이 잘못 되어 있는 경우 로그인을 마무리하지 못하는 경우가 있습니다. 사용자의 홈 디렉토리가 존재하는지 디렉토리의 소유자가 정확히 맞는지 확인해 보십시오.

    이 문제가 해결되지 않아 포럼이나 이메일 등을 통해 계속적인 기술지원을 받고자 할 경우 다음 정보가 있으면 문제 해결에 도움이 됩니다.
    1. /var/dt/Xerrors 파일
    2. $HOME/.dt/startlog, $HOME/.dt/errorlog 파일
    3. Xmanager 로그 파일(로그 파일 얻는 방법은 여기)

GDM을 사용할 때 Secure XDMCP 접속을 할 수 없습니다.

몇몇 GDM 버전에서 Secure XDMCP 연결이 되지 않는 문제가 있습니다. 이는 GDM에서 연결 주소(Connection Address)를 지정할 수 없기 때문에 발생하는 문제입니다. Secure XDMCP를 사용하고 싶다면 kdm이나 xdm을 구동한 후 사용할 것을 추천해 드립니다. kdm이나 xdm을 구동하는 방법은 다음과 같습니다.
  1. gdm-stop 명령이나 init 3 명령으로 gdm 구동을 멈춤
  2. kdm 혹은 xdm 명령으로 디스플레이 매니저 구동