แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V

แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V

แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž“แŸ…แž›แžพ Linux แž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V แž—แŸ’แž›แžถแž˜แŸ— แž‚แžบแž‡แžถแž”แž‘แž–แžทแžŸแŸ„แž’แž“แŸแžŠแŸ‚แž›แž˜แžทแž“แžŸแžผแžœแžŸแŸ’แžšแžฝแž›แž‡แžถแž„แž‡แžถแž˜แžฝแž™แž—แŸ’แž‰แŸ€แžœแž”แž“แŸ’แžแžทแž… Windows-แž˜แŸ‰แžถแžŸแŸŠแžธแž“แŸ” แž˜แžผแž›แž แŸแžแžปแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแžฟแž„แž“แŸแŸ‡แž‚แžบแžแžถ Hyper-V แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แžŠแŸ†แž”แžผแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แž›แžพแž€แžปแŸ†แž–แŸ’แž™แžผแž‘แŸแžšแž›แžพแžแžปแž‘แŸแŸ” แžขแŸ’แž“แž€แž˜แžทแž“แžขแžถแž…แžŠแŸ†แžกแžพแž„แž€แž‰แŸ’แž…แž”แŸ‹ Guest Additions แž แžพแž™แž‘แž‘แžฝแž›แž”แžถแž“แž€แžถแžšแž”แž„แŸ’แž€แžพแž“แž›แŸ’แž”แžฟแž“แž€แŸ’แžšแžถแž แŸ’แžœแžทแž€แžŠแŸ‚แž›แžŠแŸ†แžŽแžพแžšแž€แžถแžš แž€แŸ’แžŠแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹ แžแžแžŠแŸ‚แž›แž”แžถแž“แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€ แž“แžทแž„แžขแžแŸ’แžแž”แŸ’แžšแž™แŸ„แž‡แž“แŸแž•แŸ’แžŸแŸแž„แž‘แŸ€แž แžŠแžผแž…แžŠแŸ‚แž›แžขแŸ’แž“แž€แžขแžถแž…แž’แŸ’แžœแžพแž”แžถแž“แž‡แžถแž˜แžฝแž™ VirtualBox แž“แŸ„แŸ‡แž‘แŸแŸ”

Hyper-V แžแŸ’แž›แžฝแž“แžœแžถแž•แŸ’แžแž›แŸ‹ แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‡แžถแž…แŸ’แžšแžพแž“แŸ” - แžŠแžผแž…แŸ’แž“แŸแŸ‡ แž—แŸ’แž‰แŸ€แžœแžขแžถแž…แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹แžŸแŸแžœแžถแž…แž˜แŸ’แž›แž„แžŸแŸ’แžšแž˜แŸ„แž›แžšแž”แžŸแŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“ (VSS) แž—แŸ’แž‰แŸ€แžœแžขแžถแž…แž•แŸ’แž‰แžพแžŸแž‰แŸ’แž‰แžถแž”แžทแž‘ แž—แŸ’แž‰แŸ€แžœแžขแžถแž…แž’แŸ’แžœแžพแžŸแž˜แž€แžถแž›แž€แž˜แŸ’แž˜แž˜แŸ‰แŸ„แž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž‡แžถแž˜แžฝแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž แžฏแž€แžŸแžถแžšแžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž‡แžถแž˜แžฝแž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž (Copy-VMFile แž“แŸ…แž€แŸ’แž“แžปแž„ PowerShell)แŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž—แŸ’แž‰แŸ€แžœแž˜แžฝแž™แž…แŸ†แž“แžฝแž“ แžŠแŸ‚แž›แž‡แžถแž€แžถแžšแž–แžทแžแžŽแžถแžŸแŸ‹แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž› Windowsแž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธ Virtual Machine Connection (vmconnect.exe) แžšแž”แŸ€แž”แžŸแž˜แŸแž™แžŠแŸ‚แž›แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„แž‚แžบแžขแžถแž…แž”แŸ’แžšแžพแž”แžถแž“ แžŠแŸ„แž™แž’แŸ’แžœแžพแž€แžถแžšแžแžถแž˜แžšแž™แŸˆแž–แžทแž’แžธแž€แžถแžš RDP แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แž•แŸ’แž‘แŸแžšแžงแž”แž€แžšแžŽแŸแžแžถแžŸ แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž แž€แŸแžŠแžผแž…แž‡แžถแž”แŸ’แžšแžพแž€แŸ’แžŠแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹แžŠแŸ‚แž›แž”แžถแž“แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แŸ”

แžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž—แŸ’แž›แžถแž˜แŸ— Windows แž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V แž—แŸ’แž›แžถแž˜แŸ—แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแžŠแŸ†แžกแžพแž„แžšแžฝแž…แŸ” แž‡แžถแž˜แžฝแž™แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž›แžพ Linux แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแžŠแŸ†แžกแžพแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ RDP แžŠแŸ‚แž›แž‚แžถแŸ†แž‘แŸ’แžš vsock (แž€แž“แŸ’แž›แŸ‚แž„แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“แž”แžŽแŸ’แžแžถแž‰แž“แžทแž˜แŸ’แž˜แžทแžแž–แžทแžŸแŸแžŸแž˜แžฝแž™แž“แŸ…แž€แŸ’แž“แžปแž„ LinuxแžแŸ’แžšแžผแžœแž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แžŠแžพแž˜แŸ’แž”แžธแž‘แŸ†แž“แžถแž€แŸ‹แž‘แŸ†แž“แž„แž‡แžถแž˜แžฝแž™ hypervisor)แŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹ Ubuntu แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธ VMCreate แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™ Hyper-V แž“แŸ…แž›แžพแž€แŸ†แžŽแŸ‚แž•แŸ’แž‘แŸƒแžแžป Windowsแž˜แžถแž“แž‚แŸ†แžšแžผแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž–แžทแžŸแŸแžŸแž˜แžฝแž™แžŠแŸ‚แž›แž”แžถแž“แžšแŸ€แž”แž…แŸ†แžกแžพแž„ แžŠแŸ‚แž›แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ RDP แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž‡แžถแž˜แžฝแž™ vsock XRDP แž”แžถแž“แžŠแŸ†แžกแžพแž„แž‡แžถแž˜แžปแž“แžšแžฝแž…แž แžพแž™ แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž…แŸ‚แž€แž…แžถแž™แž•แŸ’แžŸแŸแž„แž‘แŸ€แž แžœแžถแž€แžถแž“แŸ‹แžแŸ‚แž…แŸ’แž”แžถแžŸแŸ‹แžแžทแž…แž‘แŸ…แŸ— - แžงแž‘แžถแž แžšแžŽแŸ แžขแŸ’แž“แž€แž“แžทแž–แž“แŸ’แž’ แž”แŸ’แžšแž€แžถแžŸแž“แŸแŸ‡แŸ” แž™แžพแž„แž”แžถแž“แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŠแžพแž˜แŸ’แž”แžธแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžš ESM แž“แŸ…แž€แŸ’แž“แžปแž„ FedoraแŸ” แž“แŸ…แž‘แžธแž“แŸแŸ‡แž™แžพแž„แž€แŸแž’แŸ’แžœแžพแžฑแŸ’แž™แžšแž”แŸ€แž” Enhanced Session Mode แžŸแž€แž˜แŸ’แž˜แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแž Arch แž•แž„แžŠแŸ‚แžšแŸ” Linux.

แž€แžถแžšแžŠแŸ†แžกแžพแž„แžŸแŸแžœแžถแž€แž˜แŸ’แž˜แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›

แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แž‚แžบแžŸแžถแž˜แž‰แŸ’แž‰แž…แŸ’แžšแžพแž“แžฌแžแžทแž…แž“แŸ…แž‘แžธแž“แŸแŸ‡ แž™แžพแž„แž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แžแŸ’แžšแžผแžœแž€แžถแžšแžŠแŸ†แžกแžพแž„แž€แž‰แŸ’แž…แž”แŸ‹ hyperv แž–แžธแžƒแŸ’แž›แžถแŸ†แž„แžŸแž แž‚แž˜แž“แŸแŸ–

% sudo pacman -S hyperv

แžแŸ„แŸ‡แž”แžพแž€ VSS แž“แžทแž„แžŸแŸแžœแžถแž”แŸ’แžแžผแžšแž”แŸ’แžšแžถแž€แŸ‹ แž‘แžทแž“แŸ’แž“แž“แŸแž™แž˜แŸแžแžถ แž“แžทแž„แžฏแž€แžŸแžถแžšแŸ–

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

แž€แžถแžšแžŠแŸ†แžกแžพแž„ XRDP

แžƒแŸ’แž›แžถแŸ†แž„ linux-vm-แžงแž”แž€แžšแžŽแŸ แž•แŸ’แžแž›แŸ‹แž“แžผแžœแžŸแŸ’แž‚แŸ’แžšแžธแž”แž“แŸ…แž›แžพ GitHub แžŠแŸ‚แž›แž’แŸ’แžœแžพแžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแž€แž˜แŸ’แž˜แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž“แŸƒแž€แžถแžšแžŠแŸ†แžกแžพแž„ แž“แžทแž„แž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ XRDP แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux ะธ Ubuntuแž…แžผแžšแž™แžพแž„แžŠแŸ†แžกแžพแž„ Git แž”แŸ’แžšแžŸแžทแž“แž”แžพแžœแžถแž˜แžทแž“แž‘แžถแž“แŸ‹แž”แžถแž“แžŠแŸ†แžกแžพแž„ แžšแžฝแž˜แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž„แŸ’แž€แžพแžแžŠแŸ„แž™แžŠแŸƒ แž แžพแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž€แŸ’แž›แžผแž“แžƒแŸ’แž›แžถแŸ†แž„แŸ–

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

แž“แŸ…แž–แŸแž›แžŸแžšแžŸแŸแžšแžขแžแŸ’แžแž”แž‘แž“แŸแŸ‡ แž€แžถแžšแž…แŸแž‰แž•แŸ’แžŸแžถแž™แž…แžปแž„แž€แŸ’แžšแŸ„แž™แž“แŸƒ XRDP แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ†แžกแžพแž„แžŠแŸ„แž™แžŸแŸ’แž‚แŸ’แžšแžธแž” makepkg.shแž˜แžฝแž™แžŠแŸ‚แž›แž”แžถแž“แžŸแŸ’แž“แžพแž“แŸ…แž€แŸ’แž“แžปแž„แžƒแŸ’แž›แžถแŸ†แž„แž‚แžบ 0.9.11, แžŠแŸ‚แž›แž€แžถแžšแž‰แŸ‚แž€แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ†แž”แŸ‚แž€ vsock://-แžขแžถแžŸแž™แžŠแŸ’แž‹แžถแž“ แžŠแžผแž…แŸ’แž“แŸแŸ‡แžขแŸ’แž“แž€แž“แžนแž„แžแŸ’แžšแžผแžœแžŠแŸ†แžกแžพแž„ XRDP แž–แžธ Git แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž”แž‰แŸ’แž‡แžถ Xorg แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžœแžถแž–แžธ AUR แžŠแŸ„แž™แžŠแŸƒแŸ” แž”แŸ†แžŽแŸ‡ XRDP แžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แž‡แžผแž“แž€แŸ’แž“แžปแž„ AUR แž€แŸแž แžฝแžŸแžŸแž˜แŸแž™แž”แž“แŸ’แžแžทแž…แžŠแŸ‚แžš แžŠแžผแž…แŸ’แž“แŸแŸ‡แžขแŸ’แž“แž€แž“แžนแž„แžแŸ’แžšแžผแžœแž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž› PKGBUILD แž“แžทแž„แž”แŸ†แžŽแŸ‡แžŠแŸ„แž™แžŠแŸƒแŸ”

แžแŸ„แŸ‡แž€แŸ’แž›แžผแž“แžƒแŸ’แž›แžถแŸ†แž„แž‡แžถแž˜แžฝแž™ PKGBUILDs แž–แžธ AUR (แž‡แžถแž’แž˜แŸ’แž˜แžแžถ แž“แžธแžแžทแžœแžทแž’แžธแž“แŸแŸ‡ แžšแžฝแž˜แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž”แž„แŸ’แž€แžพแž แž‚แžบแžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแžŠแŸ„แž™แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแžผแž…แž‡แžถ yayแž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ’แž“แž€แž“แžทแž–แž“แŸ’แž’แž”แžถแž“แž’แŸ’แžœแžพแž“แžธแžแžทแžœแžทแž’แžธแž‘แžถแŸ†แž„แž˜แžผแž›แž“แŸแŸ‡แž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžŸแŸ’แžขแžถแž):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

แžแŸ„แŸ‡แžŠแŸ†แžกแžพแž„ XRDP แžแŸ’แž›แžฝแž“แžฏแž„แž‡แžถแž˜แžปแž“แžŸแžทแž“แŸ” แžแŸ„แŸ‡แž”แžพแž€แžฏแž€แžŸแžถแžš PKGBUILD แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž“แžทแž–แž“แŸ’แž’แžขแžแŸ’แžแž”แž‘แžŽแžถแž˜แžฝแž™แŸ”

แžแŸ„แŸ‡แž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž›แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžŸแžถแž„แžŸแž„แŸ‹แŸ” PKGBUILD แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž€แžŸแžถแž„ XRDP แž–แžธ Git แž˜แžทแž“แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž€แžถแžšแž‚แžถแŸ†แž‘แŸ’แžš vsock แž“แŸ…แž–แŸแž›แžŸแžถแž„แžŸแž„แŸ‹แž‘แŸ แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŸแžผแž˜แž”แžพแž€แžœแžถแžŠแŸ„แž™แžแŸ’แž›แžฝแž“แžฏแž„แŸ–

 build() {
   cd $pkgname
   ./configure --prefix=/usr 
               --sysconfdir=/etc 
               --localstatedir=/var 
               --sbindir=/usr/bin 
               --with-systemdsystemdunitdir=/usr/lib/systemd/system 
               --enable-jpeg 
               --enable-tjpeg 
               --enable-fuse 
               --enable-opus 
               --enable-rfxcodec 
               --enable-mp3lame 
-              --enable-pixman
+              --enable-pixman 
+              --enable-vsock
   make V=0
 }

แž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ†แžŽแŸ‡ arch-config.diffแžฏแž€แžแžถแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„ แž“แžทแž„แžŸแŸ’แž‚แŸ’แžšแžธแž”แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜ XRDP แž“แŸ…แž€แŸ’แžšแŸ„แž˜แž•แŸ’แž›แžผแžœแžฏแž€แžŸแžถแžšแžŠแŸ‚แž›แž”แŸ’แžšแžพแž€แŸ’แž“แžปแž„ Arch Linuxแž˜แžถแž“แž”แŸ†แžŽแŸ‡แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžŸแŸ’แž‚แŸ’แžšแžธแž” instfiles/xrdp.shแžŠแŸ‚แž›แž“แŸ…แž–แŸแž›แžŸแžšแžŸแŸแžš แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแž€แž…แŸแž‰ แž–แžธแž€แžถแžšแž…แŸ‚แž€แž…แžถแž™ XRDP แžŠแžผแž…แŸ’แž“แŸแŸ‡แž”แŸ†แžŽแŸ‡แž“แžนแž„แžแŸ’แžšแžผแžœแž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž›แžŠแŸ„แž™แžŠแŸƒแŸ–

  [Install]
  WantedBy=multi-user.target
-diff -up src/xrdp-devel-git/instfiles/xrdp.sh.orig src/xrdp-devel-git/instfiles/xrdp.sh
---- src/xrdp-devel-git/instfiles/xrdp.sh.orig  2017-08-30 00:27:28.000000000 -0600
-+++ src/xrdp-devel-git/instfiles/xrdp.sh   2017-08-30 00:28:00.000000000 -0600
-@@ -17,7 +17,7 @@
- # Description: starts xrdp
- ### END INIT INFO
- 
--SBINDIR=/usr/local/sbin
-+SBINDIR=/usr/bin
- LOG=/dev/null
- CFGDIR=/etc/xrdp
- 
 diff -up src/xrdp-devel-git/sesman/startwm.sh.orig src/xrdp-devel-git/sesman/startwm.sh
 --- src/xrdp-devel-git/sesman/startwm.sh.orig  2017-08-30 00:27:30.000000000 -0600

แž…แžผแžšแž™แžพแž„แž…แž„แž€แŸ’แžšแž„ แž“แžทแž„แžŠแŸ†แžกแžพแž„แž€แž‰แŸ’แž…แž”แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ % makepkg --skipchecksums -si (แž‚แž“แŸ’แž›แžนแŸ‡ --skipchecksums แžแŸ’แžšแžผแžœแž€แžถแžšแžŠแžพแž˜แŸ’แž”แžธแž”แžทแž‘แž€แžถแžšแž•แŸ’แž‘แŸ€แž„แž•แŸ’แž‘แžถแžแŸ‹ checksum แž“แŸƒแžฏแž€แžŸแžถแžšแž”แŸ’แžšแž—แž– แž…แžถแž”แŸ‹แžแžถแŸ†แž„แž–แžธแž™แžพแž„แž”แžถแž“แž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž›แž–แžฝแž€แžœแžถแžŠแŸ„แž™แžŠแŸƒ)แŸ”

แžแŸ„แŸ‡แž‘แŸ…แžแž xorgxrdp-devel-gitแž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž“แŸ„แŸ‡แž™แžพแž„แž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แž”แŸ’แžšแž˜แžผแž›แž•แŸ’แžแžปแŸ†แž€แž‰แŸ’แž…แž”แŸ‹แž‡แžถแž˜แžฝแž™แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถ % makepkg -si.

แžแŸ„แŸ‡แž‘แŸ…แžแž linux-vm-tools/arch แž แžพแž™แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸ’แž‚แŸ’แžšแžธแž” install-config.shแžŠแŸ‚แž›แž€แŸ†แžŽแžแŸ‹แž€แžถแžšแž€แŸ†แžŽแžแŸ‹ XRDP, PolicyKit แž“แžทแž„ PAMแŸ–

% sudo ./install-config.sh

แžŸแŸ’แž‚แŸ’แžšแžธแž”แžŠแŸ†แžกแžพแž„แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แž…แžถแžŸแŸ‹ use_vsockแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž˜แžทแž“แžขแžพแž–แžพแž…แžถแž”แŸ‹แžแžถแŸ†แž„แž–แžธแž€แŸ†แžŽแŸ‚ 0.9.11 แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŸแžผแž˜แž€แŸ‚แžŸแž˜แŸ’แžšแžฝแž›แžฏแž€แžŸแžถแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’ /etc/xrdp/xrdp.ini แžŠแŸ„แž™แžŠแŸƒแŸ–

 ;   port=vsock://<cid>:<port>
-port=3389
+port=vsock://-1:3389

 ; 'port' above should be connected to with vsock instead of tcp
 ; use this only with number alone in port above
 ; prefer use vsock://<cid>:<port> above
-use_vsock=true
+;use_vsock=true

 ; regulate if the listening socket use socket option tcp_nodelay

แž”แž“แŸ’แžแŸ‚แž˜แž‘แŸ…แžฏแž€แžŸแžถแžš ~/.xinitrc แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž”แž„แŸ’แžขแžฝแž…/แž•แŸ’แž‘แŸƒแžแžปแžŠแŸ‚แž›แžขแŸ’แž“แž€แž–แŸแž‰แž…แžทแžแŸ’แž แžŠแŸ‚แž›แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ X แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แŸ–

% echo "exec i3" > ~/.xinitrc

แžแŸ„แŸ‡แž”แžทแž‘แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแŸ” แž™แžพแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžถแžšแžŠแžนแž€แž‡แž‰แŸ’แž‡แžผแž“ vsock แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแžŠแŸ„แž™แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแžแžถแž„แž€แŸ’แžšแŸ„แž˜แž“แŸ…แž€แŸ’แž“แžปแž„ PowerShell แž‡แžถแžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แŸ–

PS Admin > Set-VM -VMName ะะะ—ะ’ะะะ˜ะ•_ะœะะจะ˜ะะซ -EnhancedSessionTransportType HvSocket

แžแŸ„แŸ‡แž”แžพแž€แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแž˜แŸ’แžแž„แž‘แŸ€แžแŸ”

แžŸแžผแž˜แž˜แžพแž›

แžŠแžšแžถแž”แžŽแžถแžŸแŸแžœแžถแž€แž˜แŸ’แž˜ XRDP แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž”แž“แŸ’แž‘แžถแž”แŸ‹แž–แžธแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜ แž€แž˜แŸ’แž˜แžœแžทแž’แžธ vmconnect แž“แžนแž„แžšแž€แžƒแžพแž‰แžœแžถ แž แžพแž™แž’แžถแžแžปแž“แžนแž„แž˜แžถแž“แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžบแž“แžปแž™ View -> แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แŸ’แžšแžŸแžพแžšแžกแžพแž„. แž“แŸ…แž–แŸแž›แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแž’แžถแžแžปแž“แŸแŸ‡ แž™แžพแž„แž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž‡แž˜แŸ’แžšแžปแž‰แžฑแŸ’แž™แž€แŸ†แžŽแžแŸ‹แž‚แžปแžŽแž—แžถแž–แž”แž„แŸ’แž แžถแž‰แžขแŸแž€แŸ’แžšแž„แŸ‹ แž“แžทแž„แž“แŸ…แž›แžพแž•แŸ’แž‘แžถแŸ†แž„ แž’แž“แž’แžถแž“แž€แŸ’แž“แžปแž„แžŸแŸ’แžšแžปแž€ แž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแžขแž”แŸ‹แžŠแŸ‚แž›แž”แžพแž€ แžขแŸ’แž“แž€แžขแžถแž…แž‡แŸ’แžšแžพแžŸแžšแžพแžŸแžงแž”แž€แžšแžŽแŸแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แž‰แŸ’แž‡แžผแž“แž”แž“แŸ’แžแž‘แŸ…แž€แŸ’แž“แžปแž„แžœแž‚แŸ’แž‚ RDPแŸ”

แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V
แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V

แžแŸ„แŸ‡แž—แŸ’แž‡แžถแž”แŸ‹แŸ” แž™แžพแž„แž“แžนแž„แžƒแžพแž‰แž”แž„แŸ’แžขแžฝแž…แž…แžผแž› XRDPแŸ–

แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V

แž”แž‰แŸ’แž…แžผแž›แžˆแŸ’แž˜แŸ„แŸ‡แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แž“แžทแž„แž–แžถแž€แŸ’แž™แžŸแž˜แŸ’แž„แžถแžแŸ‹แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แŸ”

แž”แŸ’แžšแžพ

แžขแžแŸ’แžแž”แŸ’แžšแž™แŸ„แž‡แž“แŸแž–แžธแžงแž”แžถแž™แž€แž›แž‘แžถแŸ†แž„แž“แŸแŸ‡แž‚แžบแžขแžถแž…แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แž”แžถแž“แŸ– แžŸแž˜แŸแž™ RDP แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แžถแž“แŸ‹แžแŸ‚แž†แŸ’แž›แžพแž™แžแž”แž‡แžถแž„แž–แŸแž›แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แž€แžถแžšแž”แž„แŸ’แž แžถแž‰แž“แžทแž˜แŸ’แž˜แžทแžแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แžœแž‚แŸ’แž‚ Enhanced Session แŸ” แžแžถแžŸแžŠแŸ‚แž›แž”แžถแž“แž‘แž˜แŸ’แž›แžถแž€แŸ‹แž“แŸ…แžแžถแž„แž€แŸ’แž“แžปแž„ VM แžแžถแž˜แžšแž™แŸˆ RDP แž˜แžถแž“แž“แŸ…แž€แŸ’แž“แžปแž„แžแž ${HOME}/shared-drives:

แž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžšแž”แŸ€แž”แžœแž‚แŸ’แž‚แžŠแŸ‚แž›แž”แžถแž“แž”แž„แŸ’แž€แžพแž“แž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Arch Linux-แž—แŸ’แž‰แŸ€แžœแž“แŸ…แž€แŸ’แž“แžปแž„ Hyper-V

แž€แŸ’แžแžถแžšแžแž˜แŸ’แž”แŸ€แžแžแŸ’แž‘แžถแžŸแŸ‹แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž›แŸ’แžขแŸ” แžขแŸ’แž“แž€โ€‹แž˜แžทแž“โ€‹แžขแžถแž…โ€‹แž”แž‰แŸ’แž‡แžผแž“โ€‹แž˜แŸ‰แžถแžŸแŸŠแžธแž“โ€‹แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–โ€‹แž‘แŸ…โ€‹แžแžถแž„โ€‹แž€แŸ’แž“แžปแž„โ€‹แž”แžถแž“โ€‹แž‘แŸ แžœแžถโ€‹แž˜แžทแž“โ€‹แžแŸ’แžšแžนแž˜โ€‹แžแŸ‚โ€‹แž˜แžทแž“โ€‹แžขแžถแž…โ€‹แž”แŸ’แžšแžพโ€‹แž”แžถแž“โ€‹แž‘แŸ แž”แŸ‰แžปแž“แŸ’แžแŸ‚โ€‹แž€แŸโ€‹แž˜แžถแž“โ€‹แžŠแŸ‚แžšแŸ” แž”แŸ†แž”แŸ‚แž€แž€แžถแžšแž”แž‰แŸ’แž‡แžผแž“แž”แž“แŸ’แžแžŒแžธแžŸ. แžŸแŸ†แžกแŸแž„แž€แŸแž˜แžทแž“แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ‚แžš แž”แŸ‰แžปแž“แŸ’แžแŸ‚แžขแŸ’แž“แž€แž“แžทแž–แž“แŸ’แž’แž˜แžทแž“แžแŸ’แžšแžผแžœแž€แžถแžšแž“แŸแŸ‡แž‘แŸแŸ” แžŠแžพแž˜แŸ’แž”แžธแž…แžถแž”แŸ‹แž™แž€แž•แŸ’แž›แžผแžœแž€แžถแžแŸ‹แž€แŸ’แžแžถแžšแž…แžปแž…แžŠแžผแž…แž‡แžถ Alt+Tab แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž–แž„แŸ’แžšแžธแž€ vmconnect แž‘แŸ…แž–แŸแž‰แžขแŸแž€แŸ’แžšแž„แŸ‹แŸ”

แž”แŸ’แžšแžŸแžทแž“แž”แžพแžŠแŸ„แž™แž แŸแžแžปแž•แž›แžŽแžถแž˜แžฝแž™แžŠแŸ‚แž›แžขแŸ’แž“แž€แž…แž„แŸ‹แž”แŸ’แžšแžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธ vmconnect แžŠแŸ‚แž›แž—แŸ’แž‡แžถแž”แŸ‹แž˜แž€แž‡แžถแž˜แžฝแž™แž‡แŸ†แž“แžฝแžŸแžฑแŸ’แž™ Windows แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž—แŸ’แž‰แŸ€แžœ RDP แžฌแžงแž‘แžถแž แžšแžŽแŸ แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แŸแŸ‡แž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž•แŸ’แžŸแŸแž„แž‘แŸ€แž แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžขแŸ’แž“แž€แž“แžนแž„แžแŸ’แžšแžผแžœแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžฏแž€แžŸแžถแžš /etc/xrdp/xrdp.ini port แž“แŸ…แž›แžพ tcp://:3389. แž”แŸ’แžšแžŸแžทแž“แž”แžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แžทแž˜แŸ’แž˜แžทแžแžแŸ’แžšแžผแžœแž”แžถแž“แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ… Default Switch แž แžพแž™แž‘แž‘แžฝแž›แž”แžถแž“แž€แžถแžšแž€แŸ†แžŽแžแŸ‹แž”แžŽแŸ’แžแžถแž‰แžแžถแž˜แžšแž™แŸˆ DHCP แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžขแŸ’แž“แž€แžขแžถแž…แž—แŸ’แž‡แžถแž”แŸ‹แž‘แŸ…แžœแžถแž–แžธแž˜แŸ‰แžถแžŸแŸŠแžธแž“แž“แŸ… ะฝะฐะทะฒะฐะฝะธะต_ะผะฐัˆะธะฝั‹.mshome.net. แžขแŸ’แž“แž€แžขแžถแž…แž…แžผแž›แž‘แŸ… TTY แž–แžธแž€แž˜แŸ’แž˜แžœแžทแž’แžธ vmconnect แžŠแŸ„แž™แž”แžทแž‘แž˜แžปแžแž„แžถแžš Enhanced ModeแŸ”

แž”แŸ’แžšแž—แž–แžŠแŸ‚แž›แž”แžถแž“แž”แŸ’แžšแžพ:

  1. Hyper-V - Arch Wiki
  2. แžšแž”แžถแž™แž€แžถแžšแžŽแŸแž€แŸ†แž แžปแžŸแž“แŸ…แž›แžพ GitHubแŸ– 1, 2

แž”แŸ’แžšแž—แž–: www.habr.com

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster