В
Turinys:
Grafinės aplinkos diegimas
Paimsime virtualią mašiną su Ubuntu Server 18.04 LTS su dviem skaičiavimo branduoliais, keturiais gigabaitais RAM ir dvidešimties gigabaitų kietuoju disku (HDD). Silpnesnė konfigūracija netinka grafiniam darbalaukiui, nors tai priklauso nuo sprendžiamų užduočių. Nepamirškite naudoti reklamos kredito kodo Habrahabr10, kad gautumėte 10% nuolaidą užsakymui.
Darbalaukio aplinkos su visomis priklausomybėmis diegimas atliekamas naudojant šią komandą:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Kaip ir ankstesniu atveju, pasirinkome XFCE dėl santykinai mažų skaičiavimo išteklių poreikių.
Serverio rusifikavimas ir programinės įrangos diegimas
Dažnai virtualios mašinos diegiamos tik su anglų kalbos lokalizacija. Darbalaukyje gali prireikti rusų kalbos, kurią lengva nustatyti. Pirmiausia įdiegkime sistemos programų vertimus:
sudo apt-get install language-pack-ru
Nustatykime lokalizaciją:
sudo update-locale LANG=ru_RU.UTF-8
Tą patį efektą galima pasiekti rankiniu būdu redaguojant /etc/default/locale.
GNOME ir KDE lokalizavimui saugykloje yra paketai language-pack-gnome-ru ir language-pack-kde-ru – jums jų prireiks, jei naudosite programas iš šių darbalaukio aplinkų. XFCE vertimai įdiegiami kartu su programomis. Tada galite įdiegti žodynus:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Be to, kai kuriose taikomosiose programose gali reikėti įdiegti vertimus:
# Браузер 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
Taip baigiamas darbalaukio aplinkos paruošimas, belieka sukonfigūruoti KPP serverį.
KPP serverio diegimas ir konfigūravimas
Ubuntu saugyklose yra laisvai platinamas Xrdp serveris, kurį naudosime:
sudo apt-get install xrdp
Jei viskas klostėsi gerai, serveris turėtų įsijungti automatiškai:
sudo systemctl status xrdp
Xrdp serveris veikia su xrdp vartotojo teisėmis ir pagal numatytuosius nustatymus paima /etc/ssl/private/ssl-cert-snakeoil.key sertifikatą, kurį galima pakeisti savo. Kad galėtumėte skaityti failą, turite įtraukti vartotoją į ssl-cert grupę:
sudo adduser xrdp ssl-cert
Numatytuosius nustatymus galima rasti /etc/default/xrdp faile, o visi kiti serverio konfigūracijos failai yra /etc/xrdp kataloge. Pagrindiniai parametrai yra xrdp.ini faile, kurio keisti nereikia. Konfigūracija yra gerai dokumentuota ir yra įtraukti atitinkami vadovo puslapiai:
man xrdp.ini
man xrdp
Belieka tik redaguoti /etc/xrdp/startwm.sh scenarijų, kuris vykdomas inicijuojant vartotojo sesiją. Pirmiausia sukurkime atsarginę scenarijaus kopiją iš platinimo:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Norėdami paleisti XFCE darbalaukio aplinką, jums reikės tokio scenarijaus:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Atkreipkite dėmesį: scenarijuose geriau parašyti visą vykdomųjų failų kelią - tai geras įprotis. Padarykime scenarijų vykdomąjį ir šiuo metu Xrdp serverio sąranka gali būti laikoma baigta:
sudo chmod 755 /etc/xrdp/startwm.sh
Iš naujo paleiskite serverį:
sudo systemctl restart xrdp
Ugniasienės nustatymas
Pagal numatytuosius nustatymus Xrdp klausosi TCP 3389 prievado visose sąsajose. Atsižvelgiant į virtualaus serverio konfigūraciją, gali tekti sukonfigūruoti Netfilter ugniasienę. „Linux“ sistemoje tai paprastai daroma naudojant „iptables“ įrankį, tačiau „Ubuntu“ geriau naudoti „ufw“. Jei kliento IP adresas yra žinomas, konfigūracija atliekama naudojant šią komandą:
sudo ufw allow from IP_Address to any port 3389
Galite leisti prisijungti iš bet kurio IP, pavyzdžiui:
sudo ufw allow 3389
KPP protokolas palaiko šifravimą, tačiau Xrdp serverio atskleidimas viešuosiuose tinkluose yra bloga idėja. Jei klientas neturi fiksuoto IP, serveris turėtų klausytis tik „localhost“, kad padidintų saugumą. Geriausia jį pasiekti per SSH tunelį, kuris saugiai nukreips srautą iš kliento kompiuterio. Mes turime panašų požiūrį
Prisijungimas prie KPP serverio
Norėdami dirbti su darbalaukio aplinka, geriau sukurti atskirą neprivilegijuotą vartotoją:
sudo adduser rdpuser
Įtraukime vartotoją į sudo grupę, kad jis galėtų atlikti su administravimu susijusias užduotis. Jei tokio poreikio nėra, galite praleisti šį veiksmą:
sudo gpasswd -a rdpuser sudo
Prie serverio galite prisijungti naudodami bet kurį KPP klientą, įskaitant įtaisytąjį „Windows Remote Desktop Services“ klientą. Jei Xrdp klausosi išorinės sąsajos, papildomų veiksmų nereikės. Pakanka ryšio nustatymuose nurodyti VPS IP adresą, vartotojo vardą ir slaptažodį. Prisijungę pamatysime kažką panašaus:
Po pirminio darbalaukio aplinkos nustatymo gausime visavertį darbalaukį. Kaip matote, tai nesunaudoja daug resursų, nors viskas priklausys nuo naudojamų programų.
Jei Xrdp serveris klauso tik „localhost“, srautas kliento kompiuteryje turės būti supakuotas į SSH tunelį (sshd turi veikti VPS). Sistemoje Windows galite naudoti grafinį SSH klientą (pvz., PuTTY), o UNIX sistemose jums reikia ssh paslaugų:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Inicijuojus tunelį, RDP klientas nebeprisijungs prie nuotolinio serverio, o prie vietinio pagrindinio kompiuterio.
Su mobiliaisiais įrenginiais yra sunkiau: teks pirkti SSH klientus, galinčius kelti tunelį, o iOS ir iPadOS foninis trečiųjų šalių programų veikimas apsunkinamas dėl per gero energijos suvartojimo optimizavimo. „IPhone“ ir „iPad“ įrenginiuose negalėsite sukurti tunelio atskiroje programoje; jums reikės kombaino programos, kuri pati galėtų sukurti KPP ryšį per SSH. Tokie kaip pvz
Seansų tvarkyklė ir vartotojo seansai
Galimybė dirbti keliems vartotojams yra įdiegta tiesiogiai Xrdp serveryje ir nereikalauja papildomos konfigūracijos. Paleidus paslaugą per systemd, vienas procesas veikia demono režimu, klausosi 3389 prievado ir per localhost bendrauja su sesijos tvarkykle.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
Seansų tvarkyklė dažniausiai vartotojams nėra matoma, nes kliento nustatymuose nurodytas prisijungimas ir slaptažodis į jį perduodami automatiškai. Jei taip neatsitiks arba autentifikavimo metu įvyko klaida, vietoj darbalaukio atsiras interaktyvus prisijungimo langas.
Automatinis seansų tvarkyklės paleidimas nurodytas /etc/default/xrdp faile, o konfigūracija saugoma /etc/xrdp/sesman.ini. Pagal numatytuosius nustatymus jis atrodo maždaug taip:
[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]
Čia nieko keisti nereikia, tereikia išjungti prisijungimą su root teisėmis (AllowRootLogin=false). Kiekvienam sistemoje įgaliotam vartotojui paleidžiamas atskiras xrdp procesas: jei atsijungsite nebaigę seanso, vartotojo procesai ir toliau bus vykdomi pagal numatytuosius nustatymus ir galėsite vėl prisijungti prie seanso. Nustatymai gali būti pakeisti /etc/xrdp/sesman.ini faile (skiltyje [Sesijos]).
Klaviatūros išdėstymo perjungimas
Su dvipuse iškarpine paprastai problemų nekyla, bet su rusiškos klaviatūros išdėstymu teks šiek tiek pažaisti (rusiška lokalė jau turėtų būti
sudo nano /etc/xrdp/xrdp_keyboard.ini
Konfigūracijos failo pabaigoje turite pridėti šias eilutes:
[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
Belieka išsaugoti failą ir iš naujo paleisti Xrdp:
sudo systemctl restart xrdp
Kaip matote, nėra sunku nustatyti KPP serverį Linux VPS, bet
Šaltinis: www.habr.com