В isu takakurukura nzira yekumhanyisa VNC server pane chero mhando yemuchina chaiwo. Iyi sarudzo ine zvakawanda zvisingabatsiri, iyo huru iri iyo yakakwira bandwidth inodiwa kune nzira dzekufambisa data. Nhasi tichaedza kubatanidza kune graphical desktop paLinux kuburikidza neRDP (Remote Desktop Protocol). Iyo VNC sisitimu yakavakirwa pakufambisa pixel arrays kuburikidza neRFB (Remote Framebuffer) protocol, uye RDP inokutendera kuti utumire zvakanyanya kuomarara graphic primitives uye yakakwirira-level mirairo. Inowanzo shandiswa kuronga kure kure desktop masevhisi muWindows, asi maseva eLinux anowanikwawo.
Tafura yezviri mukati:
Kuisa iyo graphical nharaunda
Tichatora muchina chaiwo neUbuntu Server 18.04 LTS ane maviri ekomputa cores, mana gigabytes e RAM uye hard disk (HDD) yemagigabytes makumi maviri. Iyo isina kusimba gadziriso haina kukodzera kune graphical desktop, kunyangwe izvi zvinoenderana nemabasa ari kugadziriswa. Usakanganwa kushandisa iyo promo kodhi Habrahabr10 kuti uwane 10% kuderedzwa kana uchiodha.

Kuisa iyo desktop nharaunda ine zvese zvinotsamira kunoitwa nemurairo unotevera:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utilsSezvakaitika muchiitiko chakapfuura, takasarudza XFCE nekuda kwezvinodiwa zvekombuta zvakaderera.
Russification ye server uye software yekuisa
Kazhinji muchina chaiwo anoiswa neChirungu localization chete. Padesktop, Russian inogona kudiwa, iyo iri nyore kumisikidza. Chekutanga, ngatiise shanduro dzezvirongwa zvehurongwa:
sudo apt-get install language-pack-ruNgatisetei localization:
sudo update-locale LANG=ru_RU.UTF-8Mhedzisiro imwechete inogona kuwanikwa nekugadzirisa nemaoko iyo /etc/default/locale.
Zvekugarisana kweGNOME neKDE, iyo repository ine mutauro-pack-gnome-ru uye mutauro-pack-kde-ru mapakeji - unozoada kana ukashandisa zvirongwa kubva kune idzi desktop nharaunda. MuXFCE, shanduro dzinoiswa nemaapplication. Zvadaro unogona kuisa maduramazwi:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dictPamusoro pezvo, kuiswa kweshanduro kunogona kudikanwa kune mamwe mapurogiramu ekushandisa:
# Браузер 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-ruIzvi zvinopedzisa kugadzirira kwedesktop nharaunda, chasara kugadzirisa iyo RDP server.
Kuisa uye kugadzirisa RDP server
Pane yakagoverwa pachena Xrdp server muUbuntu repositories, yatichashandisa:
sudo apt-get install xrdpKana zvese zvikafamba zvakanaka, sevha inofanirwa kutanga yega:
sudo systemctl status xrdp 
Iyo Xrdp server inomhanya ne xrdp mushandisi kodzero uye nekukasira inotora chitupa /etc/ssl/private/ssl-cert-snakeoil.key, iyo inogona kutsiviwa neyako. Kuti uwane iyo faira, unofanirwa kuwedzera mushandisi kune ssl-cert boka:
sudo adduser xrdp ssl-certIzvo zvigadziriso zvekugadzirisa zvinogona kuwanikwa mu /etc/default/xrdp faira, uye mamwe ese mafaera ekugadzirisa sevha ari mu /etc/xrdp dhairekitori. Izvo zviyero zvikuru zviri mu xrdp.ini faira, iyo isingadi kuchinjwa. Iyo config yakanyatso kunyorwa, uye inoenderana manpages inosanganisirwa:
man xrdp.ini
man xrdpChasara ndechekugadzirisa script /etc/xrdp/startwm.sh, iyo inoitwa kana chikamu chemushandisi chatangwa. Ngatigadzirei kopi yekuchengetedza script kubva mukugovera zvisati zvaitika:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.shKutanga iyo XFCE desktop nharaunda, iwe unozoda script rinotaridzika seizvi:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4Ndapota cherechedzai: zviri nani kunyora nzira yakazara kune mafaira anogadziriswa mune zvinyorwa - iyi itsika yakanaka. Ngatiite kuti script iite uye izvi zvinopedzisa Xrdp server setup:
sudo chmod 755 /etc/xrdp/startwm.shTangazve sevha:
sudo systemctl restart xrdp
Kugadzira firewall
By default, Xrdp inoteerera TCP port 3389 pane ese mainterfaces. Zvichienderana neiyo chaiyo server kumisikidzwa, ungangoda kugadzirisa iyo Netfilter firewall. MuLinux, izvi zvinowanzoitwa uchishandisa iptables utility, asi muUbuntu, zviri nani kushandisa ufw. Kana IP kero yemutengi ichizivikanwa, iyo gadziriso inoitwa nemurairo unotevera:
sudo ufw allow from IP_Address to any port 3389Iwe unogona kubvumira kubatana kubva kune chero IP seizvi:
sudo ufw allow 3389Iyo RDP protocol inotsigira encryption, asi kuvhura kupinda kune Xrdp server kubva kune veruzhinji network ipfungwa yakaipa. Kana mutengi asina IP yakatarwa, sevha inofanirwa kuteerera chete kune localhost kuti iwedzere kuchengetedzeka. Zviri nani kugadzirisa kupinda kwairi kuburikidza neSSH tunnel, iyo inozotungamira zvakachengetedzeka traffic kubva kune mutengi komputa. Tine maitiro akafanana yeVNC server.
Kubatanidza kuRDP server
Kuti ushande nedesktop nharaunda, zviri nani kugadzira akaparadzana asina rusarura mushandisi:
sudo adduser rdpuser 
Ngatiwedzerei mushandisi kuboka re sudo kuti aite mabasa ane chekuita nekutonga. Kana pasina kudiwa kwakadaro, unogona kusvetuka danho iri:
sudo gpasswd -a rdpuser sudoIwe unogona kubatana kune sevha uchishandisa chero RDP mutengi, kusanganisira yakavakirwa-mukati Windows Remote Desktop Service mutengi. Kana Xrdp ichiteerera kune yekunze interface, hapana mamwe matanho anodiwa. Zvakakwana kutsanangura iyo VPS IP kero, zita rekushandisa, uye password mumaseti ekubatanidza. Mushure mekubatanidza, tichaona chimwe chinhu chakadai:

Mushure mekutanga kuseta yedesktop nharaunda, isu tichawana yakazara-yakazara desktop. Sezvauri kuona, haipedzi zviwanikwa zvakawanda, kunyangwezve zvese zvinoenderana nemashandisirwo anoshandiswa.

Kana iyo Xrdp server ichiteerera chete kune localhost, iyo traffic pakombiyuta yemutengi ichafanirwa kurongedzerwa muSSH tunnel (sshd inofanira kunge ichimhanya paVPS). Pasi peWindows, unogona kushandisa graphical SSH mutengi (semuenzaniso, PuTTY), uye pane UNIX masisitimu, unoda iyo ssh utility:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ipMushure mekunge mugero watangwa, mutengi weRDP haachabatanidzi kune sevha iri kure, asi kumugadziri wenzvimbo.
Izvo zvakanyanya kuomarara nenharembozha: uchafanirwa kutenga vatengi veSSH vanokwanisa kumisikidza mugero, uye muIOS neiPadOS, basa rekumashure rechitatu-bato rekushandisa rakaoma nekuda kwekunyanya kunaka kwekushandisa simba. Pa iPhone ne iPad, haugone kumisikidza tunnel mune yakaparadzana application - iwe unozoda musanganiswa application iyo inogona kumisa iyo RDP yekubatanidza kuburikidza neSSH. Zvakadai, semuenzaniso, .
Session Maneja uye Mushandisi Sessions
Iyo yakawanda-mushandisi kugona inoitwa yakananga muXrdp server uye haidi imwe gadziriso. Mushure mekutanga sevhisi kuburikidza nesystemd, imwe maitiro anomhanya mudhimoni modhi, inoteerera kuchiteshi 3389 uye inopindirana kuburikidza ne localhost nemaneja wechikamu.
ps aux |grep xrdp 
sudo netstat -ap |grep xrdp 
Maneja wechikamu kazhinji haaonekwe kune vashandisi nekuti iyo yekupinda uye password inotsanangurwa mumasetimu emutengi inoendeswa kwairi otomatiki. Kana izvi zvikasaitika kana kukanganisa kukaitika panguva yechokwadi, hwindo rekupindirana rekupinda richaonekwa panzvimbo yedesktop.

Kuvhura otomatiki kwemaneja wechikamu kunotsanangurwa mufaira /etc/default/xrdp, uye gadziriso yacho inochengetwa mukati /etc/xrdp/sesman.ini. Nekusagadzikana, zvinotaridzika seizvi:
[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]Iko hakuna chikonzero chekuchinja chero chinhu pano, iwe unongoda kurambidza midzi kupinda (AllowRootLogin = nhema). Iyo yakaparadzana xrdp maitiro inotangwa kune yega yega mushandisi akapinzwa muhurongwa: kana iwe ukabvisa pasina kupedzisa chikamu, maitiro emushandisi acharamba achishanda nekukasira, uye unogona kubatana zvakare kuchikamu. Zvirongwa zvinogona kuchinjwa mu /etc/xrdp/sesman.ini faira (chikamu [Sessions]).
Kushandura marongerwo ekibhodhi
Iko kazhinji hakuna matambudziko neiyo nzira mbiri-clipboard, asi neRussia keyboard dhizaini uchafanirwa kuita mamwe mashiripiti (iyo yeRussia nzvimbo inofanirwa kunge yatove. ) Ngatigadzirise iyo keyboard marongero eiyo Xrdp server:
sudo nano /etc/xrdp/xrdp_keyboard.iniMitsetse inotevera inofanirwa kuwedzerwa kusvika kumagumo kwefaira rekugadzirisa:
[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,ruChasara kuchengetedza faira uye kutangazve Xrdp:
sudo systemctl restart xrdpSezvauri kuona, kumisikidza RDP server pane Linux VPS haina kuoma, uye mukati isu takatokurukura nezve VNC setup. Pamusoro peiyi tekinoroji, pane imwe inonakidza sarudzo: iyo X3Go system, inoshandisa yakagadziridzwa NX 2 protocol. Tichazvitarisa mubhuku rinotevera.
Source: www.habr.com
