
ورچوئل مشینوں کو آن استعمال کرنا Linux Hyper-V میں آؤٹ آف دی باکس مہمان کے مقابلے میں تھوڑا کم آرام دہ تجربہ ہے۔ Windows-машинами. Причиной тому является то, что Hyper-V все же изначально не предназначался для десктопного пользования; нельзя просто взять, поставить пакет гостевых дополнений и получить работоспособное графическое ускорение, буфер обмена, общие директории и другие радости жизни, как это происходит в VirtualBox.
Hyper-V خود فراہم کرتا ہے۔ - لہذا، مہمان میزبان کی شیڈو کاپی سروس (VSS) استعمال کر سکتے ہیں، مہمان شٹ ڈاؤن سگنل بھیج سکتے ہیں، مہمان ورچوئلائزیشن ہوسٹ کے ساتھ سسٹم کے وقت کو ہم آہنگ کر سکتے ہیں، فائلوں کا تبادلہ میزبان سے ورچوئل مشین کے ساتھ کیا جا سکتا ہے (Copy-VMFile в PowerShell). Для некоторых гостевых операционных систем, в числе которых, конечно, находится и Windows, в приложении Virtual Machine Connection (vmconnect.exe) بہتر سیشن موڈ دستیاب ہے، جو RDP پروٹوکول کے ذریعے کام کرتا ہے اور آپ کو ڈسک ڈیوائسز اور پرنٹرز کو ورچوئل مشین میں منتقل کرنے کے ساتھ ساتھ مشترکہ کلپ بورڈ استعمال کرنے کی اجازت دیتا ہے۔
Enhanced Session Mode из коробки работает в Windows в Hyper-V сразу после установки. С гостями на Linux нужно устанавливать RDP-сервер, поддерживающий vsock (специальное виртуальное сетевое адресное пространство в Linux, предназначенное для коммуникации с гипервизором). Если для Ubuntu в приложении VMCreate, идущим с Hyper-V на настольных редакциях Windows, есть специальный подготовленный шаблон виртуальной машины, в котором работающий с vsock RDP-сервер پہلے سے انسٹال ہے، پھر دوسری تقسیم کے ساتھ یہ کم سے کم واضح ہے - مثال کے طور پر، مصنف получилось включить ESM в Fedora. Здесь же мы активируем Enhanced Session Mode для виртуальной машины с Arch Linux.
انضمام کی خدمات کو انسٹال کرنا
یہاں سب کچھ کم و بیش آسان ہے، ہمیں صرف پیکیج کو انسٹال کرنے کی ضرورت ہے۔ hyperv کمیونٹی کے ذخیرے سے:
% sudo pacman -S hypervآئیے VSS اور تبادلہ خدمات کو فعال کریں۔ اور فائلیں:
% for i in {vss,fcopy,kvp}; do sudo systemctl enable hv_${i}_daemon.service; doneXRDP انسٹال کرنا
ذخیرہ на 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/archاس مضمون کو لکھنے کے وقت، XRDP کی تازہ ترین ریلیز، جو اسکرپٹ کی طرف سے انسٹال ہے makepkg.shمخزن میں تجویز کردہ ایک 0.9.11 ہے، vsock://ایڈریسز، لہذا آپ کو 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 под пути к файлам, используемым в Arch 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 اپنے پسندیدہ ونڈو مینیجر/ڈیسک ٹاپ ماحول کو شروع کرنا، جو ایکس سرور شروع ہونے پر عمل میں لایا جائے گا:
% echo "exec i3" > ~/.xinitrcآئیے ورچوئل مشین کو بند کر دیں۔ ہم پاور شیل میں بطور ایڈمنسٹریٹر درج ذیل کمانڈ چلا کر ورچوئل مشین کے لیے vsock ٹرانسپورٹ کو چالو کرتے ہیں۔
PS Admin > Set-VM -VMName НАЗВАНИЕ_МАШИНЫ -EnhancedSessionTransportType HvSocketآئیے ورچوئل مشین کو دوبارہ آن کرتے ہیں۔
Подключение
جیسے ہی سسٹم شروع ہونے کے بعد XRDP سروس شروع ہوتی ہے، vmconnect ایپلیکیشن اس کا پتہ لگائے گی اور آئٹم مینو میں دستیاب ہو جائے گی۔ دیکھیں -> بہتر سیشن. اس آئٹم کو منتخب کرتے وقت، ہمیں اسکرین ریزولوشن سیٹ کرنے کے لیے کہا جائے گا، اور ٹیب پر مقامی وسائل کھلنے والے ڈائیلاگ میں، آپ آر ڈی پی سیشن میں آگے بھیجنے کے لیے آلات منتخب کر سکتے ہیں۔


آئیے جڑتے ہیں۔ ہم XRDP لاگ ان ونڈو دیکھیں گے:

اپنا صارف نام اور پاس ورڈ درج کریں.
استعمال کریں
ان ہیرا پھیری سے فائدہ قابل دید ہے: RDP سیشن اس کے مقابلے میں بہت زیادہ ذمہ دارانہ طور پر کام کرتا ہے جب بہتر سیشن کے بغیر ورچوئل ڈسپلے کے ساتھ کام کیا جاتا ہے۔ RDP کے ذریعے VM کے اندر گرائی گئی ڈسکیں ڈائریکٹری میں دستیاب ہیں۔ ${HOME}/shared-drives:

کلپ بورڈ ٹھیک کام کرتا ہے۔ آپ پرنٹرز کو اندر نہیں بھیج سکتے؛ یہ نہ صرف تعاون یافتہ ہے، بلکہ یہ بھی . آواز بھی کام نہیں کرتی، لیکن مصنف کو اس کی ضرورت نہیں تھی۔ Alt+Tab جیسے کی بورڈ شارٹ کٹ کیپچر کرنے کے لیے، آپ کو vmconnect کو پوری اسکرین پر پھیلانا ہوگا۔
Если по каким-либо причинам есть желание использовать вместо приложения vmconnect встроенный в Windows RDP-клиент или, например, подключаться к этой машине из другой машины, то нужно будет поменять в файле /etc/xrdp/xrdp.ini port پر tcp://:3389. اگر ورچوئل مشین ڈیفالٹ سوئچ سے منسلک ہے اور DHCP کے ذریعے نیٹ ورک کی ترتیبات حاصل کرتی ہے، تو آپ میزبان سے اس سے رابطہ کر سکتے ہیں۔ название_машины.mshome.net. آپ صرف انہینسڈ موڈ کو بند کر کے vmconnect ایپلیکیشن سے TTY میں لاگ ان کر سکتے ہیں۔
استعمال شدہ ذرائع۔:
- GitHub پر بگ رپورٹس: ,
ماخذ: www.habr.com
