
ورچوئل مشينن کي استعمال ڪندي Linux هائپر-وي ۾ مهمانن جي ڀيٽ ۾ آئوٽ آف دي باڪس ٿورو گهٽ آرامده تجربو آهي. Windows- مشينون. ان جو سبب اهو آهي ته هائپر-وي اصل ۾ ڊيسڪ ٽاپ جي استعمال لاءِ نه ٺاهيو ويو هو؛ توهان صرف گيسٽ ايڊيشن پيڪيج انسٽال نٿا ڪري سگهو ۽ ڪم ڪندڙ گرافڪس ايڪسلريشن، ڪلپ بورڊ، شيئرڊ ڊائريڪٽريز، ۽ ٻيا فائدا حاصل ڪري سگهو ٿا، جيئن توهان ورچوئل باڪس سان ڪري سگهو ٿا.
Hyper-V پاڻ مهيا ڪري ٿو - تنهن ڪري، مهمان ميزبان جي شيڊ ڪاپي سروس (VSS) استعمال ڪري سگهن ٿا، مهمان هڪ بند سگنل موڪلي سگهن ٿا، مهمان ورچوئلائيزيشن ميزبان سان سسٽم جي وقت کي هم وقت سازي ڪري سگهن ٿا، فائلون ميزبان کان ورچوئل مشين سان مٽائي سگهجن ٿيون (Copy-VMFile پاور شيل ۾). ڪجهه مهمان آپريٽنگ سسٽم لاءِ، جنهن ۾ يقيناً شامل آهن Windows، ورچوئل مشين ڪنيڪشن ايپليڪيشن ۾ (vmconnect.exe) وڌايل سيشن موڊ دستياب آهي، آر ڊي پي پروٽوڪول ذريعي ڪم ڪندي ۽ توهان کي ڊسڪ ڊوائيسز ۽ پرنٽر کي ورچوئل مشين ڏانهن منتقل ڪرڻ جي اجازت ڏئي ٿي، انهي سان گڏ هڪ گڏيل ڪلپ بورڊ استعمال ڪريو.
بهتر ڪيل سيشن موڊ غير معمولي ڪم ڪري ٿو Windows انسٽاليشن کان فوري پوءِ هائپر-وي ۾. مهمانن سان گڏ Linux توهان کي هڪ آر ڊي پي سرور انسٽال ڪرڻ جي ضرورت آهي جيڪو ويساڪ کي سپورٽ ڪري ٿو (هڪ خاص ورچوئل نيٽ ورڪ ايڊريس اسپيس ۾ Linux، هائپر وائزر سان رابطو ڪرڻ لاءِ ٺهيل آهي). جيڪڏهن لاءِ Ubuntu VMCreate ايپليڪيشن ۾ جيڪو ڊيسڪ ٽاپ ايڊيشن تي هائپر-وي سان گڏ اچي ٿو Windows، هڪ خاص تيار ڪيل ورچوئل مشين ٽيمپليٽ آهي جنهن ۾ هڪ آر ڊي پي سرور vsock سان ڪم ڪري ٿو. اڳ ۾ ئي نصب ٿيل آهي، پوء ٻين تقسيم سان اهو گهٽ ۽ گهٽ صاف آهي - مثال طور، ليکڪ اسان فيڊورا ۾ ESM کي فعال ڪرڻ ۾ ڪامياب ٿياسين. هتي اسان آرچ ورچوئل مشين لاءِ اينهانسڊ سيشن موڊ کي پڻ چالو ڪيو. Linux.
انضمام خدمتن کي انسٽال ڪرڻ
هتي هر شيء گهٽ يا گهٽ سادو آهي، اسان کي صرف پيڪيج کي نصب ڪرڻ جي ضرورت آهي hyperv ڪميونٽي جي ذخيري مان:
% sudo pacman -S hypervاچو ته VSS ۽ مٽاسٽا جي خدمتن کي فعال ڪريو ۽ فائلون:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP انسٽال ڪرڻ
مخزن GitHub تي اسڪرپٽ مهيا ڪري ٿو جيڪي آرڪ لاءِ XRDP انسٽال ڪرڻ ۽ ترتيب ڏيڻ جي عمل کي خودڪار ڪن ٿا. Linux и Ubuntuجيڪڏهن گٽ اڳ ۾ ئي انسٽال ٿيل نه آهي ته ان کي انسٽال ڪريون، هڪ ڪمپائلر ۽ دستي تعميرات لاءِ ٻئي سافٽ ويئر سان گڏ، ۽ پوءِ ريپوزٽري کي ڪلون ڪريون:
% sudo pacman -S git base-devel
% git clone https://github.com/microsoft/linux-vm-tools.git
% cd linux-vm-tools/archهن آرٽيڪل لکڻ جي وقت، ايڪس آر ڊي پي جو تازو رليز، جيڪو اسڪرپٽ طرفان نصب ڪيو ويو آهي makepkg.shهڪ تجويز ڪيل مخزن ۾ 0.9.11 آهي، vsock://-addresses، تنهنڪري توهان کي Git مان XRDP انسٽال ڪرڻو پوندو ۽ Xorg ڊرائيور ان لاءِ AUR دستي طور تي. AUR ۾ پيش ڪيل XRDP پيچ به ٿوري پراڻي آهي، تنهنڪري توهان کي PKGBUILD کي ايڊٽ ڪرڻو پوندو ۽ دستي طور تي پيچ ڪرڻو پوندو.
اچو ته AUR کان PKGBUILDs سان گڏ ذخيرن کي ڪلون ڪريون (عام طور تي اهو طريقو، تعمير سان گڏ، پروگرامن ذريعي خودڪار ٿيندو آهي جهڙوڪ ، پر ليکڪ اهو سڄو عمل صاف سسٽم تي ڪيو):
% 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، رولنگ يونٽس ۽ XRDP اسٽارٽ اپ اسڪرپٽ آرڪ ۾ استعمال ٿيندڙ فائل رستن جي تحت 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.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اچو ته مجازي مشين کي بند ڪريون. اسان هڪ منتظم جي طور تي PowerShell ۾ هيٺ ڏنل حڪم هلائڻ سان ورچوئل مشين لاءِ vsock ٽرانسپورٽ کي چالو ڪريون ٿا:
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketاچو ته ورچوئل مشين کي ٻيهر چالو ڪريون.
ڪنيڪشن
جيئن ئي سسٽم شروع ٿيڻ کان پوءِ XRDP سروس شروع ٿيندي، vmconnect ايپليڪيشن هن کي ڳوليندي ۽ شيون مينيو ۾ دستياب ٿي وينديون. ڏسو -> وڌايل سيشن. جڏهن هي شيون چونڊيو، اسان کي چيو ويندو ته اسڪرين جي قرارداد کي سيٽ ڪرڻ لاء، ۽ ٽيب تي مقامي وسيلا ڊائلاگ ۾ جيڪو کلي ٿو، توھان منتخب ڪري سگھوٿا ڊوائيسز کي اڳتي وڌڻ لاءِ RDP سيشن ۾.


اچو ته ڳنڍيون. اسان ڏسنداسين XRDP لاگ ان ونڊو:

پنهنجو يوزر نالو ۽ پاسورڊ داخل ڪريو.
استعمال ڪريو
انهن ڦيرڦار مان فائدو قابل ذڪر آهي: آر ڊي پي سيشن تمام گهڻو جوابي طور تي ڪم ڪري ٿو جڏهن بهتر ٿيل سيشن کان سواءِ ورچوئل ڊسپلي سان ڪم ڪري رهيو آهي. RDP ذريعي VM اندر ڇڏيل ڊسڪ ڊاريڪٽري ۾ موجود آهن ${HOME}/shared-drives:

ڪلپ بورڊ ٺيڪ ڪم ڪري ٿو. توهان اندر پرنٽر اڳتي نه ٿا ڪري سگهو؛ اهو نه رڳو سپورٽ آهي، پر پڻ . آواز به ڪم نه ڪندو آهي، پر ليکڪ کي اها ضرورت نه هئي. ڪيبورڊ شارٽ ڪٽس کي پڪڙڻ لاءِ جيئن Alt+Tab، توھان کي وڌائڻو پوندو vmconnect کي پوري اسڪرين تي.
جيڪڏهن ڪنهن به سبب لاءِ توهان بلٽ ان vmconnect ايپليڪيشن استعمال ڪرڻ چاهيو ٿا بجاءِ Windows آر ڊي پي ڪلائنٽ يا، مثال طور، هن مشين سان ٻي مشين سان ڳنڍيو، پوءِ توهان کي فائل تبديل ڪرڻ جي ضرورت پوندي /etc/xrdp/xrdp.ini port تي tcp://:3389. جيڪڏهن ورچوئل مشين ڊفالٽ سوئچ سان ڳنڍيل آهي ۽ DHCP ذريعي نيٽ ورڪ سيٽنگون وصول ڪري ٿي، ته پوءِ توهان ان سان ڳنڍي سگهو ٿا ميزبان کان название_машины.mshome.net. توھان صرف لاگ ان ڪري سگھو ٿا TTY ۾ vmconnect ايپليڪيشن مان وڌايل موڊ کي بند ڪري.
استعمال ٿيل ذريعن:
- GitHub تي بگ رپورٽون: ,
جو ذريعو: www.habr.com
