В anyị tụlere ịgba ọsọ nkesa VNC na igwe mebere ụdị ọ bụla. Nhọrọ a nwere ọtụtụ ihe na-adịghị mma, nke bụ isi bụ ihe dị elu chọrọ maka ntinye nke ọwa mgbasa ozi data. Taa, anyị ga-agbalị ijikọ na desktọpụ eserese na Linux site na RDP (Protocol Remote Desktop). Sistemu VNC gbadoro ụkwụ na-ebufe ọtụtụ pikselụ site na iji RFB (Remote Framebuffer) protocol, RDP na-enye gị ohere izipu primitives eserese ndị dị mgbagwoju anya na iwu ọkwa dị elu. A na-ejikarị ya iji kwado Ọrụ Desktọpụ dịpụrụ adịpụ na Windows, mana sava maka Linux dịkwa.
Tebulu ọdịnaya:
Ịwụnye gburugburu eserese
Anyị ga-ewere igwe mebere ya na Ubuntu Server 18.04 LTS nwere cores computing abụọ, gigabytes anọ nke RAM na draịvụ ike gigabyte iri abụọ (HDD). Nhazi adịghị ike adịghị adabara maka desktọpụ eserese, ọ bụ ezie na nke a dabere na ọrụ ndị a na-edozi. Echefula iji koodu mgbasa ozi Habrahabr10 iji nweta mbelata 10% na usoro gị.

Ịwụnye gburugburu desktọpụ na ihe niile dabere na iwu a:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsDị ka ọ dị n'okwu gara aga, anyị họọrọ XFCE n'ihi mkpa akụrụngwa ya dị ntakịrị.
Russification nke ihe nkesa na nrụnye ngwanrọ
Ọtụtụ mgbe, a na-ebugharị igwe mebere naanị na mpaghara Bekee. Na desktọpụ ị nwere ike ịchọrọ Russian, nke dị mfe ịtọlite. Nke mbụ, ka anyị tinye ntụgharị asụsụ maka mmemme sistemụ:
sudo apt-get install language-pack-ruKa anyị guzobe mpaghara:
sudo update-locale LANG=ru_RU.UTF-8Enwere ike nweta otu mmetụta ahụ site na iji aka dezie /etc/default/locale.
Maka nhazi nke GNOME na KDE, ebe nchekwa ahụ nwere ngwugwu asụsụ-pack-gnome-ru na asụsụ-pack-kde-ru - ị ga-achọ ha ma ọ bụrụ na iji mmemme sitere na gburugburu desktọọpụ ndị a. Na XFCE, ejiri ngwa tinye ntụgharị asụsụ. Ọzọ ị nwere ike ịwụnye ọkọwa okwu:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dictNa mgbakwunye, enwere ike ịchọrọ ntinye ntụgharị asụsụ maka ụfọdụ mmemme ngwa:
# Браузер 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-ruNke a mezuru nkwadebe nke gburugburu desktọpụ, naanị ihe fọdụrụ bụ ịhazi sava RDP.
Ịwụnye na ịhazi sava RDP
Ebe nchekwa Ubuntu nwere ihe nkesa Xrdp kesara n'efu, nke anyị ga-eji:
sudo apt-get install xrdpỌ bụrụ na ihe niile gara nke ọma, ihe nkesa kwesịrị ịmalite na-akpaghị aka:
sudo systemctl status xrdp 
Ihe nkesa Xrdp na-eji ikike onye ọrụ xrdp ma na ndabara na-ewe akwụkwọ /etc/ssl/private/ssl-cert-snakeoil.key, nke enwere ike iji nke gị dochie ya. Iji nweta ohere ịgụ faịlụ ahụ, ịkwesịrị ịgbakwunye onye ọrụ na otu ssl-cert:
sudo adduser xrdp ssl-certEnwere ike ịchọta ntọala ndabara na faịlụ /etc/default/xrdp, yana faịlụ nhazi ihe nkesa ndị ọzọ dị na /etc/xrdp directory. Isi ihe dị na faịlụ xrdp.ini, nke na-adịghị mkpa ịgbanwe. Edere nhazi ahụ nke ọma, yana manpages ndị kwekọrọ na ya gụnyere:
man xrdp.ini
man xrdpNaanị ihe fọdụrụ bụ idezi script /etc/xrdp/startwm.sh, nke a na-eme mgbe ebidola nnọkọ onye ọrụ. Nke mbụ, ka anyị mee nnomi nke edemede site na nkesa:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shIji malite gburugburu desktọpụ XFCE, ị ga-achọ edemede ihe dị ka nke a:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4Biko mara: na edemede ọ ka mma ịde ụzọ zuru oke na faịlụ ndị a na-arụ ọrụ - nke a bụ àgwà dị mma. Ka anyị mee ka edemede ahụ bụrụ nke a ga-emezu ma n'oge a, a ga-ewere nhazi nke ihe nkesa Xrdp zuru oke:
sudo chmod 755 /etc/xrdp/startwm.shMalitegharịa ihe nkesa:
sudo systemctl restart xrdp
Ịtọlite firewall
Site na ndabara, Xrdp na-ege ntị na ọdụ ụgbọ mmiri TCP 3389 na oghere niile. Dabere na nhazi ihe nkesa mebere, ị nwere ike hazie firewall Netfilter. Na Linux, a na-eme nke a site na iji iptables utility, mana na Ubuntu ọ ka mma iji ufw. Ọ bụrụ na amaara adreesị IP onye ahịa, a na-eji iwu a eme nhazi:
sudo ufw allow from IP_Address to any port 3389Ị nwere ike ịhapụ njikọ site na IP ọ bụla dị ka nke a:
sudo ufw allow 3389Usoro RDP na-akwado izo ya ezo, mana ikpughe ihe nkesa Xrdp na netwọk ọha bụ echiche ọjọọ. Ọ bụrụ na onye ahịa enweghị IP a kapịrị ọnụ, ihe nkesa ahụ kwesịrị ige ntị na localhost naanị ka iwelie nchekwa. Ọ kacha mma ịnweta ya site na ọwara SSH, nke ga-emegharị okporo ụzọ site na kọmputa onye ahịa n'enweghị nsogbu. Anyị nwere ụzọ yiri nke ahụ maka VNC nkesa.
Jikọọ na ihe nkesa RDP
Iji rụọ ọrụ na gburugburu desktọpụ, ọ ka mma ịmepụta onye ọrụ na-enweghị ihe ọ bụla:
sudo adduser rdpuser 
Ka anyị tinye onye ọrụ na otu sudo ka o nwee ike ịrụ ọrụ metụtara nchịkwa. Ọ bụrụ na enweghị mkpa dị otú ahụ, ị nwere ike ịgafe usoro a:
sudo gpasswd -a rdpuser sudoỊ nwere ike jikọọ na ihe nkesa site na iji onye ahịa RDP ọ bụla, gụnyere ndị ahịa Windows Remote Desktop Services wuru n'ime ya. Ọ bụrụ na Xrdp na-ege ntị na interface mpụga, ọ nweghị omume ọzọ agaghị achọ. O zuru ezu ịkọwa adreesị IP VPS, aha njirimara na paswọọdụ na ntọala njikọ. Mgbe njikọ, anyị ga-ahụ ihe dị ka nke a:

Ka emechara ntọala mbụ nke gburugburu desktọpụ, anyị ga-enweta desktọpụ zuru oke. Dị ka ị pụrụ ịhụ, ọ dịghị eri ọtụtụ ihe onwunwe, ọ bụ ezie na ihe niile ga-adabere na ngwa eji.

Ọ bụrụ na ihe nkesa Xrdp na-ege ntị naanị localhost, okporo ụzọ dị na kọmputa onye ahịa ga-etinyerịrị n'ime ọwara SSH (sshd ga na-agba ọsọ na VPS). Na Windows, ị nwere ike iji onye ahịa SSH eserese (dịka ọmụmaatụ, PuTTY), yana na sistemụ UNIX, ịchọrọ ngwa ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipMgbe ebidochara ọwara ahụ, onye ahịa RDP agaghịzi jikọọ na sava dịpụrụ adịpụ, kama na onye ọbịa mpaghara.
O siri ike na ngwaọrụ mkpanaka: ndị ahịa SSH nwere ike ibuli ọwara ga-azụrịrị, na iOS na iPadOS, ọrụ ndabere nke ngwa ndị ọzọ siri ike n'ihi njikarịcha ike nke oriri ike. Na iPhone na iPad, ị gaghị enwe ike ịmepụta ọwara na ngwa dị iche; ị ga-achọ ngwa onye na-ewe ihe ubi nke nwere ike ịmepụta njikọ RDP n'onwe ya site na SSH. Dị ka ihe atụ .
Onye njikwa nnọkọ na oge onye ọrụ
A na-emejuputa ikike ịrụ ọrụ ọtụtụ ndị ọrụ ozugbo na sava Xrdp ma ọ chọghị nhazi ọzọ. Mgbe ịmalite ọrụ ahụ site na systemd, otu usoro na-agba ọsọ na daemon mode, na-ege ntị na ọdụ ụgbọ mmiri 3389 ma na-ekwurịta okwu site na localhost na onye njikwa nnọkọ.
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
Ndị ọrụ anaghị ahụ onye njikwa oge ahụ anya, n'ihi na a na-ebufe nbanye na paswọọdụ akọwapụtara na ntọala ndị ahịa na ya na-akpaghị aka. Ọ bụrụ na nke a emeghị ma ọ bụ enwere njehie n'oge nyocha, windo nbanye ga-apụta kama desktọpụ.

A na-akọwapụta mmalite mmalite nke onye njikwa nnọkọ na akpaghị aka na faịlụ /etc/default/xrdp, na-echekwa nhazi ahụ na /etc/xrdp/sesman.ini. Na ndabara ọ dị ka nke a:
[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]Ịkwesighi ịgbanwe ihe ọ bụla ebe a, naanị ị ga-ewepụ nbanye na ikike mgbọrọgwụ (AllowRootLogin = ụgha). Maka onye ọrụ ọ bụla enyere ikike na sistemụ ahụ, a na-ewepụta usoro xrdp dị iche: ọ bụrụ na ị kwụsịrị na-akwụsịghị nnọkọ ahụ, usoro onye ọrụ ga-aga n'ihu na ndabara, ma ị nwere ike jikọọ na nnọkọ ahụ ọzọ. Enwere ike gbanwee ntọala na faịlụ /etc/xrdp/sesman.ini ([Sessions] ngalaba).
Ịgbanwe nhazi ahụigodo
Enweghị nsogbu ọ bụla na bọọdụ ụzọ abụọ, mana site na okirikiri nhọrọ ukwuu kiiboodu Russia, ị ga-egwu obere egwu (mpaghara Russia kwesịrị ịdịrịrịrịrị. ). Ka anyị dezie ntọala ahụigodo nke sava Xrdp:
sudo nano /etc/xrdp/xrdp_keyboard.iniỊkwesịrị ịgbakwunye ahịrị ndị a na njedebe nke faịlụ nhazi:
[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,ruNaanị ihe fọdụrụ bụ ịchekwa faịlụ ma malitegharịa Xrdp:
sudo systemctl restart xrdpDịka ị nwere ike ịhụ, ọ naghị esiri ike ịtọ ihe nkesa RDP na Linux VPS, mana Anyị atụleworị ntọlite VNC. Na mgbakwunye na teknụzụ ndị a, enwere nhọrọ ọzọ na-adọrọ mmasị: sistemụ X3Go na-eji usoro NX 2 gbanwere. Anyị ga-eme ya n'akwụkwọ na-abịa.
isi: www.habr.com
