เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจนเจพเจˆเจชเจฐ-เจตเฉ€ เจตเจฟเฉฑเจš เจฒเฉ€เจจเจ•เจธ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ—เฉˆเจธเจŸ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฎเจธเจผเฉ€เจจเจพเจ‚ เจจเจพเจฒเฉ‹เจ‚ เจ•เฉเจ เจ˜เฉฑเจŸ เจ†เจฐเจพเจฎเจฆเจพเจ‡เจ• เจนเฉˆเฅค เจ‡เจธเจฆเจพ เจ•เจพเจฐเจจ เจ‡เจน เจนเฉˆ เจ•เจฟ เจนเจพเจˆเจชเจฐ-เจตเฉ€ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจกเฉˆเจธเจ•เจŸเจพเจช เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจจเจนเฉ€เจ‚ เจธเฉ€; เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ เจ…เฉฑเจ—เฉ‡ เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ—เฉˆเจธเจŸ เจเจกเฉ€เจธเจผเจจ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฏเฉ‹เจ— เจ—เจฐเจพเจซเจฟเจ•เจธ เจชเฉเจฐเจตเฉ‡เจ—, เจ•เจฒเจฟเฉฑเจชเจฌเฉ‹เจฐเจก, เจธเจผเฉ‡เจ…เจฐเจก เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจœเฉ€เจตเจจ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจ–เฉเจธเจผเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจตเจฐเจšเฉเจ…เจฒ เจฌเจพเจ•เจธ เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจนเจพเจˆเจชเจฐ-เจตเฉ€ เจ–เฉเจฆ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจฎเจฒเจŸเฉ€เจชเจฒ เจเจ•เฉ€เจ•เจฐเจฃ เจธเฉ‡เจตเจพเจตเจพเจ‚ - เจ‡เจธ เจฒเจˆ, เจฎเจนเจฟเจฎเจพเจจ เจนเฉ‹เจธเจŸ เจฆเฉ€ เจธเจผเฉˆเจกเฉ‹ เจ•เจพเจชเฉ€ เจธเฉ‡เจตเจพ (VSS) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจฎเจนเจฟเจฎเจพเจจ เจ‡เฉฑเจ• เจฌเฉฐเจฆ เจธเจฟเจ—เจจเจฒ เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡ เจนเจจ, เจฎเจนเจฟเจฎเจพเจจ เจธเจฟเจธเจŸเจฎ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจตเจฐเจšเฉเจ…เจฒเจพเจˆเจœเฉ‡เจธเจผเจจ เจนเฉ‹เจธเจŸ เจจเจพเจฒ เจธเจฎเจ•เจพเจฒเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ, เจนเฉ‹เจธเจŸ เจคเฉ‹เจ‚ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจจเจพเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจฆเจพเจจ-เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ (Copy-VMFile PowerShell เจตเจฟเฉฑเจš)เฅค เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ (vmconnect.exe) เจเจจเจนเจพเจ‚เจธเจก เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจœเฉ‹ เจ•เจฟ RDP เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฐเจพเจนเฉ€เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจฟเจธเจ• เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจฟเฉฐเจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ 'เจคเฉ‡ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฃ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจธเจพเจ‚เจเฉ‡ เจ•เจฒเจฟเฉฑเจชเจฌเฉ‹เจฐเจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจจเจนเจพเจ‚เจธเจก เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ เจนเจพเจˆเจชเจฐ-เจตเฉ€ เจตเจฟเฉฑเจš เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฆเฉ‡ เจฌเจพเจ•เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจฒเฉ€เจจเจ•เจธ 'เจคเฉ‡ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• RDP เจธเจฐเจตเจฐ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ vsock เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ (เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเจฐเจšเฉเจ…เจฒ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจเจกเจฐเฉˆเฉฑเจธ เจธเจชเฉ‡เจธ เจœเฉ‹ เจนเจพเจˆเจชเจฐเจตเจพเจˆเจœเจผเจฐ เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)เฅค เจœเฉ‡เจ•เจฐ Ubuntu เจฒเจˆ, VMCreate เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจœเฉ‹ เจ•เจฟ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฆเฉ‡ เจกเฉˆเจธเจ•เจŸเจพเจช เจเจกเฉ€เจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจนเจพเจˆเจชเจฐ-V เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ, เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเจฟเจ†เจฐ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• RDP เจธเจฐเจตเจฐ vsock เจจเจพเจฒ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจเจ•เจธเจ†เจฐเจกเฉ€เจชเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจธเจฅเจพเจชเจฟเจค, เจซเจฟเจฐ เจนเฉ‹เจฐ เจตเฉฐเจกเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ‡เจน เจ˜เฉฑเจŸ เจ…เจคเฉ‡ เจ˜เฉฑเจŸ เจธเจชเฉฑเจธเจผเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฒเฉ‡เจ–เจ• เจ‡เจน เจชเฉ‹เจธเจŸ เจ‡เจน เจซเฉ‡เจกเฉ‹เจฐเจพ เจตเจฟเฉฑเจš ESM เจจเฉ‚เฉฐ เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจจเจฟเจ•เจฒเจฟเจ†เฅค เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจฒเจˆ เจเจจเจนเจพเจ‚เจธเจก เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ€ เจธเจฎเจฐเฉฑเจฅ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจเจ•เฉ€เจ•เจฐเจฃ เจธเฉ‡เจตเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ

เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจ˜เฉฑเจŸ เจœเจพเจ‚ เจ˜เฉฑเจŸ เจธเจงเจพเจฐเจจ เจนเฉˆ, เจธเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ hyperv เจ•เจฎเจฟเจŠเจจเจฟเจŸเฉ€ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจคเฉ‹เจ‚:

% sudo pacman -S hyperv

VSS เจธเฉ‡เจตเจพเจตเจพเจ‚, เจเจ•เจธเจšเฉ‡เจ‚เจœ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“ เจฎเฉˆเจŸเจพเจกเจพเจŸเจพ เจ…เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚:

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

XRDP เจธเจฅเจพเจชเจจเจพ

เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ linux-vm-เจŸเฉ‚เจฒ on GitHub เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ†เจฐเจš เจฒเฉ€เจจเจ•เจธ เจ…เจคเฉ‡ เจ‰เจฌเฉฐเจŸเฉ‚ เจฒเจˆ XRDP เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเฉ‚เฉฐ เจธเจตเฉˆเจšเจพเจฒเจค เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ—เจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹, เจœเฉ‡เจ•เจฐ เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจธเจฅเจพเจชเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจฌเจฟเจฒเจกเจพเจ‚ เจฒเจˆ เจนเฉ‹เจฐ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ‡ เจจเจพเจฒ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเฉ‹:

% 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://-เจชเจคเจพ, เจ‡เจธ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ Git เจคเฉ‹เจ‚ XRDP เจ…เจคเฉ‡ Xorg เจกเจฐเจพเจˆเจตเจฐ เจจเฉ‚เฉฐ AUR เจคเฉ‹เจ‚ เจฆเจธเจคเฉ€ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพเฅค AUR เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจ XRDP เจฒเจˆ เจชเฉˆเจš เจตเฉ€ เจฅเฉ‹เฉœเฉเจนเจพ เจชเฉเจฐเจพเจฃเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ PKGBUILD เจ…เจคเฉ‡ เจชเฉˆเจš เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ…เจธเฉ€เจ‚ AUR เจคเฉ‹เจ‚ PKGBUILDs เจจเจพเจฒ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ•เจฒเฉ‹เจจ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†, เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจฆเฉ‡ เจจเจพเจฒ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจธเจตเฉˆเจšเจฒเจฟเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจฏเฉ‡, เจชเจฐ เจฒเฉ‡เจ–เจ• เจจเฉ‡ เจ‡เจน เจธเจพเจฐเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เฉฑเจ• เจธเจพเจซเจผ เจชเฉเจฐเจฃเจพเจฒเฉ€ 'เจคเฉ‡ เจ•เฉ€เจคเฉ€ เจธเฉ€):

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

เจšเจฒเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจ–เฉเจฆ XRDP เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ€เจเฅค เจšเจฒเฉ‹ เจซเจพเจˆเจฒ เจ–เฉ‹เจฒเฉเจนเฉ€เจ PKGBUILD เจ•เฉ‹เจˆ เจตเฉ€ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐเฅค

เจ†เจ“ เจฌเจฟเจฒเจก เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเฉ€เจเฅค Git เจคเฉ‹เจ‚ XRDP เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ PKGBUILD เจตเจฟเฉฑเจš เจฌเจฟเจฒเจก เจตเจฟเฉฑเจš 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 เจธเจŸเจพเจฐเจŸเจ…เฉฑเจช เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจšเฉ€เจœเจผเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเจพ เจ‡เฉฑเจ• เจชเฉˆเจš เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค 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 เจธเจฐเฉ‹เจค เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจšเฉˆเจ•เจธเจฎ เจคเจธเจฆเฉ€เจ• เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆ)เฅค

เจšเจฒเฉ‹ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจ 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

เจ†เจ‰ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเฉ€เจเฅค PowerShell เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉเจฐเจธเจผเจพเจธเจ• เจตเจœเฉ‹เจ‚ เจนเฉ‡เจ  เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพ เจ•เฉ‡ VM เจฒเจˆ vsock เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“:

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

เจ†เจ‰ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจšเจพเจฒเฉ‚ เจ•เจฐเฉ€เจเฅค

เจ•เฉเจจเฉˆเจ•เจธเจผเจจ

เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจธเจฟเจธเจŸเจฎ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ XRDP เจธเฉ‡เจตเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, vmconnect เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ‡เจธ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจฎเฉ€เจจเฉ‚ เจ†เจˆเจŸเจฎ เจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจฆเฉ‡เจ–เฉ‹ -> เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ. เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจ†เจˆเจŸเจฎ เจจเฉ‚เฉฐ เจšเฉเจฃเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉ€เจจ เจฐเฉˆเจœเจผเฉ‹เจฒเจฟเจŠเจธเจผเจจ เจ…เจคเฉ‡ เจŸเฉˆเจฌ 'เจคเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเจพ เจœเจพเจตเฉ‡เจ—เจพ เจธเจฅเจพเจจเจ• เจธเจฐเฉ‹เจค เจ–เฉเฉฑเจฒเจฃ เจตเจพเจฒเฉ‡ เจกเจพเจ‡เจฒเจพเจ— เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ RDP เจธเฉˆเจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเฉ‡ เจ—เจ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉเจฃ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“
เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจ†เจ“ เจœเฉเฉœเฉ€เจเฅค เจ…เจธเฉ€เจ‚ XRDP เจฒเจพเจ—เจ‡เจจ เจตเจฟเฉฐเจกเฉ‹ เจตเฉ‡เจ–เจพเจ‚เจ—เฉ‡:

เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจ†เจชเจฃเจพ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฎ เจ…เจคเฉ‡ เจชเจพเจธเจตเจฐเจก เจฆเจฐเจœ เจ•เจฐเฉ‹เฅค

เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹

เจ‡เจนเจจเจพเจ‚ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฎเฉเจจเจพเจซเจผเจพ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ: เจ†เจฐเจกเฉ€เจชเฉ€ เจธเฉˆเจธเจผเจจ เจเจจเจนเจพเจ‚เจธเจก เจธเฉˆเจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจตเจฐเจšเฉเจ…เจฒ เจกเจฟเจธเจชเจฒเฉ‡ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจœเจตเจพเจฌเจฆเฉ‡เจน เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค VM เจฆเฉ‡ เจ…เฉฐเจฆเจฐ RDP เจฐเจพเจนเฉ€เจ‚ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจกเจฟเจธเจ•เจพเจ‚ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเจจ ${HOME}/shared-drives:

เจนเจพเจˆเจชเจฐ-V เจตเจฟเฉฑเจš เจ†เจฐเจ• เจฒเฉ€เจจเจ•เจธ เจฎเจนเจฟเจฎเจพเจจเจพเจ‚ เจฒเจˆ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจธเฉˆเจธเจผเจจ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“

เจ•เจฒเจฟเฉฑเจชเจฌเฉ‹เจฐเจก เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ เจ…เฉฐเจฆเจฐ เจชเฉเจฐเจฟเฉฐเจŸเจฐ เจจเจนเฉ€เจ‚ เจธเฉเฉฑเจŸ เจธเจ•เจฆเฉ‡, เจ‡เจน เจจเจพ เจธเจฟเจฐเจซเจผ เจธเจฎเจฐเจฅเจฟเจค เจนเฉˆ, เจธเจ—เฉ‹เจ‚ เจ‡เจน เจตเฉ€ เจนเฉˆ เจกเจฟเจธเจ• เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจคเฉ‹เฉœเจฆเจพ เจนเฉˆ. เจ†เจตเจพเจœเจผ เจตเฉ€ เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€, เจชเจฐ เจฒเฉ‡เจ–เจ• เจจเฉ‚เฉฐ เจ‡เจธ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค Alt + Tab เจตเจฐเจ—เฉ‡ เจ•เฉ€เจฌเฉ‹เจฐเจก เจธเจผเจพเจฐเจŸเจ•เฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉˆเจชเจšเจฐ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ vmconnect เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจธเจ•เฉเจฐเฉ€เจจ 'เจคเฉ‡ เจตเจฟเจธเจคเจพเจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ vmconnect เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจฌเจœเจพเจ เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจตเจฟเฉฑเจš เจฌเจฃเฉ‡ RDP เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เฉฑเจ›เจพ เจนเฉˆ เจœเจพเจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฎเจธเจผเฉ€เจจ เจคเฉ‹เจ‚ เจ‡เจธ เจฎเจธเจผเฉ€เจจ เจจเจพเจฒ เจœเฉเฉœเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค /etc/xrdp/xrdp.ini port 'เจคเฉ‡ tcp://:3389. เจœเฉ‡เจ•เจฐ เจตเจฐเจšเฉเจ…เจฒ เจฎเจธเจผเฉ€เจจ เจกเจฟเจซเจพเจฒเจŸ เจธเจตเจฟเฉฑเจš เจจเจพเจฒ เจœเฉเฉœเฉ€ เจนเฉ‹เจˆ เจนเฉˆ เจ…เจคเฉ‡ DHCP เจฐเจพเจนเฉ€เจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจธเจŸ เจคเฉ‹เจ‚ เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹ ะฝะฐะทะฒะฐะฝะธะต_ะผะฐัˆะธะฝั‹.mshome.net. เจคเฉเจธเฉ€เจ‚ เจ‡เจจเจนเจพเจ‚เจธเจก เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจ•เฉ‡ เจธเจฟเจฐเจซ vmconnect เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ TTY เจตเจฟเฉฑเจš เจฒเฉŒเจ—เจ‡เจจ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจตเจฐเจคเฉ‡ เจ—เจ เจธเจฐเฉ‹เจค:

  1. เจนเจพเจˆเจชเจฐ-เจตเฉ€ เจ†เจฐเจ• เจตเจฟเจ•เฉ€
  2. GitHub 'เจคเฉ‡ เจฌเฉฑเจ— เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚: 1, 2

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹