Horizon 7 for Linux를 설치하려면 Linux 시스템이 운영 체제, Horizon 7 및 vSphere 플랫폼에 대한 특정 요구 사항을 충족해야 합니다.
Horizon Agent에 지원되는 Linux 버전
다음 표에는 Horizon Agent에 대해 지원되는 Linux 운영 체제가 나와 있습니다.
Linux 배포 | 아키텍처 |
---|---|
Ubuntu 16.04, 18.04 및 20.04
참고: Ubuntu 16.04는 Horizon Agent 7.13.1 이상에서 지원되지 않습니다.
참고: VMware KB 문서
http://kb.vmware.com/kb/2151294에 설명된 솔루션 중 하나를 적용해야 합니다.
|
x64 |
RHEL(Red Hat Enterprise Linux) Workstation 6.6, 6.7, 6.8, 6.9, 6.10, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4
참고: 다음 요구 사항이 적용됩니다.
|
x64 |
CentOS 6.6, 6.7, 6.8, 6.9, 6.10, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4
참고: 다음 요구 사항이 적용됩니다.
|
x64 |
NeoKylin 6 Update 1 | x64 |
SLED 12.x SP1/SP2/SP3 | x64 |
SLES 12.x SP1/SP2/SP3/SP5 | x64 |
필수 플랫폼 및 Horizon 7 소프트웨어 버전
Horizon 7 for Linux를 설치하고 사용하려면 배포가 vSphere 플랫폼, Horizon 7 및 Horizon Client 소프트웨어에 대한 특정 요구 사항을 충족해야 합니다.
플랫폼 및 소프트웨어 | 지원되는 버전 |
---|---|
vSphere 플랫폼 버전 |
|
Horizon 환경 |
|
Horizon Client 소프트웨어 |
|
Linux 가상 시스템에서 사용하는 TCP/UDP 포트
Horizon Agent 및 Horizon Client에서는 상호 네트워크 액세스 그리고 다양한 Horizon Server 구성 요소와의 네트워크 액세스에 TCP 또는 UDP 포트를 사용합니다.
소스 | 포트 | 대상 | 포트 | 프로토콜 | 설명 |
---|---|---|---|---|---|
Horizon Client | * | Linux Agent | 22443 | TCP/UDP | Blast 보안 게이트웨이를 사용하지 않을 경우 Blast |
보안 서버, Horizon 연결 서버 또는 Access Point 장치 | * | Linux Agent | 22443 | TCP/UDP | Blast 보안 게이트웨이를 사용할 경우 Blast |
Horizon Agent | * | Horizon 연결 서버 | 4001, 4002 | TCP | JMS SSL 트래픽입니다. |
사용자가 Linux 데스크톱에 연결할 수 있도록 하려면 데스크톱은 Horizon Client 디바이스, 보안 서버 및 Horizon Connection Server에서 들어오는 TCP 연결을 수락할 수 있어야 합니다.
Ubuntu 및 Kylin 배포에서 iptables 방화벽은 기본적으로 입력 정책 ACCEPT를 사용하여 구성됩니다.
RHEL 및 CentOS 배포에서는 가능한 경우 Horizon Agent 설치 관리자 스크립트가 입력 정책 ACCEPT를 사용하여 iptables 방화벽을 구성합니다.
RHEL 또는 CentOS 게스트 운영 체제의 iptables에는 Blast 포트 22443에서 들어오는 새 연결에 대해 입력 정책 ACCEPT가 지정되어 있습니다.
BSG가 사용되도록 설정되면 보안 서버 또는 Horizon Connection Server의 BSG를 통해 Horizon Client 디바이스에서 Linux 데스크톱으로의 클라이언트 연결이 설정됩니다. BSG가 활성화되지 않으면 Horizon Client 디바이스에서 Linux 데스크톱으로 직접 연결이 설정됩니다.
Linux 가상 시스템에서 사용하는 Linux 계정 확인
계정 이름 및 계정 유형에는 Linux 가상 시스템에서 사용되는 계정 이름 및 계정 유형이 표시됩니다.
계정 이름 | 계정 유형 | 사용자 |
---|---|---|
루트 | Linux OS 내장 | Java Standalone Agent, mksvchanserver, 셸 스크립트 |
vmwblast | Linux Agent 설치 관리자에서 생성 | VMwareBlastServer |
<현재 로그인 사용자> | Linux OS 내장 또는 AD 사용자 또는 LDAP 사용자 | Python 스크립트 |
데스크톱 환경
Linux 배포 | 기본 데스크톱 환경 | Horizon 7 for Linux 데스크톱에서 지원되는 데스크톱 환경 |
---|---|---|
Ubuntu 18.04/20.04 | Gnome | Gnome Ubuntu, KDE(K Desktop Environment), MATE |
Ubuntu 16.04 | Unity | Gnome Flashback(Metacity), KDE, MATE |
RHEL/CentOS 6.x | Gnome | Gnome, KDE |
RHEL/CentOS 7.x | Gnome | Gnome, KDE |
RHEL/CentOS 8.x | Gnome | Gnome |
SLED 12 SP1/SP2/SP3 | Gnome | Gnome |
SLES 12 SP1/SP2/SP3/SP5 | Gnome | Gnome |
NeoKylin 6 Update 1 | Mate | Mate |
RHEL/CentOS 7.x 및 Ubuntu 20.04/18.04/16.04 배포를 사용할 경우 SSO는 잠긴 KDE 세션의 잠금을 해제하지 못합니다. 잠긴 세션의 잠금을 해제하려면 암호를 직접 입력해야 합니다.
- 기본 데스크톱 환경 설정을 사용하여 지원되는 Linux 배포의 운영 체제를 설치합니다.
- 특정 Linux 배포를 위해 데스크톱 환경을 설치하는 명령의 해당 명령을 실행합니다.
표 6. 데스크톱 환경을 설치하는 명령 Linux 배포 새 기본 데스크톱 환경 기본 데스크톱 환경을 변경하는 명령 RHEL/CentOS 6.x KDE # yum groupinstall "X Window System" "KDE Desktop"
RHEL/CentOS 7.x KDE # yum groupinstall "KDE Plasma Workspaces"
Ubuntu 20.04/18.04/16.04 KDE # apt install plasma-desktop
Ubuntu 20.04/18.04 MATE # apt install ubuntu-mate-desktop
Ubuntu 16.04 MATE # apt-add-repository ppa:ubuntu-mate-dev/xenial-mate # apt update # apt upgrade # apt install mate # apt install ubuntu-mate-themes
Ubuntu 16.04 Gnome Flashback(Metacity) # apt install gnome-session-flashback
- 새 기본 데스크톱 환경을 사용하려면 데스크톱을 다시 시작합니다.
- Ubuntu 20.04/18.04/16.04 및 RHEL/CentOS 7.x의 경우 SSODesktopType 옵션의 정보를 사용하여 SSO와 함께 사용할 데스크톱 환경을 지정하도록 /etc/vmware/viewagent-custom.conf 파일의 SSODesktopType 옵션을 설정합니다.
표 7. SSODesktopType 옵션 데스크톱 유형 SSODesktopType 옵션 설정 MATE SSODesktopType=UseMATE GnomeUbuntu SSODesktopType=UseGnomeUbuntu GnomeFlashback SSODesktopType=UseGnomeFlashback KDE SSODesktopType=UseKdePlasma GnomeClassic SSODEsktopType=UseGnomeClassic - RHEL/CentOS 6.x의 경우 SSO 로그인 세션에서 KDE를 사용하도록 하려면 /usr/share/xsession 디렉토리에서 KDE 시작 파일을 제외한 모든 데스크톱 시작 파일을 제거합니다. 다음 명령 집합을 예로 사용합니다.
# cd /usr/share/xsessions # mkdir backup # mv *.desktop backup # mv backup/kde*.desktop ./
초기 설정 후에 최종 사용자는 Linux 데스크톱에서 로그아웃하거나 데스크톱을 재부팅하여 KDE를 다음 SSO 세션의 기본 데스크톱으로 지정해야 합니다. - RHEL/CentOS 8.x의 경우 SSO 로그인 세션에서 Gnome Classic을 사용하도록 하려면 /usr/share/xsession 디렉토리에서 Gnome Classic 시작 파일을 제외한 모든 데스크톱 시작 파일을 제거합니다. 다음 명령 집합을 예로 사용합니다.
# cd /usr/share/xsessions # mkdir backup # mv *.desktop backup # mv backup/gnome-classic.desktop ./
초기 설정 후에 최종 사용자는 Linux 데스크톱에서 로그아웃하거나 데스크톱을 재부팅하여 Gnome Classic을 다음 SSO 세션의 기본 데스크톱으로 지정해야 합니다.
여러 데스크톱 환경이 설치되어 있는 Linux 데스크톱에서 SSO를 사용하지 않도록 설정한 경우 이전에 설명된 단계를 수행할 필요가 없습니다. 최종 사용자는 해당 Linux 데스크톱에 로그인할 때 원하는 데스크톱 환경을 선택해야 합니다.
네트워크 요구 사항
- LAN(Local Area Network) 환경에서와 같이 네트워크 상태가 양호한 경우에는 TCP를 선택합니다.
- 패킷 손실 및 시간 지연이 발생하는 WAN(Wide Area Network) 환경에서와 같이 네트워크 상태가 좋지 않은 경우에는 UDP를 선택합니다.
- Linux VM에 Wireshark를 다운로드하여 설치합니다.
RHEL/CentOS 6:
sudo yum install wireshark
Ubuntu 20.04/18.04/16.04:sudo apt install tshark
SLED/SLES 12:sudo zypper install wireshark
- VMware Horizon Client를 사용하여 Linux 데스크톱에 연결합니다.
- 터미널 창을 열고 다음 명령을 실행합니다. 그러면 VMware Blast Extreme에서 사용되는 TCP 패키지 또는 UDP 패키지가 표시됩니다.
sudo tshark -i any | grep 22443
- 원격 파일 복사가 느려질 수 있습니다. 이 상황에서는 대신 더 작은 크기의 파일을 전송합니다.
- USB 디바이스가 원격 Linux 데스크톱에 나타나지 않습니다.
- USB 데이터가 완전히 전송되지 않습니다. 예를 들어 큰 파일을 복사하는 경우 파일 크기가 원본 파일보다 더 작아질 수 있습니다.
USB 리디렉션용 VHCI 드라이버
USB 리디렉션 기능은 USB VHCI(Virtual Host Controller Interface) 커널 드라이버에 따라 달라집니다. USB 3.0 및 USB 리디렉션 기능을 지원하려면 다음 단계를 수행해야 합니다.
- https://sourceforge.net/projects/usb-vhci/files/linux%20kernel%20module/에서 USB VHCI 소스 코드를 다운로드합니다.
- VHCI 드라이버 소스 코드를 컴파일하고 결과 바이너리를 Linux 시스템에 설치하려면 다음 표에 표시된 명령을 사용하여 단계를 따릅니다.
예를 들어 설치 파일 VMware-horizonagent-linux-x86_64-<version>-<build-number>.tar.gz의 압축을 /install_tmp/ 디렉토리 아래에 풀면 full-path_to_patch-file은 /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<buildnumber>/resources/vhci/patch/vhci.patch 이고 사용할 patch 명령은 다음과 같습니다.
# patch -p1 < /install_tmp/VMware-horizonagent-linux-x86_64-<version>-<build-number>/resources/vhci/patch/vhci.patch
Linux 배포 | USB VHCI 드라이버 컴파일 및 설치 단계 |
---|---|
Ubuntu 20.04/18.04 |
|
Ubuntu 16.04 |
VHCI 드라이버를 컴파일하고 설치합니다. # tar -xzvf vhci-hcd-1.15.tar.gz # cd vhci-hcd-1.15 # patch -p1 < "full-path_to_patch-file" # make clean && make && make install |
RHEL/CentOS 6.9/6.10 RHEL/CentOS 7.x RHEL/CentOS 8.x |
|
SLED/SLES 12 SP2
|
|
또한 다음 지침을 준수하십시오.
- Linux 커널이 새 버전으로 변경되면 VHCI 드라이버를 다시 컴파일한 후 다시 설치해야 하지만 Horizon for Linux를 다시 설치할 필요는 없습니다.
- 또한 Ubuntu 20.04/18.04/16.04 시스템에 대한 다음 예시와 비슷한 단계를 사용하여 VHCI 드라이버에 DKMS(Dynamic Kernel Module Support)를 추가할 수 있습니다.
- 커널 헤더를 설치합니다.
# apt install linux-headers-`uname -r`
- 다음 명령을 사용하여 dkms를 설치합니다.
# apt install dkms
- VHCI TAR 파일의 압축을 풀고 패치합니다.
# tar xzvf vhci-hcd-1.15.tar.gz # cd vhci-hcd-1.15 # patch -p1 "<full-path_to_patch-file>" # cd ..
- /usr/src 디렉토리에 압축을 푼 VHCI 소스 파일을 복사합니다.
# cp -r vhci-hcd-1.15 /usr/src/usb-vhci-hcd-1.15
- dkms.conf라는 파일을 생성하고 /usr/src/usb-vhci-hcd-1.15 디렉토리에 배치합니다.
# touch /usr/src/usb-vhci-hcd-1.15/dkms.conf
- 다음 컨텐츠를 dkms.conf 파일에 추가합니다.
PACKAGE_NAME="usb-vhci-hcd" PACKAGE_VERSION=1.15 MAKE_CMD_TMPL="make KVERSION=$kernelver" CLEAN="$MAKE_CMD_TMPL clean" BUILT_MODULE_NAME[0]="usb-vhci-iocifc" DEST_MODULE_LOCATION[0]="/kernel/drivers/usb/host" MAKE[0]="$MAKE_CMD_TMPL" BUILT_MODULE_NAME[1]="usb-vhci-hcd" DEST_MODULE_LOCATION[1]="/kernel/drivers/usb/host" MAKE[1]="$MAKE_CMD_TMPL" AUTOINSTALL="YES"
- dkms에서 이 VHCI 드라이버를 추가합니다.
# dkms add usb-vhci-hcd/1.15
- VHCI 드라이버를 빌드합니다.
# dkms build usb-vhci-hcd/1.15
- VHCI 드라이버를 설치합니다.
# dkms install usb-vhci-hcd/1.15
- 커널 헤더를 설치합니다.