ProHoster > Blog > İdarə > Hyper-V-də Arch Linux qonaqları üçün Təkmilləşdirilmiş Sessiya Rejimini aktiv edin
Hyper-V-də Arch Linux qonaqları üçün Təkmilləşdirilmiş Sessiya Rejimini aktiv edin
Hyper-V-də Linux virtual maşınlarını qutudan kənarda istifadə etmək qonaq Windows maşınları ilə müqayisədə bir qədər az rahatdır. Bunun səbəbi Hyper-V-nin əvvəlcə masaüstü istifadə üçün nəzərdə tutulmamasıdır; Siz sadəcə davam edib qonaq əlavələri paketini quraşdıra və VirtualBox-da olduğu kimi işlək qrafik sürətləndirilməsi, mübadilə buferi, paylaşılan kataloqlar və həyatın digər sevinclərini əldə edə bilməzsiniz.
Hyper-V özü təmin edir çoxsaylı inteqrasiya xidmətləri - beləliklə, qonaqlar ev sahibinin kölgə nüsxəsi xidmətindən (VSS) istifadə edə bilər, qonaqlar bağlanma siqnalı göndərə bilər, qonaqlar sistem vaxtını virtuallaşdırma hostu ilə sinxronlaşdıra bilər, faylları hostdan virtual maşınla mübadilə edə bilər (Copy-VMFile PowerShell-də). Bəzi qonaq əməliyyat sistemləri üçün, o cümlədən, əlbəttə ki, Windows, Virtual Maşın Əlaqəsi proqramında (vmconnect.exe) RDP protokolu ilə işləyən və disk cihazlarını və printerləri virtual maşına yönləndirməyə, həmçinin paylaşılan mübadilə buferindən istifadə etməyə imkan verən Təkmilləşdirilmiş Sessiya rejimi mövcuddur.
Təkmilləşdirilmiş Sessiya Rejimi Windows-da Hyper-V-də quraşdırıldıqdan dərhal sonra işləyir. Linux-da qonaqlarla vsock-u (hipervizorla əlaqə saxlamaq üçün nəzərdə tutulmuş Linux-da xüsusi virtual şəbəkə ünvan sahəsi) dəstəkləyən RDP serverini quraşdırmalısınız. Əgər Ubuntu üçün, Windows-un masa üstü versiyalarında Hyper-V ilə gələn VMCreate proqramında RDP serverinin vsock ilə işlədiyi xüsusi hazırlanmış virtual maşın şablonu var. XRDP artıq əvvəlcədən quraşdırılmışdır, sonra digər paylamalarla daha az və daha az aydın olur - məsələn, müəllif bu yazı Fedora-da ESM-i işə saldığı ortaya çıxdı. Burada biz həmçinin Arch Linux virtual maşını üçün Təkmilləşdirilmiş Sessiya rejimini işə salırıq.
İnteqrasiya xidmətlərinin quraşdırılması
Burada hər şey az və ya çox sadədir, sadəcə paketi quraşdırmaq lazımdır hyperv icma deposundan:
% sudo pacman -S hyperv
VSS xidmətlərini aktivləşdirin, mübadilə edin metadata və fayllar:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done
XRDP quraşdırılması
anbar linux-vm alətləri GitHub-da Arch Linux və Ubuntu üçün XRDP-nin quraşdırılması və konfiqurasiyası prosesini avtomatlaşdıran skriptlər təqdim edir. Git-i, əgər o, artıq quraşdırılmayıbsa, kompilyator və əl ilə qurmaq üçün digər proqram təminatı ilə birlikdə quraşdırın və sonra deponu klonlayın:
Bu yazı zamanı, skript tərəfindən quraşdırılmış XRDP-nin ən son buraxılışı makepkg.shrepozitoriyada təklif olunan 0.9.11, hansı təhlil pozulurvsock://-ünvanlar, ona görə də Git-dən XRDP və onun üçün AUR-dan Xorg sürücüsünü əl ilə quraşdırmalısınız. AUR-da təklif olunan XRDP yaması da bir qədər köhnəlmişdir, ona görə də siz PKGBUILD və yamağı əl ilə redaktə etməli olacaqsınız.
Repozitoriyaları AUR-dan PKGBUILD-lərlə klonlayırıq (adətən bu prosedur montajla yanaşı, kimi proqramlar tərəfindən avtomatlaşdırılır. yay, lakin müəllif bütün bu proseduru təmiz bir sistemdə etdi):
Bir yamaqda arch-config.diffArch Linux-da istifadə olunan fayllara gedən yollar altında vahidləri və XRDP başlanğıc skriptlərini redaktə edən , digər şeylər arasında skript üçün yamaq ehtiva edir. instfiles/xrdp.sh, yazı zamanı çıxarıldı XRDP paylanmasından, ona görə də yamaq əl ilə redaktə edilməli olacaq:
Komanda ilə paketi qurun və quraşdırın % makepkg --skipchecksums -si (açar --skipchecksums mənbə fayllarının yoxlama məbləğinin yoxlanılmasını söndürmək üçün lazımdır, çünki biz onları əl ilə redaktə etdik).
Gəlin kataloqa keçək xorgxrdp-devel-git, bundan sonra sadəcə komanda ilə paketi qururuq % makepkg -si.
Gəlin kataloqa keçək linux-vm-tools/arch və skripti işə salın install-config.shXRDP, PolicyKit və PAM parametrlərini təyin edən:
% sudo ./install-config.sh
Skript köhnə parametrləri quraşdırır use_vsock, 0.9.11 versiyasından bəri nəzərə alınmır, ona görə də konfiqurasiya faylını redaktə edək /etc/xrdp/xrdp.ini əl ilə:
; 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
Fayla əlavə edin ~/.xinitrc X serveri işə salındıqda yerinə yetiriləcək üstünlük verdiyiniz pəncərə meneceri/masa üstü mühitinin işə salınması:
% echo "exec i3" > ~/.xinitrc
Virtual maşını söndürək. PowerShell-də administrator olaraq aşağıdakı əmri işlətməklə VM üçün vsock nəqliyyatını aktivləşdirin:
Sistem işə salındıqdan sonra XRDP xidməti başlayan kimi vmconnect proqramı bunu müəyyən edəcək və menyu elementi əlçatan olacaq. baxış -> Təkmilləşdirilmiş sessiya. Bu elementi seçdiyiniz zaman bizdən ekran həllini təyin etmək istəniləcək və tabda Yerli qaynaqlar Açılan dialoqda siz RDP sessiyası daxilində yönləndirilən cihazları seçə bilərsiniz.
Qoşulsun. XRDP giriş pəncərəsini görəcəyik:
İstifadəçi adınızı və şifrənizi daxil edin.
Istifadə
Bu manipulyasiyalardan qazanc nəzərə çarpır: RDP sessiyası Enhanced Session olmadan virtual displeylə işləməkdən daha həssas işləyir. RDP vasitəsilə VM daxilində yönləndirilən disklər kataloqda mövcuddur ${HOME}/shared-drives:
Mübadilə buferi yaxşı işləyir. Siz printerləri içəri ata bilməzsiniz, bu nəinki dəstəklənmir, həm də disk yönləndirməsini pozur. Səs də işləmir, amma müəllifə lazım deyildi. Alt + Tab kimi klaviatura qısa yollarını çəkmək üçün vmconnect-i tam ekrana genişləndirməlisiniz.
Əgər nədənsə vmconnect tətbiqi əvəzinə Windows-da quraşdırılmış RDP müştərisini istifadə etmək və ya məsələn, başqa bir maşından bu maşına qoşulmaq istəyi varsa, onda siz faylı dəyişdirməlisiniz. /etc/xrdp/xrdp.iniport haqqında tcp://:3389. Əgər virtual maşın Defolt Switch-ə qoşulubsa və DHCP vasitəsilə şəbəkə parametrlərini qəbul edirsə, onda siz ona hostdan qoşula bilərsiniz. название_машины.mshome.net. Siz yalnız Təkmilləşdirilmiş rejimi söndürməklə vmconnect proqramından TTY-yə daxil ola bilərsiniz.