рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рд╣рд╛рдЗрдкрд░-рд╡реА рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд┐рдВрдбреЛрдЬ рдЧреЗрд╕реНрдЯ рдорд╢реАрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдо рдЖрд░рд╛рдорджрд╛рдпрдХ рдЕрдиреБрднрд╡ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рд╣рд╛рдЗрдкрд░-рд╡реА рдореВрд▓ рд░реВрдк рд╕реЗ рдбреЗрд╕реНрдХрдЯреЙрдк рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдерд╛; рдЖрдк рдХреЗрд╡рд▓ рдЕрддрд┐рдерд┐ рдкрд░рд┐рд╡рд░реНрдзрди рдХрд╛ рдПрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рддреНрд╡рд░рдг, рдПрдХ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб, рд╕рд╛рдЭрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдПрдВ рдФрд░ рдЬреАрд╡рди рдХреА рдЕрдиреНрдп рдЦреБрд╢рд┐рдпрд╛рдБ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рд╣рд╛рдЗрдкрд░-V рд╕реНрд╡рдпрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдХрдИ рдПрдХреАрдХрд░рдг рд╕реЗрд╡рд╛рдПрдБ - рдЗрд╕рд▓рд┐рдП, рдореЗрд╣рдорд╛рди рд╣реЛрд╕реНрдЯ рдХреА рдЫрд╛рдпрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд╕реЗрд╡рд╛ (рд╡реАрдПрд╕рдПрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрд╣рдорд╛рди рд╢рдЯрдбрд╛рдЙрди рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрд╣рдорд╛рди рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╣реЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рд╕рд┐рд╕реНрдЯрдо рд╕рдордп рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реЛрд╕реНрдЯ рд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (Copy-VMFile рдкрд╛рд╡рд░рд╢реЗрд▓ рдореЗрдВ)ред рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрдиреЗрдХреНрд╢рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд╣рд┐рдд рдХреБрдЫ рдЕрддрд┐рдерд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП (vmconnect.exe) рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬреЛ рдЖрд░рдбреАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдФрд░ рдкреНрд░рд┐рдВрдЯрд░ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХ рд╕рд╛рдЭрд╛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдПрдХ рдЖрд░рдбреАрдкреА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ vsock (рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЪреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рд╣рд╛рдЗрдкрд░-рд╡реА рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡реАрдПрдордХреНрд░рд┐рдПрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рд╢реЗрд╖ рддреИрдпрд╛рд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЖрд░рдбреАрдкреА рд╕рд░реНрд╡рд░ vsock рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ XRDP рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд, рдлрд┐рд░ рдЕрдиреНрдп рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрдо рдФрд░ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХ рдпреЗ рдкрдж рдореИрдВ рдлреЗрдбреЛрд░рд╛ рдореЗрдВ рдИрдПрд╕рдПрдо рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рдпрд╣рд╛рдВ рд╣рдо рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдиреНрд╣рд╛рдВрд╕реНрдб рд╕реЗрд╢рди рдореЛрдб рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВрдЧреЗред

рдПрдХреАрдХрд░рдг рд╕реЗрд╡рд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрдореЛрдмреЗрд╢ рд╕рд░рд▓ рд╣реИ, рд╣рдореЗрдВ рдмрд╕ рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ hyperv рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рднрдВрдбрд╛рд░ рд╕реЗ:

% sudo pacman -S hyperv

рдЖрдЗрдП рд╡реАрдПрд╕рдПрд╕ рдФрд░ рдПрдХреНрд╕рдЪреЗрдВрдЬ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ рдореЗрдЯрд╛рдбрд╛рдЯрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ:

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

рдПрдХреНрд╕рдЖрд░рдбреАрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдХреЛрд╖ рд▓рд┐рдирдХреНрд╕-рд╡реАрдПрдо-рдЯреВрд▓реНрд╕ GitHub рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдФрд░ рдЙрдмрдВрдЯреВ рдХреЗ рд▓рд┐рдП XRDP рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП 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://-рдкрддреЗ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ Git рд╕реЗ XRDP рдФрд░ AUR рд╕реЗ Xorg рдбреНрд░рд╛рдЗрд╡рд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред 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, рдЬреЛ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдлрд╝рд╛рдЗрд▓ рдкрдереЛрдВ рдХреЗ рддрд╣рдд рдЗрдХрд╛рдЗрдпреЛрдВ рдФрд░ рдПрдХреНрд╕рдЖрд░рдбреАрдкреА рд▓реЙрдиреНрдЪ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдЪ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ 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, рдкреЙрд▓рд┐рд╕реАрдХрд┐рдЯ рдФрд░ 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 рдЕрдкрдирд╛ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░/рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд╛рддрд╛рд╡рд░рдг рд▓реЙрдиреНрдЪ рдХрд░рдирд╛, рдЬрд┐рд╕реЗ рдПрдХреНрд╕ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛:

% echo "exec i3" > ~/.xinitrc

рдЖрдЗрдП рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рд╣рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ PowerShell рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд▓рд┐рдП vsock рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ:

PS Admin > Set-VM -VMName ╨Э╨Р╨Ч╨Т╨Р╨Э╨Ш╨Х_╨Ь╨Р╨и╨Ш╨Э╨л -EnhancedSessionTransportType HvSocket

рдЖрдЗрдП рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд╛рд▓реВ рдХрд░реЗрдВред

╨Я╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╡

рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЬреИрд╕реЗ рд╣реА рдПрдХреНрд╕рдЖрд░рдбреАрдкреА рд╕реЗрд╡рд╛ рд╢реБрд░реВ рд╣реЛрдЧреА, рд╡реАрдПрдордХрдиреЗрдХреНрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрдЧрд╛ рдФрд░ рдЖрдЗрдЯрдо рдореЗрдиреВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рджреЗрдЦреЗрдВ -> рдЙрдиреНрдирдд рд╕рддреНрд░. рдЗрд╕ рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдФрд░ рдЯреИрдм рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕рд╛рдзрди рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╡рд╛рдж рдореЗрдВ, рдЖрдк рдЖрд░рдбреАрдкреА рд╕рддреНрд░ рдореЗрдВ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдЖрдЗрдП рдЬреБрдбрд╝реЗрдВ. рд╣рдо XRDP рд▓реЙрдЧрд┐рди рд╡рд┐рдВрдбреЛ рджреЗрдЦреЗрдВрдЧреЗ:

рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдЕрдкрдирд╛ рдпреВрдЬрд╝рд░рдиреЗрдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░реЗрдВред

рдЙрдкрдпреЛрдЧ

рдЗрди рдЬреЛрдбрд╝рддреЛрдбрд╝реЛрдВ рд╕реЗ рд▓рд╛рдн рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ: рдЖрд░рдбреАрдкреА рд╕рддреНрд░ рдЙрдиреНрдирдд рд╕рддреНрд░ рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрд░рдбреАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реАрдПрдо рдХреЗ рдЕрдВрджрд░ рдЫреЛрдбрд╝реА рдЧрдИ рдбрд┐рд╕реНрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ ${HOME}/shared-drives:

рд╣рд╛рдЗрдкрд░-V рдореЗрдВ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдореЗрд╣рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдиреНрдирдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░реЗрдВ

рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ. рдЖрдк рдкреНрд░рд┐рдВрдЯрд░ рдХреЛ рдЕрдВрджрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ; рдпрд╣ рди рдХреЗрд╡рд▓ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рднреА рд╣реИ рдбрд┐рд╕реНрдХ рдЕрдЧреНрд░реЗрд╖рдг рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ. рдзреНрд╡рдирд┐ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред Alt+Tab рдЬреИрд╕реЗ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ vmconnect рдХреЛ рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рддрдХ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк vmconnect рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдВрдбреЛрдЬрд╝ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдЖрд░рдбреАрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рд╕реЗ рдЗрд╕ рдорд╢реАрди рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ /etc/xrdp/xrdp.ini port рдкрд░ tcp://:3389. рдпрджрд┐ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдбрд┐рдлреЙрд▓реНрдЯ рд╕реНрд╡рд┐рдЪ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ рдФрд░ рдбреАрдПрдЪрд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡_╨╝╨░╤И╨╕╨╜╤Л.mshome.net. рдЖрдк рдЙрдиреНрдирдд рдореЛрдб рдХреЛ рдмрдВрдж рдХрд░рдХреЗ рдХреЗрд╡рд▓ vmconnect рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ TTY рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛:

  1. рд╣рд╛рдЗрдкрд░-V - рдЖрд░реНрдХ рд╡рд┐рдХреА
  2. GitHub рдкрд░ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ: 1, 2

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ