рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛

рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛

рд╡рд┐рдВрдбреЛрдЬ рдЕрддрд┐рдереА рдорд╢реАрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рдордзреНрдпреЗ рд▓рд┐рдирдХреНрд╕ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд╡рд╛рдкрд░рдгреЗ рд╣рд╛ рдереЛрдбрд╛ рдХрдореА рдЖрд░рд╛рдорджрд╛рдпреА рдЕрдиреБрднрд╡ рдЖрд╣реЗ. рдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЕрд╕реЗ рдХреА рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рд╣реЗ рдореВрд│рддрдГ рдбреЗрд╕реНрдХрдЯреЙрдк рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдирд╡реНрд╣рддреЗ; рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рдмреЙрдХреНрд╕рдордзреНрдпреЗ рдЬрд╕реЗ рдШрдбрддреЗ рддрд╕реЗ рддреБрдореНрд╣реА рдЕрддрд┐рдереА рдЬреЛрдбрдгреНрдпрд╛рдВрдЪреЗ рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ рд╢рдХрдд рдирд╛рд╣реА рдЖрдгрд┐ рдлрдВрдХреНрд╢рдирд▓ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╡реЗрдЧ, рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб, рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖрдгрд┐ рдЬреАрд╡рдирд╛рддреАрд▓ рдЗрддрд░ рдЖрдирдВрдж рдорд┐рд│рд╡реВ рд╢рдХрдд рдирд╛рд╣реА.

рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рд╕реНрд╡рддрдГ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рдЕрдиреЗрдХ рдПрдХреАрдХрд░рдг рд╕реЗрд╡рд╛ - рдореНрд╣рдгреВрди, рдЕрддрд┐рдереА рд╣реЛрд╕реНрдЯрдЪреА рдЫрд╛рдпрд╛ рдХреЙрдкреА рд╕реЗрд╡рд╛ (VSS) рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛рдд, рдЕрддрд┐рдереА рд╢рдЯрдбрд╛рдЙрди рд╕рд┐рдЧреНрдирд▓ рдкрд╛рдард╡реВ рд╢рдХрддрд╛рдд, рдЕрддрд┐рдереА рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рд╣реЛрд╕реНрдЯрд╕рд╣ рд╕рд┐рд╕реНрдЯрдо рд╡реЗрд│ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭ рдХрд░реВ рд╢рдХрддрд╛рдд, рд╣реЛрд╕реНрдЯрдХрдбреВрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╕рд╣ рдлрд╛рдЗрд▓реНрд╕рдЪреА рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ (Copy-VMFile PowerShell рдордзреНрдпреЗ). рдХрд╛рд╣реА рдЕрддрд┐рдереА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА, рдЕрд░реНрдерд╛рддрдЪ, рд╡рд┐рдВрдбреЛрдЬрд╕рд╣, рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдХрдиреЗрдХреНрд╢рди рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ (vmconnect.exe) рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдЬреЛ RDP рдкреНрд░реЛрдЯреЛрдХреЙрд▓рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЛ рдЖрдгрд┐ рддреБрдореНрд╣рд╛рд▓рд╛ рдбрд┐рд╕реНрдХ рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ рдЖрдгрд┐ рдкреНрд░рд┐рдВрдЯрд░ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ, рддрд╕реЗрдЪ рд╕рд╛рдорд╛рдпрд┐рдХ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╡рд╛рдкрд░рддреЛ.

рдЗрдиреНтАНрд╣рд╛рдВрд╕реНрдб рд╕реЗрд╢рди рдореЛрдб рдЗрдВрд╕реНтАНрдЯреЙрд▓реЗрд╢рдирдирдВрддрд░ рд▓рдЧреЗрдЪрдЪ рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рдордзреАрд▓ рд╡рд┐рдВрдбреЛрдЬрдордзреАрд▓ рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдХрд╛рдо рдХрд░рддреЛ. Linux рд╡рд░реАрд▓ рдЕрддрд┐рдереАрдВрд╕рд╣, рддреБрдореНрд╣рд╛рд▓рд╛ vsock рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгрд╛рд░рд╛ RDP рд╕рд░реНрд╡реНрд╣рд░ (Linux рдордзреАрд▓ рд╡рд┐рд╢реЗрд╖ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЕреЕрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╡рд┐рдВрдбреЛрдЬрдЪреНрдпрд╛ рдбреЗрд╕реНрдХрдЯреЙрдк рдЖрд╡реГрддреНрддреНрдпрд╛рдВрд╡рд░ рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА рд╕рд╣ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ VMCreate рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рдЙрдмрдВрдЯреВрд╕рд╛рдареА рдЕрд╕рд▓реНрдпрд╛рд╕, рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ vsock рд╕рд╣ рдХрд╛рдо рдХрд░рдгрд╛рд░рд╛ RDP рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ. рдПрдХреНрд╕рдЖрд░рдбреАрдкреА рдЖрдзреАрдЪ рдкреВрд░реНрд╡-рд╕реНрдерд╛рдкрд┐рдд, рдирдВрддрд░ рдЗрддрд░ рд╡рд┐рддрд░рдгрд╛рдВрд╕рд╣ рддреЗ рдХрдореА рдЖрдгрд┐ рдХрдореА рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ - рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд▓реЗрдЦрдХ рд╣реЗ рдкреЛрд╕реНрдЯ рдореА Fedora рдордзреНрдпреЗ 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-tools 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, рдЬреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдлрд╛рдИрд▓ рдкрд╛рде рдЕрдВрддрд░реНрдЧрдд рдпреБрдирд┐рдЯреНрд╕ рдЖрдгрд┐ 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 рдордзреНрдпреЗ рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рдЪрд╛рд▓рд╡реВрди рдЖрднрд╛рд╕реА рдорд╢реАрдирд╕рд╛рдареА vsock рд╡рд╛рд╣рддреВрдХ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЛ:

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

рдЪрд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдкреБрдиреНрд╣рд╛ рдЪрд╛рд▓реВ рдХрд░реВрдпрд╛.

рдкрд╛рдардкреБрд░рд╛рд╡рд╛

рдкреНрд░рдгрд╛рд▓реА рд╕реБрд░реВ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ XRDP рд╕реЗрд╡рд╛ рд╕реБрд░реВ рд╣реЛрддрд╛рдЪ, vmconnect рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реЗ рдУрд│рдЦреЗрд▓ рдЖрдгрд┐ рдЖрдпрдЯрдо рдореЗрдиреВрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдИрд▓. рдкрд╣рд╛ -> рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░. рд╣рд╛ рдЖрдпрдЯрдо рдирд┐рд╡рдбрддрд╛рдирд╛, рдЖрдореНрд╣рд╛рд▓рд╛ рд╕реНрдХреНрд░реАрди рд░рд┐рдЭреЛрд▓реНрдпреВрд╢рди рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЯреЕрдмрд╡рд░ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓ рд╕реНрдерд╛рдирд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЗ рдЙрдШрдбрдгрд╛рд▒реНрдпрд╛ рд╕рдВрд╡рд╛рджрд╛рдордзреНрдпреЗ, рддреБрдореНрд╣реА RDP рд╕рддреНрд░рд╛рдордзреНрдпреЗ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕ рдирд┐рд╡рдбреВ рд╢рдХрддрд╛.

рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛
рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛

рдЪрд▓рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░реВрдпрд╛. рдЖрдкрдг XRDP рд▓реЙрдЧрд┐рди рд╡рд┐рдВрдбреЛ рдкрд╛рд╣реВ:

рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛

рддреБрдордЪреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдЖрдгрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдЯрд╛рдХрд╛.

рд╡рд╛рдкрд░рд╛

рдпрд╛ рд╣рд╛рддрд╛рд│рдгреАрдЪрд╛ рдлрд╛рдпрджрд╛ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рдЬреЛрдЧрд╛ рдЖрд╣реЗ: рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдбрд┐рд╕реНрдкреНрд▓реЗрд╕рд╣ рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░рд╛рд╢рд┐рд╡рд╛рдп рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ RDP рд╕рддреНрд░ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд╕рд╛рджрд╛рддреНрдордХрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. RDP рджреНрд╡рд╛рд░реЗ VM рдордзреНрдпреЗ рдЯрд╛рдХрд▓реЗрд▓реНрдпрд╛ рдбрд┐рд╕реНрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд ${HOME}/shared-drives:

рд╣рд╛рдпрдкрд░-V рдордзреНрдпреЗ рдЖрд░реНрдХ рд▓рд┐рдирдХреНрд╕ рдЕрддрд┐рдереАрдВрд╕рд╛рдареА рд╡рд░реНрдзрд┐рдд рд╕рддреНрд░ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рд╛

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

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

рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рд╕реНрд░реЛрдд:

  1. рд╣рд╛рдпрдкрд░-рд╡реНрд╣реА - рдЖрд░реНрдХ рд╡рд┐рдХреА
  2. GitHub рд╡рд░ рдмрдЧ рдЕрд╣рд╡рд╛рд▓: 1, 2

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛