Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ho sebelisa mechine ea sebele ho Linux ho Hyper-V ntle ho lebokose ke phihlelo e sa phutholohang hanyane ho feta ho baeti. Windows-machine. Lebaka la sena ke hore Hyper-V ha ea ka ea etsoa bakeng sa tšebeliso ea desktop; u ke ke ua kenya sephutheloana sa Guest Additions feela 'me ua qala ho sebetsa ka ho potlakisa litšoantšo, clipboard, li-directory tse arolelanoang, le melemo e meng, joalo ka ha u ka etsa ka VirtualBox.

Hyper-V ka boeona e fana ka litšebeletso tse ngata tsa ho kopanya - ka hona, baeti ba ka sebelisa tšebeletso ea kopi ea moriti (VSS) ea moeti, baeti ba ka romela letšoao la ho koala, baeti ba ka hokahanya nako ea tsamaiso le moeti oa virtualization, lifaele li ka fapanyetsanoa le mochine oa sebele o tsoang ho moamoheli (Copy-VMFile ho PowerShell). Bakeng sa litsamaiso tse ling tsa ts'ebetso tsa baeti, tse kenyeletsang Windows, ho sesebelisoa sa Virtual Machine Connection (vmconnect.exe) Mokhoa o ntlafalitsoeng oa Session oa fumaneha, o sebetsang ka protocol ea RDP mme o o lumella ho fetisetsa lisebelisoa le li-printer tsa disk mochining oa sebele, hammoho le ho sebelisa clipboard e arolelanoang.

Mokhoa oa Thuto o Ntlafalitsoeng o sebetsa ka ntle ho lebokose Windows ho Hyper-V hang ka mora ho e kenya. Ka baeti ba ho Linux o hloka ho kenya seva sa RDP se tshehetsang vsock (sebaka se ikgethang sa aterese ya netweke ya sebele ho Linux, e etselitsoe ho buisana le hypervisor). Haeba bakeng sa Ubuntu ho sesebelisoa sa VMCreate se tlang le Hyper-V likhatisong tsa desktop Windows, ho na le template e khethehileng e lokisitsoeng ea mochini oa sebele moo seva ea RDP e sebetsang le vsock XRDP e se e kentsoe esale pele, joale ka liphatlalatso tse ling ha e hlake haholoanyane - ka mohlala, mongoli poso ena Re khonne ho nolofalletsa ESM ho Fedora. Mona re boetse re kenya tshebetsong Enhanced Session Mode bakeng sa mochini wa sebele wa Arch. Linux.

Ho kenya litšebeletso tsa ho kopanya

Ntho e 'ngoe le e' ngoe e bonolo kapa e bonolo mona, re hloka feela ho kenya sephutheloana hyperv ho tsoa sebakeng sa polokelo ea sechaba:

% sudo pacman -S hyperv

Numella lits'ebeletso tsa VSS, phapanyetsano metadata le lifaele:

% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; done

Kenyelletso ea XRDP

polokelo lisebelisoa tsa linux-vm e fana ka dingolwa ho GitHub tse iketsang tshebetso ya ho kenya le ho hlophisa XRDP bakeng sa Arch Linux и UbuntuHa re kenyeng Git, haeba e so kenngoe, hammoho le komporo le software e 'ngoe bakeng sa ho haha ​​ka letsoho, ebe re etsa clone polokelo:

% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/arch

Nakong ea ho ngola sena, tokollo ea morao-rao ea XRDP, e kentsoeng ke script makepkg.she sisintsweng sebakeng sa polokelo ke 0.9.11, eo ho qhetsola ho robehileng teng vsock://-aterese, kahoo o tlameha ho kenya XRDP ho tloha Git le mokhanni oa Xorg bakeng sa eona ho tloha AUR ka letsoho. Patch ea XRDP e fanoeng ho AUR le eona e siiloe ke nako, ka hona, o tla tlameha ho hlophisa PKGBUILD le patch ka letsoho.

Re kopanya libaka tsa polokelo ka li-PKGBUILD tse tsoang ho AUR (hangata ts'ebetso ena, hammoho le kopano, e etsoa ke mananeo a kang. shatee, empa mongoli o entse ts'ebetso ena kaofela ka sistimi e hloekileng):

% git clone https://aur.archlinux.org/xrdp-devel-git.git
% git clone https://aur.archlinux.org/xorgxrdp-devel-git.git

Ha re kenye XRDP ka boeona pele. Ha re bule faele PKGBUILD mohlophisi ofe kapa ofe oa mongolo.

Ha re fetole liparamente tsa moaho. PKGBUILD ea ho aha XRDP ho tloha Git ha e kenyelle tšehetso ea vsock moahong, ka hona, a re e khoneng ka borona:

 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
 }

Ka patch arch-config.diff, diyuniti tse busang le dingolwa tsa ho qala tsa XRDP tlasa ditsela tsa difaele tse sebediswang ho Arch Linux, e na le patch ho sengoloa instfiles/xrdp.sh, eo ka nako ea ho ngola e tlositsoe ho tsoa kabong ea XRDP, kahoo patch e tla tlameha ho hlophisoa ka letsoho:

  [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

Haha le ho kenya sephutheloana ka taelo % makepkg --skipchecksums -si (senotlolo --skipchecksums ea hlokahala ho tima netefatso ea checksum ea lifaele tsa mohloli, kaha re li hlophisitse ka letsoho).

Ha re ee bukeng xorgxrdp-devel-git, ka mor'a moo re haha ​​​​sephutheloana ka taelo % makepkg -si.

Ha re ee bukeng linux-vm-tools/arch ebe o tsamaisa script install-config.sh, e behang litlhophiso tsa XRDP, PolicyKit le PAM:

% sudo ./install-config.sh

Script e kenya litlhophiso tsa lefa use_vsock, e hlokomolohuoang ho tloha phetolelong ea 0.9.11, kahoo ha re fetoleng faele ea tlhophiso /etc/xrdp/xrdp.ini ka letsoho:

 ;   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

Kenya faeleng ~/.xinitrc ho qala tikoloho eo u e ratang ea mookameli oa fensetere/desktop, e tla etsoa ha seva sa X se qala:

% echo "exec i3" > ~/.xinitrc

Ha re tima mochini o sebetsang. Numella sepalangoang sa vsock bakeng sa VM ka ho sebelisa taelo e latelang ho PowerShell joalo ka motsamaisi:

PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocket

Ha re bulele mochine oa sebele hape.

Kopano

Hang ha tšebeletso ea XRDP e qala ka mor'a hore tsamaiso e qale, sesebelisoa sa vmconnect se tla etsa qeto ea sena 'me ntho ea menu e tla ba teng. View -> Seboka se ntlafalitsoeng. Ha u khetha ntho ena, re tla susumelletseha ho seta qeto ea skrine, le ho tab Lisebelisoa tsa sebaka seo puisanong e butsoeng, o ka khetha lisebelisoa tse romelloang ka har'a seshene ea RDP.

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V
Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Ha re hokahaneng. Re tla bona fensetere ea ho kena ea XRDP:

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Kenya lebitso la hau la mosebelisi le password.

Sebelisa

Phaello e tsoang ho maqheka ana e ea bonahala: Seboka sa RDP se sebetsa ka mokhoa o arabelang haholoanyane ho feta ha o sebetsa ka ponts'o ntle le Session e ntlafalitsoeng. Li-disk tse fetiselitsoeng ka har'a VM ka RDP li fumaneha bukeng ${HOME}/shared-drives:

Ho nolofalletsa Mokhoa oa Thuto o Ntlafalitsoeng bakeng sa Arch Linux-baeti ba Hyper-V

Clipboard e sebetsa hantle. U ke ke ua lahlela li-printer ka hare, sena ha se tšehetsoe feela, empa hape e senya phetisetso ea disk. Molumo le oona ha o sebetse, empa mongoli o ne a sa o hloke. E le hore u khone ho tšoara likheo tsa keyboard joaloka Alt + Tab, u lokela ho atolosa vmconnect ho skrine se feletseng.

Haeba ka lebaka lefe kapa lefe o batla ho sebedisa sesebelisoa sa vmconnect se kentsweng kahare ho ena le Windows Moreki oa RDP kapa, mohlala, hokela mochining ona ho tsoa mochining o mong, joale o tla hloka ho fetola faele /etc/xrdp/xrdp.ini port mabapi le tcp://:3389. Haeba mochini o sebetsang o hoketsoe ho Default Switch mme o amohela litlhophiso tsa marang-rang ka DHCP, o ka hokela ho eona ho tsoa ho moamoheli ho. название_машины.mshome.net. O ka kena feela ho TTY ho tsoa ts'ebelisong ea vmconnect ka ho tima Mokhoa o ntlafalitsoeng.

Mehloli e sebelisitsoeng:

  1. Hyper-V Arch Wiki
  2. Litlaleho tsa Bug ho GitHub: 1, 2

Source: www.habr.com

Reka sebaka se tšepahalang sa libaka tse nang le ts'ireletso ea DDoS, li-server tsa VPS VDS 🔥 Reka sebaka se tšepahalang sa ho amohela webosaete ka tšireletso ea DDoS, li-server tsa VPS VDS | ProHoster