
ምናባዊ ማሽኖችን በመጠቀም ላይ Linux በ Hyper-V ውስጥ ከሳጥኑ ውጭ ከእንግዳ ጋር ሲነጻጸር ትንሽ ምቹ የሆነ ተሞክሮ ነው Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.
Hyper-V ራሱ ያቀርባል - ስለዚህ, እንግዶች የአስተናጋጁን የጥላ ቅጂ አገልግሎት (VSS) መጠቀም ይችላሉ, እንግዶች የመዝጊያ ምልክት መላክ ይችላሉ, እንግዶች የስርዓት ጊዜውን ከቨርቹዋል አስተናጋጅ ጋር ማመሳሰል ይችላሉ, ፋይሎችን ከአስተናጋጁ ምናባዊ ማሽን ጋር መለዋወጥ ይችላሉ.Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) በ RDP ፕሮቶኮል በኩል የሚሰራ እና የዲስክ መሳሪያዎችን እና አታሚዎችን ወደ ቨርቹዋል ማሽኑ እንዲያስተላልፍ እና እንዲሁም የጋራ ክሊፕቦርድን ለመጠቀም የሚያስችል የተሻሻለ የክፍለ ጊዜ ሁነታ ይገኛል።
Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер አስቀድሞ ተጭኗል, ከዚያም ከሌሎች ስርጭቶች ጋር ያነሰ እና ያነሰ ግልጽ ነው - ለምሳሌ, ደራሲው получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.
የውህደት አገልግሎቶችን መጫን
እዚህ ሁሉም ነገር ብዙ ወይም ያነሰ ቀላል ነው, ጥቅሉን መጫን ብቻ ያስፈልገናል hyperv ከማህበረሰብ ማከማቻ፡
% sudo pacman -S hypervየVSS አገልግሎቶችን አንቃ፣ መለዋወጥ እና ፋይሎች:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneየ XRDP ጭነት
ማከማቻ на GitHub предоставляет скрипты, автоматизирующие процесс установки и настройки XRDP, для Arch Linux и Ubuntu. Установим 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://-አድራሻዎች፣ስለዚህ XRDP ከ Git እና የ Xorg ሾፌሩን ከ AUR በእጅ መጫን አለቦት። በAUR ውስጥ የቀረበው የXRDP ፕላስተር ትንሽ ጊዜ ያለፈበት ነው፣ ስለዚህ PKGBUILD እና ፕላስተሩን እራስዎ ማርትዕ ይኖርብዎታል።
ማከማቻዎቹን በPKGBUILDs ከAUR እናዘጋቸዋለን (ብዙውን ጊዜ ይህ አሰራር ከስብሰባው ጋር፣ በመሳሰሉት ፕሮግራሞች በራስ-ሰር የሚሰራ ነው። ነገር ግን ደራሲው ይህንን አጠቃላይ አሰራር በንጹህ ስርዓት ላይ አድርጓል፡-
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitመጀመሪያ XRDP ን እንጫን። ፋይሉን እንክፈተው PKGBUILD ማንኛውም የጽሑፍ አርታዒ.
የግንባታ መለኪያዎችን እናርትዕ። XRDP ከ Git ለመገንባት 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 под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту 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.shXRDP፣ 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 እንደ አስተዳዳሪ በማሄድ ለቪኤም የቪሶክ ማጓጓዣን አንቃ፡-
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketቨርቹዋል ማሽኑን እንደገና እናበራው።
Подключение
ስርዓቱ ከጀመረ በኋላ የ XRDP አገልግሎት እንደጀመረ የvmconnect አፕሊኬሽኑ ይህን ይወስናል እና የምናኑ ንጥሉ የሚገኝ ይሆናል። ይመልከቱ -> የተሻሻለ ክፍለ ጊዜ. ይህን ንጥል ሲመርጡ የስክሪን ጥራት እና በትሩ ላይ እንድናዘጋጅ እንጠየቃለን። አካባቢያዊ ምንጮች በሚከፈተው መገናኛ ውስጥ በ RDP ክፍለ ጊዜ ውስጥ የተላለፉ መሳሪያዎችን መምረጥ ይችላሉ.


እንገናኝ። የ XRDP መግቢያ መስኮቱን እናያለን፡-

የተጠቃሚ ስምህን እና የይለፍ ቃልህን አስገባ።
ተጠቀም
ከእነዚህ ማጭበርበሮች የሚገኘው ትርፍ ጎልቶ የሚታይ ነው፡ የ RDP ክፍለ ጊዜ ያለ የላቀ ክፍለ ጊዜ ከምናባዊ ማሳያ ጋር ሲሰራ የበለጠ ምላሽ ሰጭ ነው የሚሰራው። በቪኤም ውስጥ በ RDP በኩል የሚተላለፉ ዲስኮች በማውጫው ውስጥ ይገኛሉ ${HOME}/shared-drives:

ቅንጥብ ሰሌዳው በጥሩ ሁኔታ እየሰራ ነው። አታሚዎችን ወደ ውስጥ መጣል አይችሉም, ይህ አይደገፍም ብቻ ሳይሆን, ጭምር . ድምፁ እንዲሁ አይሰራም, ግን ደራሲው አያስፈልገውም. እንደ Alt + Tab ያሉ የቁልፍ ሰሌዳ አቋራጮችን ለመያዝ vmconnectን ወደ ሙሉ ስክሪን ማስፋፋት አለቦት።
Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port ላይ tcp://:3389. ቨርቹዋል ማሽኑ ከDefault Switch ጋር ከተገናኘ እና በDHCP በኩል የአውታረ መረብ ቅንብሮችን ከተቀበለ ከዚያ ከአስተናጋጁ ጋር መገናኘት ይችላሉ በ название_машины.mshome.net. ከvmconnect መተግበሪያ ወደ TTY መግባት የሚችሉት የተሻሻለ ሁነታን በማጥፋት ብቻ ነው።
ያገለገሉ ምንጮች:
- በ GitHub ላይ የሳንካ ሪፖርቶች፡- ,
ምንጭ: hab.com
