Ubuntu 18.04, 18.10, 19.04, 20.04 XDMCP 설정

Ubuntu 18.04, 18.10, 19.04, 20.04 버전에서 Xmanager 6 이하 버전 또는 Xmanager 7 클래식을 사용하여 XDMCP 접속을 위한 설정법입니다.

Xmanager 7 기본 X 서버를 사용하기 위해서는 다음 문서를 참고하세요

Xmanager 7을 위한 XDMCP 설정


적용되는 버전

Ubuntu 18.04

Ubuntu 18.10

Ubuntu 19.04

Ubuntu 20.04


Ubuntu 18.04부터 XDMCP 데몬으로 기존 lightdm 대신 기본으로 gdm(버전 3)을 사용합니다.

gdm3 데몬은 원격 접속을 위한 XDMCP에 맞지 않습니다. X11 프로토콜이 아닌 Wayland를 사용하려고 한다거나 로그인 후 화면 출력이 콘솔에 뿌려진다거나 하는 문제가 있습니다.

디스플레이 매니저로 gdm3 대신 lightdm을 추가 설치하고 데스크톱 사용자 환경으로 기본 Ubuntu 데스크톱이 아닌 Xfce를 설치하여 이 문제를 해결할 수 있습니다.

Xmanager 7의 경우는 사용자 데스크톱으로 Ubuntu 데스크톱도 가능하지만 Xmanger 7 Classic이나 Xmanager 6는 사용자 데스크톱 환경으로 Xfce(Xubuntu)나  KDE를 사용하여야 합니다.


인터넷 접속 여부 등 실제 사용 환경과 다소 차이가 있을 수 있으며 다음 안내에 따라 변경한 시스템에서 생기는 문제에 대해서는 전적으로 사용자에게 있습니다.

다음은 모두 root의 권한(혹은 sudo 명령 실행)으로 진행합니다.


XDMCP 설정

  1. lightdm 설치

    $ sudo apt install lightdm


    설치 시 기본 디스플레이를 어떤 것으로 사용할 것인지 묻는 화면에서 'lightdm'을 선택합니다.


  2. lightdm 환경 설정
    /etc/lightdm/lightdm.conf 파일을 수정하여(없으면 생성합니다) 다음 내용을 추가하거나 변경합니다.

    [XDMCPServer]
    enabled=true
  3. 방화벽 설정

    $ sudo service ufw stop
    • PC에서 UNIX/Linux 방향으로 UDP 177번 포트 개방
    • UNIX/Linux에서 PC 방향으로 TCP 6000~6010번 포트 개방


    (방화벽에 대한 자세한 사항은 우분투의 매뉴얼을 참조하시거나 우분투 공급사의 기술지원을 받으셔야 합니다. 문제의 원인 파악을 위해서 일시적으로 방화벽을 제거하시고자 할 경우 'iptables -F' 명령을 사용해 보십시오. 그리고 우분투의 경우 기본값으로는 iptables가 구동하고 있지 않습니다. iptables -L 명령으로 구동 여부를 확인해 보십시오.)


  4. XDMCP 서비스 데몬 교체 및 재구동

    $ sudo systemctl disable gdm3
    $ sudo systemctl stop gdm3
    $ sudo systemctl enable lightdm
    $ sudo systemctl start lightdm
  5. Xmanager 세션 생성
    우분투 LightDM의 경우 XDMCP 브로드캐스트에 응답을 안하는 경우가 있어 Xmanager 버전에 따라서는 Xmanager 세션 리스트에 나타나지 않을 수 있습니다. Xmanager에서 새로 만들기를 통해 XDMCP 고정 세션을 만들거나 주소창에서 IP 주소나 호스트 이름을 직접 입력하여 접속해보십시오.


사용자 데스크톱 환경으로 Xfce 추가 설치

  1. 새로운 사용자 데스크톱 환경 설치.
    - Xfce 설치

    $ sudo apt-get update
    $ sudo apt-get install xubuntu-desktop
  2. 새로운 데스크톱 환경 적용: xdmcp 데몬 재기동

    $ sudo systemctl restart lightdm
  3. Xmanager 접속 후 로그인 화면에서 xfce  세션이나 Xubuntu 세션을 선택합니다.(Xmanager 7의 경우 우분투 데스크톱을 지원합니다)

서비스 구동 및 정상 작동 여부 확인 방법

  1. lightdm 구동 및 서비스 여부 확인

    root@ubuntu:~# ps -aef |grep sbin\/lightdm|grep -v grep
    root     24568     1  0 15:51 ?        00:00:00 /usr/sbin/lightdm
    root@uby:/etc/lightdm# netstat -anep |grep \:177[^0-9]
    udp        0      0 0.0.0.0:177             0.0.0.0:*                           0          18166350   24929/lightdm       
    udp6       0      0 :::177                  :::*                                0          18166351   24929/lightdm => IPv6가 적용 중이지 않을 경우 안 나올 수 있습니다.
  2. 방화벽 확인
    방화벽이 작동하지 않고 있는 아래와 같은 결과가 나오거나 방화벽을 작동해야 한다면 Iptables 매뉴얼을 참고하시어 udp 177번이 허용 상태인 결과가 나오게 해야 합니다.

    root@uby:~# iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination다.
  3. Xfce 설치 및 적용 확인