В موږ د هر ډول مجازی ماشین کې د VNC سرور چلولو په اړه بحث وکړ. دا اختیار ډیری نیمګړتیاوې لري، چې اصلي یې د ډیټا لیږد چینلونو له لارې لوړ اړتیاوې دي. نن ورځ موږ به هڅه وکړو چې په لینکس کې د ګرافیکي ډیسټاپ سره د RDP (ریموټ ډیسټاپ پروتوکول) له لارې وصل شو. د VNC سیسټم د RFB (ریموټ فریم بفر) پروتوکول په کارولو سره د پکسلونو د لیږد پراساس دی ، او RDP تاسو ته اجازه درکوي ډیر پیچلي ګرافیک لومړني او د لوړې کچې کمانډونه واستوي. دا عموما په وینډوز کې د ریموټ ډیسټاپ خدماتو کوربه کولو لپاره کارول کیږي، مګر د لینکس لپاره سرورونه هم شتون لري.
فهرست:
د ګرافیک چاپیریال نصب کول
موږ به د اوبنټو سرور 18.04 LTS سره یو مجازی ماشین واخلو چې دوه کمپیوټري کورونه ، څلور ګیګابایټ رام او شل ګیګابایټ هارډ ډرایو (HDD). یو ضعیف تشکیلات د ګرافیکي ډیسټاپ لپاره مناسب ندي، که څه هم دا په هغو کارونو پورې اړه لري چې حل کیږي. په خپل آرډر کې د 10٪ تخفیف ترلاسه کولو لپاره د پرومو کوډ Habrahabr10 کارول مه هیروئ.

د ټولو انحصارونو سره د ډیسټاپ چاپیریال نصب کول د لاندې کمانډ سره ترسره کیږي:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsلکه څنګه چې د تیرې قضیې په څیر، موږ د دې نسبتا ټیټ کمپیوټري سرچینو اړتیاو له امله XFCE غوره کړ.
د سرور او سافټویر نصبولو Russification
ډیری وختونه مجازی ماشینونه یوازې د انګلیسي ځایی کولو سره ګمارل کیږي. په ډیسټاپ کې تاسو ممکن روسی ته اړتیا ولرئ ، کوم چې تنظیم کول اسانه دي. لومړی، راځئ چې د سیسټم پروګرامونو لپاره ژباړې نصب کړو:
sudo apt-get install language-pack-ruراځئ چې ځایی کول تنظیم کړو:
sudo update-locale LANG=ru_RU.UTF-8ورته اغیزه په لاسي ډول د /etc/default/locale په ایډیټ کولو سره ترلاسه کیدی شي.
د GNOME او KDE د ځایی کولو لپاره، ذخیره د language-pack-gnome-ru او language-pack-kde-ru کڅوړې لري - تاسو به ورته اړتیا ولرئ که تاسو د دې ډیسټاپ چاپیریال څخه پروګرامونه کاروئ. په XFCE کې، ژباړې د غوښتنلیکونو سره نصب شوي. بیا تاسو کولی شئ لغتونه نصب کړئ:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dictبرسېره پردې، د ځینې غوښتنلیک پروګرامونو لپاره د ژباړې نصب کول اړین دي:
# Браузер Firefox
sudo apt-get install firefox firefox-locale-ru
# Почтовый клиент Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru
# Офисный пакет LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ruدا د ډیسټاپ چاپیریال چمتو کول بشپړوي، ټول هغه څه چې پاتې دي د RDP سرور تنظیم کول دي.
د RDP سرور نصب او تنظیم کول
د اوبنټو ذخیره په وړیا ډول توزیع شوي Xrdp سرور لري، کوم چې موږ به یې وکاروو:
sudo apt-get install xrdpکه هرڅه سم وي، سرور باید په اتوماتيک ډول پیل شي:
sudo systemctl status xrdp 
د Xrdp سرور د xrdp کارونکي حقونو سره پرمخ ځي او په ډیفالټ ډول /etc/ssl/private/ssl-cert-snakeoil.key سند اخلي، کوم چې ستاسو د خپل سره بدل کیدی شي. د فایل لوستلو ته د لاسرسي لپاره، تاسو اړتیا لرئ چې کاروونکي د ssl-cert ګروپ ته اضافه کړئ:
sudo adduser xrdp ssl-certد ډیفالټ ترتیبات په /etc/default/xrdp فایل کې موندل کیدی شي، او د سرور نور ټول ترتیب فایلونه په /etc/xrdp ډایرکټر کې موقعیت لري. اصلي پیرامیټونه د xrdp.ini فایل کې دي، کوم چې بدلون ته اړتیا نلري. ترتیب په ښه توګه مستند شوی، او اړونده مینی پاڼې پکې شاملې دي:
man xrdp.ini
man xrdpټول هغه څه چې پاتې دي د /etc/xrdp/startwm.sh سکریپټ ترمیم کول دي، کوم چې اجرا کیږي کله چې د کارونکي سیشن پیل شي. لومړی، راځئ چې د توزیع څخه د سکریپټ بیک اپ کاپي جوړ کړو:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shد XFCE ډیسټاپ چاپیریال پیل کولو لپاره، تاسو به د دې په څیر یو سکریپټ ته اړتیا ولرئ:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4مهرباني وکړئ په یاد ولرئ: په سکریپټونو کې دا غوره ده چې د اجرا وړ فایلونو ته بشپړ لاره ولیکئ - دا یو ښه عادت دی. راځئ چې سکریپټ د اجرا وړ کړو او پدې مرحله کې د Xrdp سرور تنظیم بشپړ وګڼل شي:
sudo chmod 755 /etc/xrdp/startwm.shسرور بیا پیل کړئ:
sudo systemctl restart xrdp
د فائر وال تنظیم کول
په ډیفالټ سره، Xrdp په ټولو انٹرفیسونو کې د TCP پورټ 3389 ته غوږ نیسي. د مجازی سرور ترتیب پورې اړه لري، تاسو ممکن د Netfilter فایر وال تنظیم کولو ته اړتیا ولرئ. په لینکس کې دا معمولا د iptables یوټیلیټ په کارولو سره ترسره کیږي ، مګر په اوبنټو کې دا غوره ده چې ufw وکاروئ. که چیرې د پیرودونکي IP پته معلومه وي، ترتیب د لاندې کمانډ سره ترسره کیږي:
sudo ufw allow from IP_Address to any port 3389تاسو کولی شئ د دې په څیر د هر IP څخه اړیکې ته اجازه ورکړئ:
sudo ufw allow 3389د RDP پروتوکول د کوډ کولو ملاتړ کوي، مګر عامه شبکو ته د Xrdp سرور افشا کول یو بد نظر دی. که چیرې پیرودونکی یو ثابت IP نلري، سرور باید یوازې د امنیت زیاتولو لپاره محلي هوسټ ته غوږ ونیسي. دا غوره ده چې دې ته د SSH تونل له لارې لاسرسی ومومئ ، کوم چې به د پیرودونکي کمپیوټر څخه ترافیک په خوندي ډول لارښود کړي. موږ ورته چلند لرو د VNC سرور لپاره.
د RDP سرور سره نښلول
د ډیسټاپ چاپیریال سره د کار کولو لپاره، دا غوره ده چې یو جلا غیرمستقیم کاروونکي جوړ کړئ:
sudo adduser rdpuser 
راځئ چې کاروونکي سوډو ګروپ ته اضافه کړو ترڅو هغه د ادارې پورې اړوند دندې ترسره کړي. که چیرې ورته اړتیا شتون ونلري، تاسو کولی شئ دا مرحله پریږدئ:
sudo gpasswd -a rdpuser sudoتاسو کولی شئ د هر RDP پیرودونکي په کارولو سره سرور سره وصل شئ ، پشمول د جوړ شوي وینډوز ریموټ ډیسټاپ خدماتو پیرودونکي. که چیرې Xrdp بهرني انٹرفیس ته غوږ ونیسي ، نو اضافي عملونو ته به اړتیا ونلري. دا کافي ده چې د پیوستون تنظیماتو کې د VPS IP پته ، کارن نوم او پټنوم مشخص کړئ. د نښلولو وروسته، موږ به د دې په څیر یو څه وګورو:

د ډیسټاپ چاپیریال لومړني تنظیم کولو وروسته ، موږ به یو بشپړ ډیسټاپ ترلاسه کړو. لکه څنګه چې تاسو لیدلی شئ ، دا ډیری سرچینې نه مصرفوي ، که څه هم هرڅه به په کارول شوي غوښتنلیکونو پورې اړه ولري.

که چیرې د Xrdp سرور یوازې لوکل هوسټ ته غوږ ونیسي ، نو د پیرودونکي کمپیوټر ترافیک باید په SSH تونل کې بسته شي (sshd باید په VPS کې روان وي). په وینډوز کې، تاسو کولی شئ د ګرافیکي SSH مراجعینو څخه کار واخلئ (د بیلګې په توګه، PuTTY)، او په یونیکس سیسټمونو کې تاسو د ssh یوټیلیټ ته اړتیا لرئ:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipوروسته له دې چې تونل پیل شي، د RDP پیرودونکی به نور د ریموټ سرور سره وصل نشي، مګر ځایی کوربه سره.
دا د ګرځنده وسیلو سره خورا ستونزمن دی: د تونل پورته کولو وړ SSH پیرودونکي باید وپیرل شي ، او په iOS او iPadOS کې ، د دریمې ډلې غوښتنلیکونو شالید عملیات د انرژي مصرف خورا ښه اصلاح کولو له امله ستونزمن دي. په آی فون او آی پیډ کې، تاسو نشئ کولی په جلا غوښتنلیک کې تونل جوړ کړئ؛ تاسو به د هارویسټر غوښتنلیک ته اړتیا ولرئ چې پخپله د SSH له لارې د RDP اتصال رامینځته کولی شي. لکه، د مثال په توګه .
د ناستې مدیر او د کارونکي ناستې
د څو کاروونکو کار کولو وړتیا په مستقیم ډول په Xrdp سرور کې پلي کیږي او اضافي تشکیلاتو ته اړتیا نلري. د سیسټم له لارې د خدمت پیل کولو وروسته، یوه پروسه په ډیمون حالت کې پرمخ ځي، په 3389 پورټ کې اوري او د سیشن مدیر سره د لوکل هوسټ له لارې اړیکه نیسي.
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
د سیشن مدیر معمولا کاروونکو ته نه لیدل کیږي، ځکه چې د مراجعینو په ترتیباتو کې مشخص شوي ننوتل او پټنوم په اتوماتيک ډول لیږدول کیږي. که دا پیښ نشي یا د تصدیق کولو پرمهال کومه تېروتنه وي، د ډیسټاپ پرځای به د متقابل ننوتلو کړکۍ ښکاره شي.

د سیشن مدیر اتوماتیک لانچ په /etc/default/xrdp فایل کې مشخص شوی، او ترتیب په /etc/xrdp/sesman.ini کې زیرمه شوی. په ډیفالټ ډول دا یو څه داسې ښکاري:
[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh
[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false
[Sessions]تاسو اړتیا نلرئ دلته هیڅ شی بدل کړئ، تاسو باید د روټ حقونو سره د ننوتلو غیر فعال کړئ (AllowRootLogin=false). په سیسټم کې د اختیار شوي هر کارونکي لپاره، یو جلا xrdp پروسه پیل شوې: که تاسو د ناستې پای ته رسولو پرته جلا کړئ، د کاروونکي پروسې به د ډیفالټ لخوا پرمخ ځي، او تاسو کولی شئ بیا ناستې سره وصل شئ. ترتیبات په /etc/xrdp/sesman.ini فایل ([سیشن] برخه) کې بدلیدلی شي.
د کیبورډ ترتیب بدلول
معمولا د دوه طرفه کلپ بورډ سره کومه ستونزه شتون نلري ، مګر د روسی کیبورډ ترتیب سره تاسو باید لږ څه لوبې وکړئ (د روسیې ځای باید دمخه وي ). راځئ چې د Xrdp سرور کیبورډ تنظیمات ترمیم کړو:
sudo nano /etc/xrdp/xrdp_keyboard.iniتاسو اړتیا لرئ د ترتیب فایل پای ته لاندې لینونه اضافه کړئ:
[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru
[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ruټول هغه څه چې پاتې دي د فایل خوندي کول او Xrdp بیا پیل کول دي:
sudo systemctl restart xrdpلکه څنګه چې تاسو لیدلی شئ ، په لینکس VPS کې د RDP سرور تنظیم کول ستونزمن ندي ، مګر موږ دمخه د VNC ترتیب په اړه بحث کړی دی. د دې ټیکنالوژیو سربیره، یو بل په زړه پورې اختیار شتون لري: د X3Go سیسټم د ترمیم شوي NX 2 پروتوکول په کارولو سره. موږ به په راتلونکې خپرونه کې ورسره معامله وکړو.
سرچینه: www.habr.com
