VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ запуск сСрвСра VNC Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС любого Ρ‚ΠΈΠΏΠ°. Π£ этого Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° масса нСдостатков, основным ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ высокиС трСбования ΠΊ пропускной способности ΠΊΠ°Π½Π°Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. БСгодня ΠΌΡ‹ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ графичСскому Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ столу Π½Π° Linux ΠΏΠΎ RDP (Remote Desktop Protocol). БистСма VNC основана Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ массивов пиксСлСй ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ RFB (Remote Framebuffer), Π° RDP позволяСт ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС графичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹ ΠΈ высокоуровнСвыС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ слуТб ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов Π² Windows, Π½ΠΎ сСрвСры для Linux Ρ‚Π°ΠΊΠΆΠ΅ доступны.

ОглавлСниС:

Установка графичСского окруТСния
Русификация сСрвСра ΠΈ установка ПО
Установка ΠΈ настройка сСрвСра RDP
Настройка мСТсСтСвого экрана
ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру RDP
ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСссий ΠΈ сСансы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ раскладок ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

Установка графичСского окруТСния

ΠœΡ‹ возьмСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Ubuntu Server 18.04 LTS с двумя Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ядрами, Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°ΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ТСстким диском (HDD) Π½Π° Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΡŒ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚. Π‘ΠΎΠ»Π΅Π΅ слабая конфигурация ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для графичСского дСсктопа, хотя это зависит ΠΎΡ‚ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠΎΠΊΠΎΠ΄ Habrahabr10 для получСния скидки Π² 10% ΠΏΡ€ΠΈ Π·Π°ΠΊΠ°Π·Π΅.

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
Установка окруТСния Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола со всСми зависимостями выполняСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

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

Как ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ случаС, ΠΌΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ XFCE ΠΈΠ·-Π·Π° ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСвысоких Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ рСсурсам.

Русификация сСрвСра ΠΈ установка ПО

Часто Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с английской Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. На дСсктопС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ русская, Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ нСслоТно. Π‘Π½Π°Ρ‡Π°Π»Π° установим ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ для систСмных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:

sudo apt-get install language-pack-ru

Настроим Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ:

sudo update-locale LANG=ru_RU.UTF-8

Π’ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ„Π°ΠΉΠ» /etc/default/locale.

Для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ GNOME ΠΈ KDE Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ language-pack-gnome-ru ΠΈ language-pack-kde-ru β€” ΠΎΠ½ΠΈ понадобятся, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· этих срСд Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола. Π’ XFCE ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ вмСстС с прилоТСниями. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΡ‚Π°Π»Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ словари:

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

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

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, инсталляция ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ:

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

На этом ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сСрвСр RDP.

Установка ΠΈ настройка сСрвСра RDP

Π’ рСпозиториях Ubuntu Π΅ΡΡ‚ΡŒ распространяСмый свободно сСрвСр Xrdp, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ:

sudo apt-get install xrdp

Если всС ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΡ автоматичСски:

sudo systemctl status xrdp

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
Π‘Π΅Ρ€Π²Π΅Ρ€ Xrdp запускаСтся с ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ xrdp ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±Π΅Ρ€Π΅Ρ‚ cΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ /etc/ssl/private/ssl-cert-snakeoil.key, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ собствСнным. Для доступа Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ ssl-cert:

sudo adduser xrdp ssl-cert

Настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/default/xrdp, Π° всС ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ сСрвСра Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/xrdp. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ находятся Π² Ρ„Π°ΠΉΠ»Π΅ xrdp.ini, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ. ΠšΠΎΠ½Ρ„ΠΈΠ³ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ имССтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ manpages:

man xrdp.ini
man xrdp

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипт /etc/xrdp/startwm.sh, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ исполняСтся ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ сСссии. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сдСлаСм Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию скрипта ΠΈΠ· дистрибутива:

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола XFCE, потрСбуСтся сцСнарий ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ содСрТания:

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

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² скриптах Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмым Ρ„Π°ΠΉΠ»Π°ΠΌ β€” это Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ°. Π‘Π΄Π΅Π»Π°Π΅ΠΌ скрипт исполняСмым ΠΈ Π½Π° этом настройку сСрвСра Xrdp ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ:

sudo chmod 755 /etc/xrdp/startwm.sh

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΠΌ сСрвСр:

sudo systemctl restart xrdp

Настройка мСТсСтСвого экрана

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Xrdp ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ TCP-ΠΏΠΎΡ€Ρ‚ 3389 Π½Π° всСх интСрфСйсах. Π’ зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвСра ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ настройка мСТсСтСвого экрана Netfilter. Π’ Linux это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ iptables, Π½ΠΎ Π² Ubuntu Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ufw. Если IP-адрСс ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° извСстСн, настройка осущСствляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

sudo ufw allow from IP_Address to any port 3389

Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ соСдинСния с любого IP ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

sudo ufw allow 3389

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» RDP ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ доступ ΠΊ сСрвСру Xrdp ΠΈΠ· сСтСй ΠΎΠ±Ρ‰Π΅Π³ΠΎ пользования β€” плохая идСя. Если Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅Ρ‚ фиксированного IP, для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ уровня бСзопасности сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ localhost. Доступ ΠΊ Π½Π΅ΠΌΡƒ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ SSH, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ бСзопасно ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с клиСнтского ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Аналогичный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΡ‹ использовали Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ для сСрвСра VNC.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ сСрвСру RDP

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ:

sudo adduser rdpuser

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ sudo, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ связанныС с администрированиСм Π·Π°Π΄Π°Ρ‡ΠΈ. Если Ρ‚Π°ΠΊΠΎΠΉ потрСбности Π½Π΅Ρ‚, этот шаг ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

sudo gpasswd -a rdpuser sudo

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ любого ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° RDP, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ встроСнный ΠΊΠ»ΠΈΠ΅Π½Ρ‚ слуТбы ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… столов Windows. Если Xrdp ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ внСшний интСрфСйс, Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π½Π΅ понадобится. Достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² настройках соСдинСния IP-адрСс VPS, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ:

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
ПослС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ настройки окруТСния Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ дСсктоп. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΎΠ½ потрСбляСт Π½Π΅ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов, хотя дальшС всС Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
Если сСрвСр Xrdp ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ localhost, Π½Π° клиСнтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ придСтся ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ SSH (Π½Π° VPS Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ sshd). Под Windows ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ графичСский ΠΊΠ»ΠΈΠ΅Π½Ρ‚ SSH (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PuTTY), Π° Π² UNIX-систСмах Π½ΡƒΠΆΠ½Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ssh:

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

ПослС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ туннСля ΠΊΠ»ΠΈΠ΅Π½Ρ‚ RDP Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ Π½Π΅ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ сСрвСру, Π° ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ хосту.

Π‘ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ устройствами слоТнСС: способныС ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ SSH придСтся ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π² iOS ΠΈ iPadOS фоновая Ρ€Π°Π±ΠΎΡ‚Π° сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π° ΠΈΠ·-Π·Π° слишком Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ энСргопотрСблСния. На iPhone ΠΈ iPad ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ получится β€” потрСбуСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΊΠΎΠΌΠ±Π°ΠΉΠ½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ само ΡƒΠΌΠ΅Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС RDP Ρ‡Π΅Ρ€Π΅Π· SSH. Π’Π°ΠΊΠΎΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Remoter Pro.

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСссий ΠΈ сСансы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° нСпосрСдствСнно Π² сСрвСрС Xrdp ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ настройки. ПослС запуска сСрвиса Ρ‡Π΅Ρ€Π΅Π· systemd ΠΎΠ΄ΠΈΠ½ процСсс Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΠΌΠΎΠ½Π°, ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡ€Ρ‚ 3389 ΠΈ взаимодСйствуСт Ρ‡Π΅Ρ€Π΅Π· localhost с ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ сСссий.

ps aux |grep xrdp

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ сСансов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²ΠΈΠ΄Π΅Π½, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² настройках ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π»ΠΎΠ³ΠΈΠ½ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΅ΠΌΡƒ автоматичСски. Если этого Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка, вмСсто Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола появится ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ для Π²Ρ…ΠΎΠ΄Π° Π² систСму.

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04
АвтоматичСский запуск ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° сСссий прописан Π² Ρ„Π°ΠΉΠ»Π΅ /etc/default/xrdp, Π° конфигурация хранится Π² /etc/xrdp/sesman.ini. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ выглядит ΠΎΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

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

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ, стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root (AllowRootLogin=false). Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Π² систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ запускаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс xrdp: Ссли ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ² сСанс, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ процСссы ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° ΠΊ сСансу ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π·Π°Π½ΠΎΠ²ΠΎ. Настройки ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ /etc/xrdp/sesman.ini (сСкция [Sessions]).

ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ раскладок ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹

Π‘ двухсторонним Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Π° Π²ΠΎΡ‚ с русской раскладкой ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ придСтся Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡˆΠ°ΠΌΠ°Π½ΠΈΡ‚ΡŒ (русская локаль Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΠΆΠ΅ установлСна). ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹Π΅ настройки сСрвСра Xrdp:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Π’ ΠΊΠΎΠ½Π΅Ρ† ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки:

[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

ΠžΡΡ‚Π°Π΅Ρ‚ΡΡ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Xrdp:

sudo systemctl restart xrdp

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ сСрвСр RDP Π½Π° линуксовом VPS нСслоТно, Π° Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ настройку VNC. Помимо этих Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ интСрСсный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» NX 3 систСма X2Go. Π‘ Π½Π΅ΠΉ ΠΌΡ‹ разбСрСмся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

VPS Π½Π° Linux с графичСским интСрфСйсом: запускаСм сСрвСр RDP Π½Π° Ubuntu 18.04

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com