VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Налаштування VNC и RDP на віртуальному сервері ми вже освоїли, залишилося вивчити ще один варіант підключення до віртуального робочого столу Linux. Можливості створеного компанією NoMachine протоколу NX досить цікаві, до того ж, він добре працює через повільні канали. Фірмові серверні рішення коштують дорого (клієнтські безкоштовні), але існує і вільна реалізація, про яку йтиметься у цій статті — система X2Go. Вона відбрунькувалася від проекту з відкритим вихідним кодом FreeNXКоли NoMachine припинила його підтримувати і відпустила у вільне плавання.

Зміст:

Встановлення графічного оточення

Для віртуального графічного робочого столу на Linux потужні машини не потрібні, поки користувач не почне запускати прикладні програми. Для тестів ми візьмемо міцного середнячка з Ubuntu Server 18.04 LTS із двома обчислювальними ядрами, чотирма гігабайтами оперативної пам'яті та жорстким диском (HDD) на двадцять гігабайт. На RuVDS вже доступні образи Ubuntu Server 20.04 LTS, процес налаштування свіжішої версії буде аналогічним. Не забувайте використати промокод Habrahabr10 для отримання знижки в 10% при замовленні.

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04

Як оточення робочого столу знову беремо XFCE через відносно невисокі вимоги до обчислювальних ресурсів. До того ж із запуском цього DE через віддалений доступ у віртуальних середовищах не виникає проблем:

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

Русифікація сервера та встановлення ПЗ

На наступному етапі варто налаштувати локалізацію та встановити мінімальний набір прикладних програм: браузер, поштовий клієнт та офісний пакет. Спочатку встановлюємо переклади для системних програм:

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

На этом подготовка окружения рабочего стола завершена.

Встановлення сервера X2Go

Стабільні версії сервера та клієнта X2Go можна встановити із зовнішнього репозиторію PPA (Personal Packages Archive) на Лаунчпад або зі штатних репозиторіїв актуальних релізів Ubuntu. Ми зупинимося на другому варіанті, оскільки версії софту в обох джерелах однакові, але якщо вам будуть потрібні додаткові пакети, сторонній репозиторій доведеться підключити. Нам необхідно інсталювати два пакети:

sudo apt-get install x2goserver x2goserver-xsession

Якщо ви використовуєте оточення MATE або LXDE, додаткові пакети будуть потрібні (для XFCE вони не потрібні):

sudo apt-get install x2gomatebindings # if you use MATE/mubuntu
sudo apt-get install x2golxdebindings # if you use LXDE/lubuntu

Вишенька на торті: X2Go працює через SSH і подальшого настроювання не потребує. На VPS повинен бути запущений sshd і відкрити доступ до порту 22 у правилах міжмережевого екрану. Оскільки йдеться про віртуальний сервер, це, напевно, вже зроблено з коробки. На фізичній машині відкрити віддалений доступ SSH нескладно. Залишається лише перевірити статус сервера X2Go:

sudo systemctl status x2goserver

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Варто також завести непривілейованого користувача для роботи з оточенням робочого столу:

sudo adduser desktopuser

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Додамо користувача до групи sudo, щоб він міг вирішувати пов'язані з адмініструванням завдання. Якщо такої потреби немає, цей крок можна пропустити:

sudo gpasswd -a desktopuser sudo

Підключення до робочого столу

Клієнтське ПЗ X2Go для Windows, Linux та OS X можна завантажити на сайті проекту. Клієнт під Android знаходиться на стадії розробки, а безкоштовні мобільні програми від NoMachine з сервером X2Go несумісні. Якщо на локальному комп'ютері встановлено Ubuntu, достатньо додати пакет x2goclient:

sudo apt-get install x2goclient

Для збереження видового розмаїття цього разу ми візьмемо клієнт для Windows:

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Тут можна налаштувати параметри з'єднання, пристроїв вводу-виводу та мультимедійних пристроїв.

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Якщо все зроблено правильно, після підключення з'явиться робочий стіл XFCE.

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04

Запуск програми на віддаленому комп'ютері

Іноді замість повноцінного оточення робочого стола на віддаленому комп'ютері потрібно запустити ресурсомістку програму (наприклад, IDE). Зробити це нескладно, достатньо вказати в налаштуваннях з'єднання відповідний тип сеансу та команду.

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04
Браузер запущений на віддаленому VPS з Ubuntu

Є й екзотичніші варіанти використання X2Go: система дозволяє, наприклад, підключитися до сесії користувача на віддаленому комп'ютері (як у TeamViewer). У цьому випадку на обох машинах мають бути встановлені і клієнтські, і серверні частини. Крім того, задавати профілі сесій на кожному клієнті не обов'язково: можна встановити та налаштувати x2gobroker, щоб визначити їх на сервері. Для цього доведеться підключити сторонній репозиторій із додатковими пакетами.

Переваги X2Go

На відміну від каналу системи VNC, що потребує високої пропускної спроможності, X2Go використовує просунутий протокол NX 3 для мінімізації обсягу переданих даних. У системі є власний X-сервер, до того ж вона практично не потребує налаштувань та відрізняється просунутими можливостями. Ми розповіли лише про найголовніші, але X2Go вміє набагато більше, включаючи трансляцію клієнту звуку та відео з сервера, друк на локальному принтері (на VPS доведеться встановити додаткові пакети для налаштування віртуального принтера) та загальні каталоги. Взаємодія із сервером йде через надійний та перевірений часом sshd – користувачеві доступні безпечні механізми автентифікації, у т.ч. із ключами. X2Go автоматично налаштовує середовище при вході в систему (тримати X-сервер постійно запущеним не потрібно), при цьому підтримується розрахована на багато користувачів робота і більшість популярних оточень робочого столу, а сеанс не вбивається навіть після розриву з'єднання.

VPS на Linux із графічним інтерфейсом: запускаємо сервер X2Go на Ubuntu 18.04

Джерело: habr.com

Додати коментар або відгук