В tulijadili kuendesha seva ya VNC kwenye mashine pepe ya aina yoyote. Chaguo hili lina hasara nyingi, moja kuu ambayo ni mahitaji ya juu ya upitishaji wa njia za maambukizi ya data. Leo tutajaribu kuunganisha kwenye eneo-kazi la picha kwenye Linux kupitia RDP (Itifaki ya Eneo-kazi la Mbali). Mfumo wa VNC unategemea kutuma safu za saizi kwa kutumia itifaki ya RFB (Fremu ya Mbali) na RDP hukuruhusu kutuma picha changamano zaidi za asili na amri za kiwango cha juu. Kwa kawaida hutumiwa kupangisha Huduma za Eneo-kazi la Mbali kwenye Windows, lakini seva za Linux zinapatikana pia.
Jedwali la Yaliyomo:
Kufunga mazingira ya picha
Tutachukua mashine pepe yenye Ubuntu Server 18.04 LTS yenye cores mbili za kompyuta, gigabaiti nne za RAM na diski kuu ya gigabyte ishirini (HDD). Usanidi dhaifu haufai kwa eneo-kazi la picha, ingawa hii inategemea kazi zinazotatuliwa. Usisahau kutumia kuponi ya ofa Habrahabr10 ili kupata punguzo la 10% kwa agizo lako.

Kufunga mazingira ya eneo-kazi na utegemezi wote hufanywa kwa amri ifuatayo:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsKama ilivyokuwa katika kesi iliyopita, tulichagua XFCE kwa sababu ya mahitaji yake ya chini ya rasilimali ya kompyuta.
Russification ya seva na usakinishaji wa programu
Mara nyingi mashine za mtandaoni hutumwa tu na ujanibishaji wa Kiingereza. Kwenye desktop unaweza kuhitaji Kirusi, ambayo ni rahisi kuanzisha. Kwanza, hebu tusakinishe tafsiri za programu za mfumo:
sudo apt-get install language-pack-ruHebu tuweke ujanibishaji:
sudo update-locale LANG=ru_RU.UTF-8Athari sawa inaweza kupatikana kwa kuhariri mwenyewe /etc/default/locale.
Kwa ujanibishaji wa GNOME na KDE, hazina ina vifurushi vya lugha-pakiti-gnome-ru na lugha-pakiti-kde-ru - utavihitaji ikiwa unatumia programu kutoka kwa mazingira haya ya eneo-kazi. Katika XFCE, tafsiri husakinishwa na programu. Ifuatayo unaweza kusakinisha kamusi:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dictKwa kuongezea, usakinishaji wa tafsiri unaweza kuhitajika kwa programu zingine za programu:
# Браузер 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-ruHii inakamilisha utayarishaji wa mazingira ya eneo-kazi, kilichobaki ni kusanidi seva ya RDP.
Kusakinisha na kusanidi seva ya RDP
Hifadhi za Ubuntu zina seva ya Xrdp iliyosambazwa kwa uhuru, ambayo tutatumia:
sudo apt-get install xrdpIkiwa kila kitu kilikwenda vizuri, seva inapaswa kuanza moja kwa moja:
sudo systemctl status xrdp 
Seva ya Xrdp inaendeshwa na haki za mtumiaji za xrdp na kwa chaguo-msingi huchukua cheti cha /etc/ssl/private/ssl-cert-snakeoil.key, ambacho kinaweza kubadilishwa na chako. Ili kupata ufikiaji wa kusoma faili, unahitaji kuongeza mtumiaji kwenye kikundi cha ssl-cert:
sudo adduser xrdp ssl-certMipangilio ya chaguo-msingi inaweza kupatikana katika /etc/default/xrdp faili, na faili zingine zote za usanidi wa seva ziko kwenye saraka /etc/xrdp. Vigezo kuu viko kwenye faili ya xrdp.ini, ambayo haihitaji kubadilishwa. Usanidi umeandikwa vizuri, na kurasa zinazolingana zimejumuishwa:
man xrdp.ini
man xrdpKilichobaki ni kuhariri hati ya /etc/xrdp/startwm.sh, ambayo inatekelezwa wakati kipindi cha mtumiaji kinapoanzishwa. Kwanza, wacha tufanye nakala rudufu ya hati kutoka kwa usambazaji:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shIli kuanza mazingira ya eneo-kazi la XFCE, utahitaji hati kama hii:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4Tafadhali kumbuka: katika maandishi ni bora kuandika njia kamili ya faili zinazoweza kutekelezwa - hii ni tabia nzuri. Wacha tufanye hati itekelezwe na kwa wakati huu usanidi wa seva ya Xrdp inaweza kuzingatiwa kuwa kamili:
sudo chmod 755 /etc/xrdp/startwm.shAnzisha tena seva:
sudo systemctl restart xrdp
Kuweka firewall
Kwa chaguo-msingi, Xrdp husikiliza bandari ya TCP 3389 kwenye violesura vyote. Kulingana na usanidi wa seva pepe, unaweza kuhitaji kusanidi ngome ya Netfilter. Kwenye Linux hii kawaida hufanywa kwa kutumia matumizi ya iptables, lakini kwa Ubuntu ni bora kutumia ufw. Ikiwa anwani ya IP ya mteja inajulikana, usanidi unafanywa kwa amri ifuatayo:
sudo ufw allow from IP_Address to any port 3389Unaweza kuruhusu miunganisho kutoka kwa IP yoyote kama hii:
sudo ufw allow 3389Itifaki ya RDP inasaidia usimbaji fiche, lakini kufichua seva ya Xrdp kwenye mitandao ya umma ni wazo mbaya. Ikiwa mteja hana IP isiyobadilika, seva inapaswa kusikiliza tu mwenyeji wa ndani ili kuongeza usalama. Ni bora kuipata kupitia handaki ya SSH, ambayo itaelekeza kwa usalama trafiki kutoka kwa kompyuta ya mteja. Tuna njia sawa kwa seva ya VNC.
Inaunganisha kwa seva ya RDP
Ili kufanya kazi na mazingira ya eneo-kazi, ni bora kuunda mtumiaji tofauti asiye na upendeleo:
sudo adduser rdpuser 
Wacha tuongeze mtumiaji kwenye kikundi cha sudo ili aweze kufanya kazi zinazohusiana na utawala. Ikiwa hakuna hitaji kama hilo, unaweza kuruka hatua hii:
sudo gpasswd -a rdpuser sudoUnaweza kuunganisha kwenye seva kwa kutumia mteja wowote wa RDP, ikiwa ni pamoja na mteja wa Huduma za Kompyuta ya Mbali wa Windows. Ikiwa Xrdp inasikiliza kiolesura cha nje, hakuna vitendo vya ziada vitahitajika. Inatosha kutaja anwani ya IP ya VPS, jina la mtumiaji na nenosiri katika mipangilio ya uunganisho. Baada ya kuunganishwa, tutaona kitu kama hiki:

Baada ya usanidi wa awali wa mazingira ya eneo-kazi, tutapata desktop kamili. Kama unaweza kuona, haitumii rasilimali nyingi, ingawa kila kitu kitategemea programu zinazotumiwa.

Ikiwa seva ya Xrdp inasikiliza mwenyeji wa ndani pekee, trafiki kwenye kompyuta ya mteja italazimika kuunganishwa kwenye handaki la SSH (sshd lazima iwe inaendeshwa kwenye VPS). Kwenye Windows, unaweza kutumia mteja wa picha wa SSH (kwa mfano, PuTTY), na kwenye mifumo ya UNIX unahitaji matumizi ya ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipBaada ya handaki kuanzishwa, mteja wa RDP hataunganishwa tena kwa seva ya mbali, lakini kwa seva pangishi ya ndani.
Ni ngumu zaidi na vifaa vya rununu: Wateja wa SSH wenye uwezo wa kuinua handaki watalazimika kununuliwa, na katika iOS na iPadOS, utendakazi wa usuli wa programu za watu wengine ni ngumu kwa sababu ya uboreshaji mzuri sana wa matumizi ya nishati. Kwenye iPhone na iPad, hutaweza kuunda handaki katika programu tofauti; utahitaji programu ya kuvuna ambayo yenyewe inaweza kuanzisha muunganisho wa RDP kupitia SSH. Kama vile, kwa mfano .
Kidhibiti cha Kipindi na Vikao vya Watumiaji
Uwezo wa kufanya kazi kwa watumiaji wengi unatekelezwa moja kwa moja kwenye seva ya Xrdp na hauitaji usanidi wa ziada. Baada ya kuanzisha huduma kupitia systemd, mchakato mmoja huendeshwa katika hali ya daemon, husikiza kwenye bandari 3389 na kuwasiliana kupitia localhost na msimamizi wa kipindi.
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
Kidhibiti cha kikao kawaida hakionekani kwa watumiaji, kwa sababu kuingia na nenosiri lililobainishwa katika mipangilio ya mteja huhamishiwa kwake kiotomatiki. Ikiwa halijatokea au kuna hitilafu wakati wa uthibitishaji, dirisha la kuingiliana la kuingiliana litaonekana badala ya eneo-kazi.

Uzinduzi wa kiotomatiki wa meneja wa kikao umebainishwa katika faili /etc/default/xrdp, na usanidi umehifadhiwa katika /etc/xrdp/sesman.ini. Kwa chaguo-msingi inaonekana kitu kama hiki:
[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]Sio lazima kubadilisha chochote hapa, lazima tu uzima kuingia na haki za mizizi (AllowRootLogin=false). Kwa kila mtumiaji aliyeidhinishwa katika mfumo, mchakato tofauti wa xrdp unazinduliwa: ukiondoa bila kumaliza kipindi, michakato ya mtumiaji itaendelea kufanya kazi kwa chaguo-msingi, na unaweza kuunganisha kwenye kipindi tena. Mipangilio inaweza kubadilishwa katika /etc/xrdp/sesman.ini faili ([Sehemu ya Sessions]).
Inabadilisha mipangilio ya kibodi
Kawaida hakuna shida na ubao wa kunakili wa njia mbili, lakini kwa mpangilio wa kibodi wa Kirusi utalazimika kucheza kidogo (eneo la Kirusi linapaswa kuwa tayari. ) Wacha tuhariri mipangilio ya kibodi ya seva ya Xrdp:
sudo nano /etc/xrdp/xrdp_keyboard.iniUnahitaji kuongeza mistari ifuatayo hadi mwisho wa faili ya usanidi:
[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,ruKilichobaki ni kuhifadhi faili na kuanza tena Xrdp:
sudo systemctl restart xrdpKama unaweza kuona, si vigumu kusanidi seva ya RDP kwenye VPS ya Linux, lakini Tayari tumejadili usanidi wa VNC. Mbali na teknolojia hizi, kuna chaguo jingine la kuvutia: mfumo wa X3Go kwa kutumia itifaki ya NX 2 iliyobadilishwa. Tutashughulikia katika chapisho lijalo.
Chanzo: mapenzi.com
