Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்

Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்

Linux மெய்நிகர் இயந்திரங்களை Hyper-V இல் பயன்படுத்துவது விருந்தினர் Windows இயந்திரங்களை விட சற்றே குறைவான வசதியானது. இதற்குக் காரணம் ஹைப்பர்-வி முதலில் டெஸ்க்டாப் பயன்பாட்டிற்காக அல்ல; VirtualBox இல் நடப்பது போல, நீங்கள் விருந்தினர் கூட்டல் தொகுப்பை நிறுவி, வேலை செய்யக்கூடிய கிராபிக்ஸ் முடுக்கம், கிளிப்போர்டு, பகிரப்பட்ட கோப்பகங்கள் மற்றும் வாழ்க்கையின் பிற சந்தோஷங்களைப் பெற முடியாது.

ஹைப்பர்-வி தானே வழங்குகிறது பல ஒருங்கிணைப்பு சேவைகள் - எனவே, விருந்தினர்கள் ஹோஸ்டின் நிழல் நகல் சேவையை (VSS) பயன்படுத்தலாம், விருந்தினர்கள் பணிநிறுத்தம் சிக்னலை அனுப்பலாம், விருந்தினர்கள் கணினி நேரத்தை மெய்நிகராக்க ஹோஸ்டுடன் ஒத்திசைக்கலாம், ஹோஸ்டிலிருந்து மெய்நிகர் இயந்திரத்துடன் கோப்புகளை பரிமாறிக்கொள்ளலாம் (Copy-VMFile PowerShell இல்). விர்ச்சுவல் மெஷின் இணைப்பு பயன்பாட்டில், நிச்சயமாக, விண்டோஸ் உட்பட சில விருந்தினர் இயக்க முறைமைகளுக்கு (vmconnect.exe) மேம்படுத்தப்பட்ட அமர்வு பயன்முறை கிடைக்கிறது, இது RDP நெறிமுறை வழியாக வேலை செய்கிறது மற்றும் வட்டு சாதனங்கள் மற்றும் பிரிண்டர்களை மெய்நிகர் இயந்திரத்திற்கு அனுப்பவும், பகிரப்பட்ட கிளிப்போர்டைப் பயன்படுத்தவும் உங்களை அனுமதிக்கிறது.

மேம்படுத்தப்பட்ட அமர்வு பயன்முறை நிறுவப்பட்ட உடனேயே ஹைப்பர்-வி இல் விண்டோஸில் பெட்டிக்கு வெளியே இயங்குகிறது. Linux இல் விருந்தினர்களுடன், நீங்கள் vsock ஐ ஆதரிக்கும் RDP சேவையகத்தை நிறுவ வேண்டும் (லினக்ஸில் ஒரு சிறப்பு மெய்நிகர் நெட்வொர்க் முகவரி இடம் ஹைப்பர்வைசருடன் தொடர்பு கொள்ள வடிவமைக்கப்பட்டுள்ளது). உபுண்டுவைப் பொறுத்தவரை, விண்டோஸின் டெஸ்க்டாப் பதிப்புகளில் ஹைப்பர்-வி உடன் வரும் VMCreate பயன்பாடு ஒரு சிறப்புத் தயாரிக்கப்பட்ட மெய்நிகர் இயந்திர டெம்ப்ளேட்டைக் கொண்டுள்ளது, அதில் RDP சேவையகம் vsock உடன் இயங்குகிறது. XRDP முன்பே நிறுவப்பட்டது, பிற விநியோகங்களுடன் இது குறைவாகவும் தெளிவாகவும் உள்ளது - எடுத்துக்காட்டாக, ஆசிரியர் இந்த இடுகை இது ஃபெடோராவில் ESM ஐ செயல்படுத்துவதாக மாறியது. ஆர்ச் லினக்ஸ் மெய்நிகர் இயந்திரத்திற்கான மேம்படுத்தப்பட்ட அமர்வு பயன்முறையையும் இங்கே இயக்குகிறோம்.

ஒருங்கிணைப்பு சேவைகளை நிறுவுதல்

இங்கே எல்லாம் அதிகமாகவோ அல்லது குறைவாகவோ எளிமையானது, நாம் தொகுப்பை நிறுவ வேண்டும் hyperv சமூகக் களஞ்சியத்திலிருந்து:

% sudo pacman -S hyperv

VSS சேவைகளை இயக்கு, பரிமாற்றம் மெட்டாடேட்டா மற்றும் கோப்புகள்:

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

XRDP நிறுவல்

களஞ்சியம் linux-vm-tools ஆர்ச் லினக்ஸ் மற்றும் உபுண்டுவிற்கான XRDP ஐ நிறுவும் மற்றும் கட்டமைக்கும் செயல்முறையை தானியங்குபடுத்தும் ஸ்கிரிப்ட்களை GitHub வழங்குகிறது. 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://-முகவரிகள், எனவே நீங்கள் Git இலிருந்து XRDP மற்றும் AUR இலிருந்து Xorg இயக்கியை கைமுறையாக நிறுவ வேண்டும். AUR இல் வழங்கப்படும் XRDPக்கான பேட்ச் சற்று காலாவதியானது, எனவே நீங்கள் PKGBUILD மற்றும் பேட்சை கைமுறையாக திருத்த வேண்டும்.

AUR இலிருந்து PKGBUILDகளுடன் களஞ்சியங்களை குளோன் செய்கிறோம் (வழக்கமாக இந்த செயல்முறை, அசெம்பிளியுடன் சேர்ந்து, இது போன்ற நிரல்களால் தானியங்கு செய்யப்படுகிறது. ஆஹா, ஆனால் ஆசிரியர் இந்த முழு நடைமுறையையும் ஒரு சுத்தமான அமைப்பில் செய்தார்:

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

முதலில் XRDP ஐ நிறுவுவோம். கோப்பை திறப்போம் PKGBUILD எந்த உரை திருத்தி.

உருவாக்க அளவுருக்களை திருத்துவோம். Git இலிருந்து XRDP ஐ உருவாக்குவதற்கான 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ஆர்ச் லினக்ஸில் பயன்படுத்தப்படும் கோப்புகளுக்கான பாதைகளின் கீழ் யூனிட்கள் மற்றும் எக்ஸ்ஆர்டிபி தொடக்க ஸ்கிரிப்ட்களைத் திருத்துகிறது, மற்றவற்றுடன், ஸ்கிரிப்ட்டிற்கான பேட்ச் உள்ளது. 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.sh, இது XRDP, 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

மெய்நிகர் இயந்திரத்தை அணைப்போம். பவர்ஷெல்லில் பின்வரும் கட்டளையை நிர்வாகியாக இயக்குவதன் மூலம் VM க்கான vsock போக்குவரத்தை இயக்கவும்:

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

மீண்டும் மெய்நிகர் இயந்திரத்தை இயக்குவோம்.

Подключение

கணினி தொடங்கியவுடன் XRDP சேவை தொடங்கும் போது, ​​vmconnect பயன்பாடு இதைத் தீர்மானிக்கும் மற்றும் மெனு உருப்படி கிடைக்கும். காண்க -> மேம்படுத்தப்பட்ட அமர்வு. நீங்கள் இந்த உருப்படியைத் தேர்ந்தெடுக்கும்போது, ​​திரைத் தீர்மானம் மற்றும் தாவலில் அமைக்கும்படி கேட்கப்படுவோம் உள்ளூர் வளங்கள் திறக்கும் உரையாடலில், RDP அமர்வுக்குள் அனுப்பப்பட்ட சாதனங்களை நீங்கள் தேர்ந்தெடுக்கலாம்.

Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்
Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்

இணைப்போம். நாம் XRDP உள்நுழைவு சாளரத்தைக் காண்போம்:

Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்

உங்கள் பயனர்பெயர் மற்றும் கடவுச்சொல்லை உள்ளிடவும்.

பயன்படுத்த

இந்த கையாளுதல்களின் லாபம் கவனிக்கத்தக்கது: மேம்படுத்தப்பட்ட அமர்வு இல்லாமல் மெய்நிகர் காட்சியுடன் பணிபுரியும் போது RDP அமர்வு மிகவும் பதிலளிக்கக்கூடியதாக உள்ளது. RDP வழியாக VM க்குள் அனுப்பப்பட்ட வட்டுகள் கோப்பகத்தில் கிடைக்கும் ${HOME}/shared-drives:

Hyper-V இல் Arch Linux விருந்தினர்களுக்கு மேம்படுத்தப்பட்ட அமர்வு பயன்முறையை இயக்கவும்

கிளிப்போர்டு நன்றாக வேலை செய்கிறது. நீங்கள் அச்சுப்பொறிகளை உள்ளே வீச முடியாது, இது ஆதரிக்கப்படவில்லை, ஆனால் வட்டு பகிர்தலை உடைக்கிறது. ஒலியும் வேலை செய்யாது, ஆனால் ஆசிரியருக்கு அது தேவையில்லை. Alt + Tab போன்ற விசைப்பலகை குறுக்குவழிகளைப் பிடிக்க, முழுத் திரைக்கு vmconnectஐ விரிவாக்க வேண்டும்.

சில காரணங்களால் vmconnect பயன்பாட்டிற்கு பதிலாக விண்டோஸில் கட்டமைக்கப்பட்ட RDP கிளையண்டைப் பயன்படுத்த விருப்பம் இருந்தால் அல்லது, எடுத்துக்காட்டாக, மற்றொரு கணினியிலிருந்து இந்த கணினியுடன் இணைக்கவும், நீங்கள் கோப்பை மாற்ற வேண்டும். /etc/xrdp/xrdp.ini port மீது tcp://:3389. மெய்நிகர் இயந்திரம் இயல்புநிலை சுவிட்சுடன் இணைக்கப்பட்டு, DHCP வழியாக பிணைய அமைப்புகளைப் பெற்றால், நீங்கள் அதை ஹோஸ்டில் இருந்து இணைக்கலாம் название_машины.mshome.net. மேம்படுத்தப்பட்ட பயன்முறையை முடக்குவதன் மூலம் மட்டுமே vmconnect பயன்பாட்டிலிருந்து TTY இல் உள்நுழைய முடியும்.

பயன்படுத்திய ஆதாரங்கள்:

  1. ஹைப்பர்-வி ஆர்ச் விக்கி
  2. GitHub இல் பிழை அறிக்கைகள்: 1, 2

ஆதாரம்: www.habr.com

கருத்தைச் சேர்