В tinakambirana kuyendetsa seva ya VNC pamakina amtundu uliwonse. Njirayi ili ndi zovuta zambiri, chachikulu chomwe ndi chofunikira kwambiri pakuyenda kwa njira zotumizira deta. Lero tiyesa kulumikizana ndi desktop ya Linux kudzera pa RDP (Remote Desktop Protocol). Dongosolo la VNC limakhazikika pakutumiza masanjidwe a pixels pogwiritsa ntchito protocol ya RFB (Remote Framebuffer), ndipo RDP imakupatsani mwayi wotumiza zolemba zakale zovuta komanso malamulo apamwamba. Nthawi zambiri amagwiritsidwa ntchito kuchititsa Remote Desktop Services pa Windows, koma ma seva a Linux amapezekanso.
M'ndandanda wazopezekamo:
Kuyika malo ojambulidwa
Titenga makina enieni okhala ndi Ubuntu Server 18.04 LTS okhala ndi ma cores awiri apakompyuta, ma gigabytes anayi a RAM ndi hard drive ya gigabyte makumi awiri (HDD). Kusintha kocheperako sikoyenera pakompyuta yojambula, ngakhale izi zimatengera ntchito zomwe zikuthetsedwa. Musaiwale kugwiritsa ntchito nambala yotsatsira Habrahabr10 kuti muchepetse 10% pa oda yanu.

Kuyika chilengedwe cha desktop ndi zodalira zonse kumachitika ndi lamulo ili:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsMonga momwe zinalili m'mbuyomu, tidasankha XFCE chifukwa chosowa zida zamakompyuta.
Russification ya seva ndi kukhazikitsa mapulogalamu
Nthawi zambiri makina enieni amatumizidwa kokha ndi kumasulira kwa Chingerezi. Pa desktop mungafunike Chirasha, chomwe ndi chosavuta kukhazikitsa. Choyamba, tiyeni tiyike zomasulira zamapulogalamu:
sudo apt-get install language-pack-ruTiyeni tiyike kalozera:
sudo update-locale LANG=ru_RU.UTF-8Zomwezo zitha kutheka posintha pamanja /etc/default/locale.
Pakutanthauzira kwa GNOME ndi KDE, malo osungiramo ali ndi phukusi la chilankhulo-pack-gnome-ru ndi chilankhulo-pack-kde-ru - mudzazifuna ngati mugwiritsa ntchito mapulogalamu ochokera m'malo apakompyuta. Mu XFCE, zomasulira zimayikidwa ndi mapulogalamu. Kenako mutha kukhazikitsa madikishonale:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dictKuphatikiza apo, kuyika zomasulira kungafunike pamapulogalamu ena:
# Браузер 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-ruIzi zimamaliza kukonzekera malo apakompyuta, zomwe zatsala ndikukonza seva ya RDP.
Kukhazikitsa ndi kukonza seva ya RDP
Malo osungirako Ubuntu ali ndi seva ya Xrdp yogawidwa mwaufulu, yomwe tidzagwiritsa ntchito:
sudo apt-get install xrdpNgati zonse zidayenda bwino, seva iyenera kuyamba yokha:
sudo systemctl status xrdp 
Seva ya Xrdp imayenda ndi ufulu wogwiritsa ntchito xrdp ndipo mwachisawawa imatenga /etc/ssl/private/ssl-cert-snakeoil.key satifiketi, yomwe ingasinthidwe ndi yanu. Kuti mukhale ndi mwayi wowerenga fayilo, muyenera kuwonjezera wogwiritsa ntchito pagulu la ssl-cert:
sudo adduser xrdp ssl-certZosintha zosasinthika zitha kupezeka mu fayilo /etc/default/xrdp, ndipo mafayilo ena onse osinthira seva ali mu /etc/xrdp directory. Magawo akuluakulu ali mu fayilo ya xrdp.ini, yomwe siyenera kusinthidwa. Kukonzekera kumalembedwa bwino, ndipo ma manpages ofanana akuphatikizidwa:
man xrdp.ini
man xrdpZomwe zatsala ndikukonza /etc/xrdp/startwm.sh script, zomwe zimachitidwa pamene gawo la ogwiritsa ntchito likuyambitsidwa. Choyamba, tiyeni tipange zosunga zobwezeretsera za script kuchokera pakugawa:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shKuti muyambe chilengedwe cha desktop cha XFCE, mufunika script motere:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4Chonde dziwani: m'malemba ndi bwino kulemba njira yonse yamafayilo omwe angathe kuchitidwa - ichi ndi chizolowezi chabwino. Tiyeni tipange zolembazo kuti zitheke ndipo pakadali pano kukhazikitsidwa kwa seva ya Xrdp kumatha kuonedwa ngati kokwanira:
sudo chmod 755 /etc/xrdp/startwm.shYambitsaninso seva:
sudo systemctl restart xrdp
Kupanga firewall
Mwachikhazikitso, Xrdp imamvera TCP port 3389 pamawonekedwe onse. Kutengera kasinthidwe ka seva, mungafunike kukonza firewall ya Netfilter. Pa Linux izi zimachitika kawirikawiri pogwiritsa ntchito iptables utility, koma pa Ubuntu ndi bwino kugwiritsa ntchito ufw. Ngati adilesi ya IP ya kasitomala imadziwika, kasinthidwe kumachitika ndi lamulo ili:
sudo ufw allow from IP_Address to any port 3389Mutha kulola kulumikizana kuchokera pa IP iliyonse motere:
sudo ufw allow 3389Protocol ya RDP imathandizira kubisa, koma kuwonetsa seva ya Xrdp pamaneti apagulu ndi lingaliro loyipa. Ngati kasitomala alibe IP yokhazikika, seva iyenera kungomvera localhost kuti iwonjezere chitetezo. Ndikwabwino kuyipeza kudzera mumsewu wa SSH, womwe udzalondolera motetezeka magalimoto kuchokera pakompyuta ya kasitomala. Tili ndi njira yofananira kwa seva ya VNC.
Kulumikiza ku seva ya RDP
Kuti mugwire ntchito ndi malo apakompyuta, ndikwabwino kupanga wogwiritsa ntchito wopanda mwayi:
sudo adduser rdpuser 
Tiyeni tiwonjeze wogwiritsa ntchito pagulu la sudo kuti athe kuchita ntchito zokhudzana ndi oyang'anira. Ngati palibe chosowa chotero, mutha kudumpha sitepe iyi:
sudo gpasswd -a rdpuser sudoMutha kulumikizana ndi seva pogwiritsa ntchito kasitomala aliyense wa RDP, kuphatikiza kasitomala wa Windows Remote Desktop Services. Ngati Xrdp ikumvetsera mawonekedwe akunja, palibe zowonjezera zomwe zidzafunike. Ndikokwanira kutchula adilesi ya IP ya VPS, dzina lolowera ndi mawu achinsinsi pamakonzedwe olumikizirana. Pambuyo polumikizana, tiwona zinthu monga izi:

Pambuyo pakukhazikitsa koyambirira kwa chilengedwe cha desktop, tipeza desktop yathunthu. Monga mukuwonera, sizimawononga zinthu zambiri, ngakhale zonse zimatengera zomwe zimagwiritsidwa ntchito.

Ngati seva ya Xrdp imangomvera localhost yokha, magalimoto pamakompyuta a kasitomala ayenera kupakidwa mumsewu wa SSH (sshd iyenera kukhala ikuyenda pa VPS). Pa Windows, mutha kugwiritsa ntchito kasitomala wa SSH wojambula (mwachitsanzo, PuTTY), komanso pamakina a UNIX muyenera kugwiritsa ntchito ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipPambuyo poyambitsa njira, kasitomala wa RDP sadzalumikizananso ndi seva yakutali, koma kwa wolandila wamba.
Ndizovuta kwambiri ndi mafoni a m'manja: Makasitomala a SSH omwe amatha kukweza ngalande ayenera kugulidwa, ndipo mu iOS ndi iPadOS, ntchito yakumbuyo yamapulogalamu ena ndizovuta chifukwa chakukhathamiritsa kwamphamvu kwamagetsi. Pa iPhone ndi iPad, simungathe kupanga ngalande mu pulogalamu ina; mudzafunika pulogalamu yokolola yomwe imatha kukhazikitsa kulumikizana kwa RDP kudzera pa SSH. Monga, mwachitsanzo .
Session Manager ndi Magawo Ogwiritsa Ntchito
Kutha kugwira ntchito kwa ogwiritsa ntchito ambiri kumayendetsedwa mwachindunji mu seva ya Xrdp ndipo sikufuna kusintha kowonjezera. Mukayamba ntchitoyo kudzera pa systemd, njira imodzi imayenda mumayendedwe a daemon, imamvetsera pa doko 3389 ndikulumikizana kudzera pa localhost ndi woyang'anira gawo.
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
Woyang'anira gawolo nthawi zambiri sawoneka kwa ogwiritsa ntchito, chifukwa malowedwe ndi mawu achinsinsi omwe amatchulidwa muzokonda za kasitomala amasamutsidwa kwa izo zokha. Ngati izi sizichitika kapena pali cholakwika pakutsimikizira, zenera lolowera lolumikizana lidzawonekera m'malo mwa desktop.

Kukhazikitsidwa kwachitsanzo kwa woyang'anira gawo kumatchulidwa mu /etc/default/xrdp file, ndipo kasinthidwe kasungidwa mu /etc/xrdp/sesman.ini. Pokhapokha, zikuwoneka motere:
[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]Simuyenera kusintha chilichonse apa, muyenera kungoletsa kulowa ndi ufulu wa mizu (AllowRootLogin=zabodza). Kwa wogwiritsa ntchito aliyense wololedwa mu dongosolo, njira yosiyana ya xrdp imayambika: ngati mutachotsa popanda kutsiriza gawolo, njira za ogwiritsira ntchito zidzapitirira kuyenda mwachisawawa, ndipo mukhoza kugwirizanitsanso gawolo. Zokonda zitha kusinthidwa mu fayilo /etc/xrdp/sesman.ini ([gawo] gawo).
Kusintha masinthidwe a kiyibodi
Nthawi zambiri palibe vuto ndi bolodi lanjira ziwiri, koma ndi mawonekedwe a kiyibodi yaku Russia muyenera kusewera pang'ono (malo aku Russia ayenera kukhala kale. ). Tiyeni tisinthe makonda a kiyibodi a seva ya Xrdp:
sudo nano /etc/xrdp/xrdp_keyboard.iniMuyenera kuwonjezera mizere yotsatirayi kumapeto kwa fayilo yosinthira:
[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,ruZomwe zatsala ndikusunga fayilo ndikuyambitsanso Xrdp:
sudo systemctl restart xrdpMonga mukuonera, sikovuta kukhazikitsa seva ya RDP pa Linux VPS, koma Takambirana kale za kukhazikitsidwa kwa VNC. Kuphatikiza pa matekinoloje awa, pali njira ina yosangalatsa: kachitidwe ka X3Go pogwiritsa ntchito protocol yosinthidwa ya NX 2. Tidzathana nazo m’buku lotsatira.
Source: www.habr.com
