VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Π’ miaging artikulo among gihisgutan ang pagpadagan sa usa ka VNC server sa usa ka virtual machine sa bisan unsang matang. Kini nga kapilian adunay daghang mga disadvantages, ang nag-unang usa niini mao ang taas nga mga kinahanglanon alang sa throughput sa mga channel sa transmission sa data. Karon atong sulayan ang pagkonektar sa usa ka graphical nga desktop sa Linux pinaagi sa RDP (Remote Desktop Protocol). Ang sistema sa VNC gibase sa pagpasa sa mga arrays sa mga pixel gamit ang RFB (Remote Framebuffer) protocol, ug ang RDP nagtugot kanimo sa pagpadala sa mas komplikado nga graphics primitives ug high-level commands. Kasagaran kini gigamit sa pag-host sa Remote Desktop Services sa Windows, apan ang mga server alang sa Linux magamit usab.

Talaan sa mga sulod:

Pag-instalar sa graphical nga palibot
Russification sa server ug pag-instalar sa software
Pag-instalar ug pag-configure sa usa ka RDP server
Pagbutang ug firewall
Pagkonektar sa usa ka RDP server
Session Manager ug User Sessions
Pagbalhin sa mga layout sa keyboard

Pag-instalar sa graphical nga palibot

Magkuha kami usa ka virtual machine nga adunay Ubuntu Server 18.04 LTS nga adunay duha nga mga cores sa kompyuter, upat ka gigabytes sa RAM ug usa ka baynte gigabyte nga hard drive (HDD). Ang mas huyang nga pag-configure dili angay alang sa usa ka graphical nga desktop, bisan kung kini nagdepende sa mga buluhaton nga gisulbad. Ayaw kalimti ang paggamit sa promo code nga Habrahabr10 aron makakuha og 10% nga diskwento sa imong order.

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Ang pag-instalar sa palibot sa desktop uban sa tanan nga mga dependency gihimo sa mosunod nga sugo:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Sama sa miaging kaso, gipili namo ang XFCE tungod sa medyo ubos nga mga kinahanglanon sa kapanguhaan sa kompyuter.

Russification sa server ug pag-instalar sa software

Kasagaran ang mga virtual nga makina ipakatap lamang sa English localization. Sa desktop tingali kinahanglan nimo ang Ruso, nga dali i-set up. Una, atong i-install ang mga hubad alang sa mga programa sa sistema:

sudo apt-get install language-pack-ru

Atong i-set up ang localization:

sudo update-locale LANG=ru_RU.UTF-8

Ang sama nga epekto mahimong makab-ot pinaagi sa mano-mano nga pag-edit sa /etc/default/locale.

Para sa localization sa GNOME ug KDE, ang repository adunay language-pack-gnome-ru ug language-pack-kde-ru nga mga pakete - kinahanglan nimo kini kung mogamit ka og mga programa gikan niining mga desktop environment. Sa XFCE, ang mga hubad gi-install sa mga aplikasyon. Sunod mahimo nimong i-install ang mga diksyonaryo:

# Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
sudo apt-get install hunspell hunspell-ru

# ВСзаурус для LibreOffice
sudo apt-get install mythes-ru

# Англо-русский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DICT
sudo apt-get install mueller7-dict

Dugang pa, ang pag-instalar sa mga hubad mahimong gikinahanglan alang sa pipila ka mga programa sa aplikasyon:

# Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ 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

Nakompleto niini ang pag-andam sa desktop environment, ang nahabilin mao ang pag-configure sa RDP server.

Pag-instalar ug pag-configure sa usa ka RDP server

Ang mga repositoryo sa Ubuntu adunay libre nga gipang-apod-apod nga Xrdp server, nga among gamiton:

sudo apt-get install xrdp

Kung maayo ang tanan, kinahanglan nga awtomatiko nga magsugod ang server:

sudo systemctl status xrdp

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Ang Xrdp server nagdagan uban sa xrdp user rights ug sa default gikuha ang /etc/ssl/private/ssl-cert-snakeoil.key nga sertipiko, nga mahimong pulihan sa imong kaugalingon. Aron adunay access sa pagbasa sa file, kinahanglan nimong idugang ang user sa ssl-cert nga grupo:

sudo adduser xrdp ssl-cert

Ang default nga mga setting makita sa /etc/default/xrdp file, ug ang tanang uban pang mga server configuration files anaa sa /etc/xrdp directory. Ang nag-unang mga parameter anaa sa xrdp.ini file, nga dili kinahanglan nga usbon. Ang config maayo nga dokumentado, ug ang katugbang nga mga manpage gilakip:

man xrdp.ini
man xrdp

Ang nahabilin mao ang pag-edit sa /etc/xrdp/startwm.sh nga script, nga gipatuman kung ang sesyon sa gumagamit gisugdan. Una, maghimo kita og backup nga kopya sa script gikan sa pag-apod-apod:

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh

Aron masugdan ang XFCE desktop environment, magkinahanglan ka og script nga sama niini:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4

Palihug timan-i: sa mga script mas maayo nga isulat ang tibuok nga agianan ngadto sa mga executable nga mga file - kini usa ka maayong batasan. Himoon nato nga executable ang script ug niining puntoha ang setup sa Xrdp server maisip nga kompleto:

sudo chmod 755 /etc/xrdp/startwm.sh

I-restart ang server:

sudo systemctl restart xrdp

Pagbutang ug firewall

Sa kasagaran, ang Xrdp naminaw sa TCP port 3389 sa tanang interface. Depende sa configuration sa virtual server, mahimong kinahanglan nimo nga i-configure ang usa ka Netfilter firewall. Sa Linux kasagaran kini gihimo gamit ang iptables utility, apan sa Ubuntu mas maayo nga gamiton ang ufw. Kung nahibal-an ang IP address sa kliyente, ang pag-configure gihimo gamit ang mosunud nga mando:

sudo ufw allow from IP_Address to any port 3389

Mahimo nimong tugutan ang mga koneksyon gikan sa bisan unsang IP nga sama niini:

sudo ufw allow 3389

Ang protocol sa RDP nagsuporta sa pag-encrypt, apan ang pagbutyag sa Xrdp server sa mga pampublikong network usa ka dili maayo nga ideya. Kung ang kliyente walay usa ka fixed IP, ang server kinahanglan lamang maminaw sa localhost aron madugangan ang seguridad. Labing maayo nga ma-access kini pinaagi sa SSH tunnel, nga luwas nga mag-redirect sa trapiko gikan sa computer sa kliyente. Kita adunay susama nga paagi gigamit sa miaging artikulo alang sa VNC server.

Pagkonektar sa usa ka RDP server

Aron magtrabaho kauban ang desktop environment, mas maayo nga maghimo usa ka lahi nga wala’y pribilehiyo nga tiggamit:

sudo adduser rdpuser

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Atong idugang ang user sa sudo nga grupo aron makahimo siya sa mga buluhaton nga may kalabotan sa administrasyon. Kung walay ingon nga panginahanglan, mahimo nimong laktawan kini nga lakang:

sudo gpasswd -a rdpuser sudo

Makakonekta ka sa server gamit ang bisan unsang RDP client, lakip ang built-in nga Windows Remote Desktop Services nga kliyente. Kung ang Xrdp naminaw sa eksternal nga interface, wala’y kinahanglan nga dugang nga mga aksyon. Igo na nga ipiho ang VPS IP address, username ug password sa mga setting sa koneksyon. Human sa pagkonektar, atong makita ang usa ka butang nga sama niini:

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Pagkahuman sa inisyal nga pag-setup sa desktop environment, makakuha kami usa ka hingpit nga desktop. Sama sa imong nakita, wala kini mag-ut-ut sa daghang mga kapanguhaan, bisan kung ang tanan magdepende sa mga aplikasyon nga gigamit.

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Kung ang Xrdp server maminaw lamang sa localhost, ang trapiko sa kliyente nga kompyuter kinahanglan nga ibutang sa usa ka SSH tunnel (sshd kinahanglan nga nagdagan sa VPS). Sa Windows, mahimo nimong gamiton ang usa ka graphical nga kliyente sa SSH (pananglitan, PuTTY), ug sa mga sistema sa UNIX kinahanglan nimo ang ssh utility:

ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip

Human masugdan ang tunnel, ang kliyente sa RDP dili na magkonektar sa hilit nga server, apan sa lokal nga host.

Mas lisud sa mga mobile device: Ang mga kliyente sa SSH nga makahimo sa pagpataas sa usa ka tunel kinahanglan nga paliton, ug sa iOS ug iPadOS, ang background nga operasyon sa mga third-party nga aplikasyon lisud tungod sa maayo kaayo nga pag-optimize sa konsumo sa enerhiya. Sa iPhone ug iPad, dili ka makahimo og tunnel sa usa ka bulag nga aplikasyon; magkinahanglan ka og harvester application nga makahimo mismo og koneksyon sa RDP pinaagi sa SSH. Sama sa, pananglitan Remoter Pro.

Session Manager ug User Sessions

Ang abilidad sa multi-user nga trabaho gipatuman direkta sa Xrdp server ug wala magkinahanglan og dugang nga configuration. Pagkahuman sa pagsugod sa serbisyo pinaagi sa systemd, usa ka proseso ang nagdagan sa daemon mode, naminaw sa port 3389 ug nakigsulti pinaagi sa localhost sa manager sa sesyon.

ps aux |grep xrdp

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Ang tagdumala sa sesyon kasagaran dili makita sa mga tiggamit, tungod kay ang pag-login ug password nga gitakda sa mga setting sa kliyente awtomatiko nga gibalhin niini. Kung dili kini mahitabo o adunay sayup sa panahon sa pag-authenticate, usa ka interactive nga window sa pag-login ang makita imbis sa desktop.

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04
Ang awtomatikong paglansad sa manager sa sesyon gipiho sa /etc/default/xrdp file, ug ang configuration gitipigan sa /etc/xrdp/sesman.ini. Sa kasagaran kini tan-awon sama niini:

[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]

Dili nimo kinahanglan nga usbon ang bisan unsa dinhi, kinahanglan nimo nga i-disable ang pag-login nga adunay mga katungod sa gamut (AllowRootLogin=false). Alang sa matag user nga awtorisado sa sistema, usa ka separado nga proseso sa xrdp ang gilusad: kon imong idiskonekta nga dili matapos ang sesyon, ang mga proseso sa user magpadayon sa pagdagan pinaagi sa default, ug ikaw makakonektar pag-usab sa sesyon. Ang mga setting mahimong usbon sa /etc/xrdp/sesman.ini file ([Session] nga seksyon).

Pagbalhin sa mga layout sa keyboard

Kasagaran walay mga problema sa usa ka two-way clipboard, apan uban sa Russian nga keyboard layout kinahanglan ka nga magdula-dula sa gamay (ang Russian nga lokal kinahanglan na instalar). Atong usbon ang mga setting sa keyboard sa Xrdp server:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Kinahanglan nimong idugang ang mosunod nga mga linya sa katapusan sa configuration file:

[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

Ang nahabilin mao ang pagluwas sa file ug i-restart ang Xrdp:

sudo systemctl restart xrdp

Sama sa imong nakita, dili lisud ang pag-set up sa usa ka RDP server sa usa ka Linux VPS, apan miaging artikulo Nahisgotan na namo ang pag-setup sa VNC. Dugang sa kini nga mga teknolohiya, adunay lain nga makapaikag nga kapilian: ang sistema sa X3Go gamit ang usa ka giusab nga protocol sa NX 2. Atong hisgotan kini sa sunod nga publikasyon.

VPS sa Linux nga adunay graphical interface: paglansad sa RDP server sa Ubuntu 18.04

Source: www.habr.com

Idugang sa usa ka comment