13장. TigerVNC


tigerv nc(Tiger Virtual Network Computing)는 다른 컴퓨터를 원격으로 제어할 수 있는 그래픽 데스크탑 공유를 위한 시스템입니다.

tigerv nc는 클라이언트-서버 원칙에 따라 작동합니다. 서버는 출력(vncserver)과 클라이언트 (vncviewer)가 서버에 연결됩니다.

참고

이전 Red Hat Enterprise Linux 배포판과 달리, Red Hat Enterprise Linux 7의 TigerVNCsystemd 시스템 관리 데몬을 해당 구성에 사용합니다. /etc/sysconfig/vncserver 구성 파일은 /etc/systemd/system/vncserver@.service 로 교체되었습니다.

13.1. VNC 서버

vncserver 는 VNC(Virtual Network Computing) 데스크탑을 시작하는 유틸리티입니다. 이는 적절한 옵션과 함께 Xvnc 를 실행하고 VNC 데스크탑에서 창 관리자를 시작합니다. vncserver 를 사용하면 사용자가 어디에서나 액세스할 수 있는 시스템에서 별도의 세션을 동시에 실행할 수 있습니다.

13.1.1. VNC 서버 설치

TigerVNC 서버를 설치하려면 root 로 다음 명령을 실행합니다.

~]# yum install tigervnc-server

13.1.2. VNC 서버 구성

디스플레이 설정, 네트워크 주소 및 포트, 보안 설정 등의 선택적 매개 변수를 사용하여 사용자 계정이 시스템에 존재하는 경우 VNC 서버는 하나 이상의 사용자에 대한 디스플레이를 시작하도록 구성할 수 있습니다.

단일 사용자에 대해 VNC 디스플레이 구성

  1. /etc/systemd/system/vncserver@.service 라는 구성 파일이 필요합니다. 이 파일을 생성하려면 /usr/lib/systemd/system/vncserver@.service 파일을 root 로 복사합니다.

    ~]# cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

    systemd 가 필요에 따라 메모리에 적절히 명명된 인스턴스를 자동으로 만들어 서비스 파일의 '%i' 를 표시 번호로 대체하므로 파일 이름에 표시 번호를 포함할 필요가 없습니다. 단일 사용자의 경우 파일 이름을 변경할 필요가 없습니다. 여러 사용자의 경우, 예를 들어 특정 방식으로 사용자 이름을 파일 이름에 추가하여 각 사용자에 대해 고유하게 지정된 서비스 파일이 필요합니다. 자세한 내용은 13.1.2.1절. “두 사용자의 VNC 서버 설정” 을 참조하십시오.

  2. /etc/systemd/system/vncserver@.service 를 편집하여 USER 를 실제 사용자 이름으로 교체합니다. 파일의 나머지 행은 수정되지 않은 상태로 둡니다.

    ExecStart=/usr/bin/vncserver_wrapper <USER> %i
    참고

    VNC 데스크탑의 기본 크기는 1024x768입니다.

    사용자의 VNC 세션은 ~/.vnc/config 파일을 사용하여 추가로 구성할 수 있습니다.

    예를 들어 VNC 창 크기를 변경하려면 다음 행을 추가합니다.

    geometry= <WIDTH> x <HEIGHT>

  3. 변경 사항을 저장합니다.
  4. 변경 사항을 즉시 적용하려면 다음 명령을 실행합니다.

    ~]# systemctl daemon-reload
  5. 구성 파일에 정의된 사용자 또는 사용자의 암호를 설정합니다. 먼저 root 에서 USER 로 전환해야 합니다.

    ~]# su - USER
    ~]$ vncpasswd
    Password:
    Verify:
    중요

    저장된 암호는 암호화되지 않습니다. 암호 파일에 대한 액세스 권한이 있는 모든 사용자는 일반 텍스트 암호를 찾을 수 있습니다.

13.1.3절. “VNC 서버 시작” 으로 이동합니다.

13.1.2.1. 두 사용자의 VNC 서버 설정

동일한 시스템에서 두 개 이상의 사용자를 구성하려면 각 사용자에 대해 서로 다른 템플릿 유형 서비스 파일을 생성합니다.

  1. 두 개의 서비스 파일(예: vncserver-USER_1@.servicevncserver-USER_2@.service )을 만듭니다. 두 파일 모두에서 USER 를 올바른 사용자 이름으로 대체합니다.
  2. 두 사용자의 암호를 설정합니다.

    ~]$ su - USER_1
    ~]$ vncpasswd
    Password:
    Verify:
    ~]$ su - USER_2
    ~]$ vncpasswd
    Password:
    Verify:

13.1.3. VNC 서버 시작

서비스를 시작하거나 활성화하려면 명령에서 직접 표시 번호를 지정합니다. 단일 사용자에 대해 VNC 디스플레이 구성 에서 위에서 구성한 파일은 템플릿으로 작동하며, %isystemd 의 표시 번호로 대체됩니다. 유효한 표시 번호를 사용하여 다음 명령을 실행합니다.

~]# systemctl start vncserver@:display_number.service

시스템을 시작할 때 서비스가 자동으로 시작되도록 활성화할 수도 있습니다. 그런 다음 로그인하면 vncserver 가 자동으로 시작됩니다. root 로서 다음과 같이 명령을 실행합니다.

~]# systemctl enable vncserver@:display_number.service

이때 다른 사용자는 VNC 뷰어 프로그램을 사용하여 정의된 디스플레이 번호 및 암호를 사용하여 VNC 서버에 연결할 수 있습니다. 그래픽 데스크탑이 설치되어 있으면 해당 데스크탑의 인스턴스가 표시됩니다. 현재 대상 시스템에 표시된 인스턴스와 같지 않습니다.

13.1.3.1. 두 명의 사용자 및 두 개의 다른 디스플레이에 대해 VNC 서버 설정

구성된 두 VNC 서버의 경우 vncserver-USER_1@.service 및 vncserver-USER_2@.service의 경우 다른 표시 번호를 활성화할 수 있습니다. 예를 들어 다음 명령은 USER_1의 VNC 서버가 디스플레이 3에서 시작되고, USER_2에 대한 VNC 서버가 디스플레이 5에서 시작되도록 합니다.

~]# systemctl start vncserver-USER_1@:3.service
~]# systemctl start vncserver-USER_2@:5.service

13.1.4. GDM용 XDMCP를 사용하여 xinetd 기반 VNC 설정

GDM(X Display Manager Control Protocol)을 사용하여 xinetd를 기반으로 하는 VNC 설정은 주로 씬 클라이언트로 구성된 클라이언트 시스템에 유용한 설정입니다. 설정 후 클라이언트는 GDM 로그인 창에 액세스하여 시스템 계정에 로그인할 수 있습니다. 설정의 전제 조건은 gdm, vnc, vnc-serverxinetd 패키지가 설치되어 있다는 것입니다.

~]# yum install gdm tigervnc tigervnc-server xinetd

xinetd 서비스를 활성화해야 합니다.

~]# systemctl enable xinetd.service

시스템 기본 대상 단위는 graphical.target 여야 합니다. 현재 설정된 기본 대상 유닛을 가져오려면 다음을 사용합니다.

~]# systemctl get-default

기본 대상 단위는 다음을 사용하여 변경할 수 있습니다.

~]# systemctl set-default target_name

GDM 로그인 창에 액세스 및 로그인

  1. /etc/gdm/custom.conf 구성 파일을 편집하여 XDMCP를 사용하도록 GDM을 설정합니다.

    [xdmcp]
    Enable=true
  2. 다음 콘텐츠를 사용하여 /etc/xinetd.d/xvncserver 라는 파일을 생성합니다.

    service service_name
    {
    disable = no
    protocol = tcp
    socket_type = stream
    wait = no
    user = nobody
    server = /usr/bin/Xvnc
    server_args = -inetd -query localhost -once -geometry selected_geometry -depth selected_depth securitytypes=none
    }

    server_args 섹션에서 -query localhost 옵션은 각 Xvnc 인스턴스가 xdmcp 세션에 대해 localhost를 쿼리합니다. 깊이 옵션은 생성할 VNC 데스크탑의 비트 단위(비트)를 지정합니다. 허용 가능한 값은 8, 15, 16 및 24이며 다른 값으로 인해 예기치 않은 애플리케이션 동작이 발생할 수 있습니다.

  3. 서비스를 정의할 /etc/services 를 편집합니다. 이렇게 하려면 /etc/services 파일에 다음 스니펫을 추가합니다.

    # VNC xinetd GDM base
    service_name 5950/tcp
  4. 구성 변경 사항을 적용하려면 시스템을 재부팅합니다.

    또는 다음을 실행할 수 있습니다. init 수준을 3으로 변경하고 5로 돌아가 gdm을 강제로 다시 로드합니다.

    # init 3
    # init 5

    gdm이 UDP 포트 177에서 수신 대기 중인지 확인합니다.

    # netstat -anu|grep 177
    udp    0   0 0.0.0.0:177         0.0.0.0:*

    xinetd 서비스를 다시 시작합니다.

    ~]# systemctl restart xinetd.service

    xinetd 서비스가 새 서비스를 로드했는지 확인합니다.

    # netstat -anpt|grep 595
    tcp    0   0 :::5950           :::*            LISTEN   3119/xinetd
  5. vncviewer 명령을 사용하여 설정을 테스트합니다.

    # vncviewer localhost:5950

    이 명령은 암호가 표시되지 않는 localhost에 VNC 세션을 시작합니다. GDM 로그인 화면이 표시되고 유효한 사용자 이름 및 암호를 사용하여 시스템의 모든 사용자 계정에 로그인할 수 있습니다. 그런 다음 원격 연결에서 동일한 테스트를 실행할 수 있습니다.

설정에 대한 방화벽을 구성합니다. 방화벽 구성 도구를 실행하고 시스템에 들어오는 연결을 허용하도록 TCP 포트 5950을 추가합니다.

~]# firewall-cmd --permanent --zone=public --add-port=5950/tcp
~]# firewall-cmd --reload

13.1.5. VNC 세션 종료

vncserver 서비스를 활성화하는 것과 유사하게 시스템을 시작할 때 서비스의 자동 시작을 비활성화할 수 있습니다.

~]# systemctl disable vncserver@:display_number.service

또는 시스템이 실행 중이면 root 로 다음 명령을 실행하여 서비스를 중지할 수 있습니다.

~]# systemctl stop vncserver@:display_number.service
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.