
Ke hoʻohana nei i nā mīkini virtual ma Linux ma Hyper-V ma waho o ka pahu he ʻike ʻoluʻolu iki ia ma mua o ka malihini Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.
Hāʻawi ʻo Hyper-V iā ia iho - no laila, hiki i nā malihini ke hoʻohana i ka lawelawe kope kope o ka host (VSS), hiki i nā malihini ke hoʻouna i kahi hōʻailona pani, hiki i nā malihini ke hoʻonohonoho i ka manawa ʻōnaehana me ka host virtualization, hiki ke hoʻololi ʻia nā faila mai ka host me ka mīkini virtual (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) Loaʻa ka Enhanced Session Mode, e hana ana ma o ka protocol RDP a ʻae iā ʻoe e hoʻololi i nā polokalamu disk a me nā mea paʻi i ka mīkini virtual, a me ka hoʻohana ʻana i kahi clipboard.
Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер ua hoʻokomo mua ʻia, a laila me nā māhele ʻē aʻe he mea liʻiliʻi a liʻiliʻi - no ka laʻana, ka mea kākau получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.
Ke hoʻouka nei i nā lawelawe hoʻohui
ʻOi aku ka maʻalahi o nā mea āpau ma aneʻi, pono mākou e hoʻokomo i ka pūʻolo hyperv mai ka waihona kaiaulu:
% sudo pacman -S hypervE hoʻohana i ka VSS a me nā lawelawe hoʻololi a me nā faila:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneKe hoʻokomo nei i ka XRDP
waihona waihona на 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/archI ka manawa e kākau ai i kēia ʻatikala, ʻo ka hoʻokuʻu hou loa o XRDP, i kau ʻia e ka palapala makepkg.shʻO ka mea i manaʻo ʻia ma ka waihona ʻo 0.9.11, vsock://-addresses, no laila pono ʻoe e hoʻokomo iā XRDP mai Git a me ka mea hoʻokele Xorg no ia mai AUR me ka lima. ʻO ka ʻāpana XRDP i hāʻawi ʻia ma ka AUR ʻaʻole i pau ka manawa, no laila pono ʻoe e hoʻoponopono i ka PKGBUILD a hoʻopaʻa lima me ka lima.
E hoʻopili i nā waihona me nā PKGBUILDs mai AUR (ʻo ka maʻamau kēia kaʻina hana, me ke kūkulu ʻana, hoʻohana ʻia e nā polokalamu e like me , akā ua hana ka mea kākau i kēia kaʻina hana ma kahi ʻōnaehana maʻemaʻe):
% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.gitE hoʻokomo mua iā XRDP iā ia iho. E wehe kākou i ka faila PKGBUILD kekahi mea hoʻoponopono kikokikona.
E hoʻoponopono kākou i nā ʻāpana kūkulu. PKGBUILD no ke kūkulu ʻana i ka XRDP mai Git ʻaʻole i hoʻokomo i ke kākoʻo vsock i ke kūkulu ʻana, no laila e hoʻohana iā mākou iho:
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
}I loko o ka pā arch-config.diff, правящем юниты и скрипты запуска XRDP под пути к файлам, используемым в Arch Linux, содержится в том числе патч к скрипту instfiles/xrdp.sh, i ka manawa i kakau ai mai ka hoʻohele XRDP, no laila e hoʻoponopono lima ʻia ka patch:
[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 -0600E hōʻuluʻulu a hoʻokomo i ka pūʻolo me ke kauoha % makepkg --skipchecksums -si (ki --skipchecksums pono e hoʻopau i ka hōʻoia checksum o nā faila kumu, ʻoiai mākou i hoʻoponopono lima iā lākou).
E hele kāua i ka papa kuhikuhi xorgxrdp-devel-git, a laila hoʻohui wale mākou i ka pūʻolo me ke kauoha % makepkg -si.
E hele kāua i ka papa kuhikuhi linux-vm-tools/arch a holo i ka palapala install-config.sh, e hoʻonohonoho ana i nā hoʻonohonoho XRDP, PolicyKit a me PAM:
% sudo ./install-config.shHoʻokomo ʻia ka hoʻonohonoho hoʻoilina use_vsock, ka mea i mālama ʻole ʻia mai ka mana 0.9.11, no laila e hoʻoponopono kākou i ka faila hoʻonohonoho /etc/xrdp/xrdp.ini ma ka lima:
; 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_nodelayHoʻohui i ka faila ~/.xinitrc Ke hoʻomaka nei i kāu mea hoʻokele puka makani / kaiapuni papapihi, e hoʻokō ʻia i ka wā e hoʻomaka ai ke kikowaena X:
% echo "exec i3" > ~/.xinitrcE hoʻopau kākou i ka mīkini virtual. Hoʻoikaika mākou i ka lawe ʻana i ka vsock no ka mīkini virtual ma ka holo ʻana i kēia kauoha ma PowerShell ma ke ʻano he luna:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketE ho'ā hou kāua i ka mīkini virtual.
Подключение
I ka hoʻomaka ʻana o ka lawelawe XRDP ma hope o ka hoʻomaka ʻana o ka ʻōnaehana, e ʻike ka noi vmconnect i kēia a loaʻa ka mea i ka papa kuhikuhi. View -> Kau Hoʻonui. I ke koho ʻana i kēia mea, e koi ʻia mākou e hoʻonohonoho i ka hoʻonā pale, a ma ka pā Punawai Kūloko Ma ke kamaʻilio e wehe ana, hiki iā ʻoe ke koho i nā mea hana e hoʻouna ʻia i ka hālāwai RDP.


E hoʻohui kāua. E ʻike mākou i ka puka aniani komo XRDP:

E hoʻokomo i kāu inoa inoa a me ka ʻōlelo huna.
E hoʻohana
ʻIke ʻia ka pōmaikaʻi o kēia mau manipulations: ʻoi aku ka maikaʻi o ka hana RDP ma mua o ka hana ʻana me kahi hōʻike virtual me ka Enhanced Session. Loaʻa nā disks i loko o ka VM ma o RDP i ka papa kuhikuhi ${HOME}/shared-drives:

Hana maikaʻi ka papa ʻoki. ʻAʻole hiki iā ʻoe ke hoʻouna i nā mea paʻi i loko; ʻaʻole kākoʻo wale ʻia kēia, akā pū kekahi . ʻAʻole pono ke kani, akā ʻaʻole pono ka mea kākau i kēia. I mea e hopu ai i nā ʻaoʻao pōkole e like me Alt+Tab, pono ʻoe e hoʻonui i ka vmconnect i ka pale piha.
Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port maluna o tcp://:3389. Inā pili ka mīkini virtual i Default Switch a loaʻa iā ʻoe nā hoʻonohonoho pūnaewele ma o DHCP, a laila hiki iā ʻoe ke hoʻopili iā ia mai ka host ma название_машины.mshome.net. Hiki iā ʻoe ke komo i loko o TTY mai ka noi vmconnect ma ka hoʻopau ʻana i ke ʻano Enhanced.
Nā kumu hoʻohana:
- Nā hōʻike bug ma GitHub: ,
Source: www.habr.com
