В
Oglašavanje:
Instalacija grafičkog okruženja
Uzet ćemo virtualni stroj s Ubuntu Serverom 18.04 LTS s dvije računalne jezgre, četiri gigabajta RAM-a i tvrdim diskom (HDD) od dvadeset gigabajta. Slabija konfiguracija nije prikladna za grafičku radnu površinu, iako to ovisi o zadacima koji se rješavaju. Ne zaboravite iskoristiti promo kod Habrahabr10 kako biste ostvarili popust od 10% na svoju narudžbu.
Instalacija desktop okruženja sa svim ovisnostima vrši se sljedećom naredbom:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Kao i u prethodnom slučaju, odabrali smo XFCE zbog njegovih relativno niskih zahtjeva za računalnim resursima.
Rusifikacija poslužitelja i instalacija softvera
Često se virtualni strojevi postavljaju samo s engleskom lokalizacijom. Na radnoj površini možda će vam trebati ruski, koji je jednostavan za postavljanje. Najprije instalirajmo prijevode za sistemske programe:
sudo apt-get install language-pack-ru
Postavimo lokalizaciju:
sudo update-locale LANG=ru_RU.UTF-8
Isti se učinak može postići ručnim uređivanjem /etc/default/locale.
Za lokalizaciju GNOME-a i KDE-a, repozitorij ima pakete language-pack-gnome-ru i language-pack-kde-ru - trebat će vam ako koristite programe iz ovih desktop okruženja. U XFCE-u, prijevodi se instaliraju s aplikacijama. Zatim možete instalirati rječnike:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Osim toga, instalacija prijevoda može biti potrebna za neke aplikacijske programe:
# Браузер 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
Ovime je završena priprema okruženja radne površine, preostaje samo konfigurirati RDP poslužitelj.
Instalacija i konfiguracija RDP poslužitelja
Ubuntu repozitoriji imaju slobodno distribuiran Xrdp poslužitelj, koji ćemo koristiti:
sudo apt-get install xrdp
Ako je sve prošlo dobro, server bi se trebao pokrenuti automatski:
sudo systemctl status xrdp
Xrdp poslužitelj radi s xrdp korisničkim pravima i prema zadanim postavkama uzima certifikat /etc/ssl/private/ssl-cert-snakeoil.key koji se može zamijeniti vašim vlastitim. Da biste imali pristup čitanju datoteke, morate dodati korisnika u grupu ssl-cert:
sudo adduser xrdp ssl-cert
Zadane postavke mogu se pronaći u datoteci /etc/default/xrdp, a sve ostale konfiguracijske datoteke poslužitelja nalaze se u direktoriju /etc/xrdp. Glavni parametri nalaze se u datoteci xrdp.ini koju nije potrebno mijenjati. Konfiguracija je dobro dokumentirana, a uključene su i odgovarajuće stranice priručnika:
man xrdp.ini
man xrdp
Sve što preostaje je urediti /etc/xrdp/startwm.sh skriptu, koja se izvršava kada se korisnička sesija inicijalizira. Prvo, napravimo sigurnosnu kopiju skripte iz distribucije:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Za pokretanje XFCE desktop okruženja trebat će vam skripta otprilike ova:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Imajte na umu: u skriptama je bolje napisati puni put do izvršnih datoteka - ovo je dobra navika. Učinimo skriptu izvršnom i u ovom trenutku postavljanje Xrdp poslužitelja može se smatrati dovršenim:
sudo chmod 755 /etc/xrdp/startwm.sh
Ponovno pokrenite poslužitelj:
sudo systemctl restart xrdp
Postavljanje vatrozida
Prema zadanim postavkama, Xrdp sluša TCP port 3389 na svim sučeljima. Ovisno o konfiguraciji virtualnog poslužitelja, možda ćete morati konfigurirati vatrozid Netfilter. Na Linuxu se to obično radi pomoću uslužnog programa iptables, ali na Ubuntuu je bolje koristiti ufw. Ako je IP adresa klijenta poznata, konfiguracija se provodi sljedećom naredbom:
sudo ufw allow from IP_Address to any port 3389
Možete dopustiti veze s bilo koje IP adrese ovako:
sudo ufw allow 3389
RDP protokol podržava enkripciju, ali izlaganje Xrdp poslužitelja javnim mrežama je loša ideja. Ako klijent nema fiksni IP, poslužitelj bi trebao slušati samo localhost radi povećanja sigurnosti. Najbolje mu je pristupiti preko SSH tunela, koji će sigurno preusmjeriti promet s klijentskog računala. Imamo sličan pristup
Povezivanje s RDP poslužiteljem
Za rad s okruženjem radne površine bolje je stvoriti zasebnog neprivilegiranog korisnika:
sudo adduser rdpuser
Dodajmo korisnika u grupu sudo kako bi mogao obavljati poslove vezane uz administraciju. Ako nema takve potrebe, možete preskočiti ovaj korak:
sudo gpasswd -a rdpuser sudo
Možete se povezati s poslužiteljem koristeći bilo koji RDP klijent, uključujući ugrađeni Windows Remote Desktop Services klijent. Ako Xrdp sluša vanjsko sučelje, neće biti potrebne dodatne radnje. Dovoljno je u postavkama veze navesti VPS IP adresu, korisničko ime i lozinku. Nakon povezivanja vidjet ćemo nešto poput ovoga:
Nakon početnog postavljanja okruženja radne površine, dobit ćemo potpunu radnu površinu. Kao što vidite, ne troši mnogo resursa, iako će sve ovisiti o korištenim aplikacijama.
Ako Xrdp poslužitelj sluša samo localhost, promet na klijentskom računalu morat će se upakirati u SSH tunel (sshd mora biti pokrenut na VPS-u). Na Windowsima možete koristiti grafički SSH klijent (na primjer, PuTTY), a na UNIX sustavima potreban vam je uslužni program ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Nakon što se tunel inicijalizira, RDP klijent se više neće spajati na udaljeni poslužitelj, već na lokalni host.
Teže je s mobilnim uređajima: morat ćete kupiti SSH klijente koji mogu podići tunel, au iOS-u i iPadOS-u otežan je pozadinski rad aplikacija trećih strana zbog predobre optimizacije potrošnje energije. Na iPhoneu i iPadu nećete moći stvoriti tunel u zasebnoj aplikaciji; trebat će vam harvester aplikacija koja sama može uspostaviti RDP vezu putem SSH-a. Kao što je npr
Upravitelj sesija i korisničke sesije
Mogućnost višekorisničkog rada implementirana je izravno u Xrdp poslužitelj i ne zahtijeva dodatnu konfiguraciju. Nakon pokretanja usluge putem systemd-a, jedan proces radi u demonskom načinu rada, sluša port 3389 i komunicira preko localhost s upraviteljem sesije.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
Upravitelj sesije obično nije vidljiv korisnicima, jer se prijava i lozinka navedeni u postavkama klijenta automatski prenose na njega. Ako se to ne dogodi ili dođe do pogreške tijekom provjere autentičnosti, umjesto radne površine pojavit će se interaktivni prozor za prijavu.
Automatsko pokretanje upravitelja sesije navedeno je u datoteci /etc/default/xrdp, a konfiguracija je pohranjena u /etc/xrdp/sesman.ini. Prema zadanim postavkama izgleda otprilike ovako:
[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]
Ovdje ne morate ništa mijenjati, samo morate onemogućiti prijavu s root pravima (AllowRootLogin=false). Za svakog autoriziranog korisnika u sustavu pokreće se zaseban xrdp proces: ako prekinete vezu bez završetka sesije, korisnički procesi nastavit će se izvoditi prema zadanim postavkama i možete se ponovno spojiti na sesiju. Postavke se mogu promijeniti u datoteci /etc/xrdp/sesman.ini (odjeljak [Sesije]).
Promjena rasporeda tipkovnice
Obično nema problema s dvosmjernim međuspremnikom, ali s ruskim rasporedom tipkovnice morat ćete se malo poigrati (ruski lokalitet već bi trebao biti
sudo nano /etc/xrdp/xrdp_keyboard.ini
Morate dodati sljedeće retke na kraj konfiguracijske datoteke:
[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
Sve što preostaje je spremiti datoteku i ponovno pokrenuti Xrdp:
sudo systemctl restart xrdp
Kao što vidite, nije teško postaviti RDP poslužitelj na Linux VPS, ali
Izvor: www.habr.com