Yambitsani Njira Yowonjezera ya Session kwa alendo a Arch Linux mu Hyper-V
Kugwiritsa ntchito makina a Linux mu Hyper-V kunja kwa bokosi ndikosavuta pang'ono kuposa kugwiritsa ntchito makina a alendo a Windows. Chifukwa chake ndikuti Hyper-V sinapangidwe kuti igwiritsidwe ntchito pakompyuta; simungangoyika phukusi lazowonjezera za alendo ndikupeza mathamangitsidwe azithunzi, bolodi, zolemba zogawana ndi zina zosangalatsa za moyo, monga zimachitika mu VirtualBox.
Hyper-V yokha imapereka ntchito zingapo zophatikiza - kotero, alendo angagwiritse ntchito mthunzi wa mthunzi wa wolandira (VSS), alendo amatha kutumiza chizindikiro chotseka, alendo akhoza kugwirizanitsa nthawi ya dongosolo ndi woyang'anira virtualization, mafayilo akhoza kusinthidwa kuchokera kwa wolandirayo ndi makina enieni (Copy-VMFile mu PowerShell). Kwa machitidwe ena ogwiritsira ntchito alendo, kuphatikizapo, Windows, mu pulogalamu ya Virtual Machine Connection (vmconnect.exe) Njira Yowonjezera ya Session ikupezeka, ikugwira ntchito kudzera pa protocol ya RDP ndikukulolani kusamutsa zida za disk ndi osindikiza kumakina enieni, komanso kugwiritsa ntchito bolodi logawana nawo.
Mawonekedwe Owonjezera a Session amagwira ntchito m'bokosi la Windows mu Hyper-V atangokhazikitsa. Ndi alendo pa Linux, muyenera kukhazikitsa seva ya RDP yomwe imathandizira vsock (malo apadera a adiresi apakompyuta ku Linux opangidwira kulankhulana ndi hypervisor). Ngati kwa Ubuntu mu pulogalamu ya VMCreate yomwe imabwera ndi Hyper-V pamawonekedwe apakompyuta a Windows, pali template yapadera yokonzekera makina momwe seva ya RDP ikugwira ntchito ndi vsock. XRDP zokhazikitsidwa kale, ndiye ndi magawo ena ndizosamveka bwino - mwachitsanzo, wolemba positi iyi Ndidakwanitsa kuloleza ESM ku Fedora. Apa tiyambitsa Njira Yowonjezera ya Session yamakina a Arch Linux.
Tiyeni tiwone VSS ndi ntchito zosinthana metadata ndi mafayilo:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
Kukhazikitsa XRDP
posungira Linux-vm-zida pa GitHub imapereka zolemba zomwe zimasinthiratu njira yoyika ndikusintha XRDP ya Arch Linux ndi Ubuntu. Tiyeni tiyike Git, ngati siyinayikepo kale, pamodzi ndi chojambulira ndi mapulogalamu ena omangika pamanja, ndikufanizira zosungirako:
Pa nthawi yolemba nkhaniyi, kumasulidwa kwaposachedwa kwa XRDP, komwe kumayikidwa ndi script makepkg.shyomwe yaperekedwa m'malo osungirako ndi 0.9.11, momwe kupatulira kwathyoledwavsock://-address, kotero muyenera kukhazikitsa XRDP kuchokera ku Git ndi Xorg driver wake kuchokera ku AUR pamanja. Chigamba cha XRDP choperekedwa mu AUR nachonso chatha pang'ono, kotero muyenera kusintha PKGBUILD ndikuyika pamanja.
Tiyeni titengere nkhokwe ndi PKGBUILDs kuchokera ku AUR (nthawi zambiri njirayi, pamodzi ndi kumanga, imapangidwa ndi mapulogalamu monga Pamenepo, koma wolemba adachita zonsezi pa dongosolo loyera):
Mu chigamba arch-config.diff, yomwe imayang'anira mayunitsi ndi zolemba zoyambitsa XRDP pansi pa mafayilo omwe amagwiritsidwa ntchito mu Arch Linux, ilinso ndi chigamba cha script. instfiles/xrdp.sh, yomwe pa nthawi yolemba anachotsedwa kuchokera pakugawa kwa XRDP, kotero chigambacho chiyenera kusinthidwa pamanja:
; 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
Onjezani ku fayilo ~/.xinitrc kuyambitsa malo omwe mumakonda pawindo lazenera / desktop, zomwe zidzachitike seva ya X ikayamba:
% echo "exec i3" > ~/.xinitrc
Tizimitse makina enieni. Timayatsa zoyendera za vsock pamakina enieni poyendetsa lamulo ili mu PowerShell ngati woyang'anira: