Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V

Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V

Ko te whakamahi i nga miihini mariko Linux i roto i te Hyper-V i waho o te pouaka he wheako iti ake te pai i te whakamahi i nga miihini manuhiri Windows. Ko te take mo tenei ko te Hyper-V ehara i te mea tuatahi mo te whakamahi papamahi; Kaore e taea e koe te whakauru noa i tetahi kete taapiri manuhiri me te whakatere whakairoiro mahi, he papatopenga, he raarangi korero me etahi atu koa o te ao, penei i te VirtualBox.

Ko te Hyper-V ano e whakarato ana maha nga ratonga whakauru - na, ka taea e nga manuhiri te whakamahi i te ratonga kape whakamarumaru o te kaihautu (VSS), ka taea e nga manuhiri te tuku he tohu kati, ka taea e nga manuhiri te tukutahi i te wa o te punaha me te kaiwhakarato mariko, ka taea te whakawhiti i nga konae mai i te kaihautu me te miihini mariko (Copy-VMFile kei PowerShell). Mo etahi punaha whakahaere manuhiri, tae atu ki a Windows, kei roto i te tono Hononga Miihini Mariko (vmconnect.exe) Kei te waatea te Aratau Waahanga Whakarei, e mahi ana ma te kawa RDP me te tuku i a koe ki te whakawhiti i nga taputapu kōpae me nga kaituhi ki te miihini mariko, me te whakamahi i te papatopenga tiritahi.

Ka mahi te Aratau Wātū Whakarei ake i te pouaka i Windows i Hyper-V i muri tonu i te tāutanga. Me nga manuhiri i runga i te Linux, me whakauru e koe he tūmau RDP e tautoko ana i te vsock (he mokowā wāhitau whatunga mariko motuhake i Linux i hangaia mo te whakawhitiwhiti korero me te hypervisor). Mena mo Ubuntu i roto i te tono VMCreate e haere mai ana me te Hyper-V i runga i nga putanga papamahi o Windows, he tauira miihini mariko motuhake kua whakaritea e mahi tahi ai tetahi RDP me te vsock. XRDP kua oti te whakauru, na me etahi atu tohatoha he iti ake te maamaa - hei tauira, te kaituhi tenei pou I kaha ahau ki te whakahohe i te ESM i Fedora. I konei ka whakahohehia te Aratau Waahanga Whakarei mo te miihini mariko Arch Linux.

Te whakauru i nga ratonga whakauru

He ngawari noa atu nga mea katoa i konei, me whakauru noa i te kete hyperv mai i te kohinga hapori:

% sudo pacman -S hyperv

Kia taea e tatou te VSS me nga ratonga whakawhiti raraunga meta me ngā kōnae:

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

Tāuta XRDP

putunga linux-vm-taputapu i runga i te GitHub e whakarato ana i nga tuhinga e whakaaunoa ana i te tukanga o te whakauru me te whirihora XRDP mo Arch Linux me Ubuntu. Me whakauru a Git, mena kaore ano kia whakauruhia, me te kaikoipi me etahi atu rorohiko mo te hanga a-ringa, katahi ka kati i te putunga:

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

I te wa e tuhi ana i tenei tuhinga, ko te tukunga hou o XRDP, kua whakauruhia e te tuhinga makepkg.shko te mea e whakaarohia ana i roto i te putunga ko 0.9.11, i pakaru ai te parsing vsock://-addresses, no reira me whakauru koe i te XRDP mai i Git me te taraiwa Xorg mai i te AUR ma te ringa. Ko te papaki XRDP e tukuna ana i te AUR he paku tawhito hoki, no reira me whakatika koe i te PKGBUILD me te papaki ma te ringa.

Me whakakaohia nga whare pupuri me nga PKGBUILD mai i te AUR (te tikanga ko tenei tikanga, me te hanga, he mea aunoa e nga kaupapa penei yay, engari i mahia e te kaituhi tenei tikanga katoa i runga i te punaha ma):

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

Me whakauru te XRDP ake i te tuatahi. Kia tuwhera te kōnae PKGBUILD tetahi ētita kuputuhi.

Me whakatika nga tawhā hanga. Ko te PKGBUILD mo te hanga XRDP mai i te Git kaore e uru ki te tautoko vsock i te wa e hanga ana, na ma tatou ano e whakaahei:

 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 roto i te papaki arch-config.diff, e whakahaere ana i nga waeine me nga tuhinga whakarewatanga XRDP i raro i nga ara konae e whakamahia ana i Arch Linux, kei roto hoki he papaki ki te tuhinga. instfiles/xrdp.sh, i te wa e tuhi ana i tangohia mai i te tohatoha XRDP, no reira me whakatika a ringa te papaki:

  [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

Me whakahiato me te whakauru i te kete me te whakahau % makepkg --skipchecksums -si (matua --skipchecksums me whakakorehia te manatokotanga o nga konae puna, na te mea i whakatika a ringatia e matou).

Haere tatou ki te whaiaronga xorgxrdp-devel-git, muri iho ka whakaemi noa tatou i te kete me te whakahau % makepkg -si.

Haere tatou ki te whaiaronga linux-vm-tools/arch ka whakahaere i te tuhinga install-config.sh, e whakatakoto ana i nga tautuhinga XRDP, PolicyKit me PAM:

% sudo ./install-config.sh

Ka tāuta te hōtuhi i te tautuhinga tuku iho use_vsock, kua warewarehia mai i te putanga 0.9.11, na me whakatika te konae whirihoranga /etc/xrdp/xrdp.ini ā-ringa:

 ;   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

Tāpiri ki te kōnae ~/.xinitrc te whakarewa i to kaiwhakahaere matapihi / taiao papamahi, ka mahia ina timata te tūmau X:

% echo "exec i3" > ~/.xinitrc

Kia whakawetohia te miihini mariko. Ka whakahohehia e matou te kawe waka mo te miihini mariko ma te whakahaere i te whakahau e whai ake nei i PowerShell hei kaiwhakahaere:

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

Kia huri ano tatou i te miihini mariko.

Hononga

Ka timata te ratonga XRDP i muri i te tiimata o te punaha, ka kitea e te tono vmconnect tenei ka waatea te taonga ki te tahua. Tirohia -> Wātū Whakarei. I te wa e whiriwhiri ana i tenei mea, ka akiakihia matou ki te tautuhi i te taumira mata, me te ripa Nga Rauemi Paetata I te korero e tuwhera ana, ka taea e koe te kowhiri i nga taputapu ka tukuna atu ki roto i te wahanga RDP.

Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V
Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V

Kia hono tatou. Ka kite tatou i te matapihi takiuru XRDP:

Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V

Whakauruhia to ingoa kaiwhakamahi me to kupuhipa.

Whakamahia

Ka kitea te painga mai i enei mahi whanoke: he pai ake te mahi o te wahanga RDP i te wa e mahi ana me te whakaaturanga mariko kaore he Waahanga Whakarei. Ko nga kopae kua taka ki roto i te VM ma te RDP e waatea ana i te raarangi ${HOME}/shared-drives:

Whakahohehia te Aratau Waahanga Whakarei mo nga manuhiri Arch Linux i Hyper-V

He pai te mahi a te papatopenga. Kaore e taea e koe te tuku i nga kaituhi ki roto; ehara tenei i te tautoko anake, engari ano hoki ka whati i te whakamua kōpae. Kaore ano te tangi e mahi, engari kaore i hiahiatia e te kaituhi tenei. Hei hopu i nga pokatata papapātuhi penei i te Alt+Tab, me whakawhänui koe i te vmconnect ki te mata katoa.

Mena he take ka hiahia koe ki te whakamahi i te kiritaki RDP i hangaia ki Windows hei utu mo te tono vmconnect, hei tauira, hono atu ki tenei miihini mai i tetahi atu miihini, katahi ka hiahia koe ki te huri i te konae. /etc/xrdp/xrdp.ini port i runga i tcp://:3389. Mena kei te hono te miihini mariko ki te Whakawhiti Taunoa me te whiwhi i nga tautuhinga whatunga ma te DHCP, ka taea e koe te hono atu ki a ia mai i te kaihautu i название_машины.mshome.net. Ka taea anake te takiuru ki TTY mai i te tono vmconnect ma te whakaweto i te Aratau Whakarei.

Kua whakamahia nga puna:

  1. Hyper-V - Arch Wiki
  2. Nga purongo bug i GitHub: 1, 2

Source: will.com

Tāpiri i te kōrero