Настройка Ubuntu Linux в качестве терминального сервера x2go

by Anton Chernousov aka GITA-DEV


Опубликовано: 08 Авг 2018 (последние правки 2 месяца, 1 неделя)


Настройка Ubuntu Linux в качестве терминального сервера x2go

Продолжение старой заметки - Полноценный терминальный сервер на базе Ubuntu Linux. Она вызвала слишком много вопросов и была скорее просто небольшой обзорной статьей по технологиям удаленного доступа к графической консоли Linux-сервера, сейчас я продемонстрирую на практике как сделать из небольшой VPS-ки полноценный терминальный сервер на базе Ubuntu Linux

За основу терминального сервера у нас выступает типовая установка Ubuntu Server (в облаке Amazon с открытым для доступа 22-ым портом), первым делом нам необходимо определиться какое графическое окружение мы собираемся использовать для нашего терминального сервера и я крайне не рекомендую использовать KDE/Unity/GNOME, мало того, что они довольно тяжеловесны, так они еще идут в комплекте с набором спецэффектов которые заметно нагрузят сетевую подсистему. Я вообще придерживаюсь мнения, что режим "рабочего стола" при удаленном доступе морально устарел, а в Linux что называется из коробки есть режим бесшовных приложений который в Windows появился относительно недавно (в RemoteAPP).

Совсем уж хардкорные решения я предлагать не буду и остановимся мы на OpenBox, вдруг вам придется все же использовать режим "виртуального рабочего стола".

Настройка серверной части терминального сервера Linux

Начинаем подготовку с установки необходимого для работы набора ПО:

# apt-get install aptitude mc
# aptitude install openbox openbox-gnome-session openbox-menu
# apt-get upgrade 

Разрешаем создание домашних каталогов для новых пользователей:

# dpkg-reconfigure libpam-runtime

Выберите режим "Create home directory on login".

В облаке Amazon по умолчанию запрещена авторизация по логину-паролю, поэтому если вы планируете использовать авторизацию по логину-паролю для клиентов, то измените следующие параметры в файле

ChallengeResponseAuthentication yes
PasswordAuthentication yes

Для начала хотелось бы проверить, что графическое окружение работает корректно и перед установкой и настройкой x2go проверить работоспостобность виртуального графического окружения старым проверенным методом, а именно создадим виртуальный Framebuffer и подключимся к серверу с использованием VNC-протокола.

Установим необходимое ПО:

# aptitude install x11vnc xvfb

Задаем сервисный пароль для VNC-доступа:

# x11vnc -storepasswd /etc/x11vnc-passwd

Запускаем виртуальное графическое окружение от имени пользователя ubuntu:

# su ubuntu
$ Xvfb :1 -screen 0 1024x768x16 &
$ export DISPLAY=:1
$ openbox &
$ x11vnc -display :1 -rfbauth /etc/x11vnc-passwd

Доступ к порту 5900 (VNC) у нас запрещен на Amazon Firewall, поэтому мы будем использовать проброс портов через SSH-туннель:

# ssh -L 5910:127.0.0.1:5900 ubuntu@ec2-18-216-109-24.us-east-2.compute.amazonaws.com

Теперь подключаемся при помощи VncViewer к локальному порту 5910 и попадаем по VNC в подготовленное виртуальное графическое окружение на удаленном сервере:

$ vncviewer 127.0.0.1:5910

Минимализм конечно, но терминал запустить можно.

Если вам требуется какое-то более менее адекватное окружение для режима "виртуального рабочего стола", то лучше использовать LXDE или LXQT:

# aptitude install lxqt lxqt-panel lxqt-notificationd lxqt-admin

C LXQT ваш виртуальный рабочий стол будет выглядеть гораздо приятнее.

Выберите сами подходящие под ваши нужды графическое окружение.

Установка x2go

Вопросы устновки серверной и клиентской части x2go я уже описывал в статье: https://gita-dev.ru/blog/polnotsennyj-terminalnyj-server-na-baze-ubuntu-linux. В этом вопросе ничего за год не изменилось и просто следуйте инструкции.

На сервере выполните следующие команды:

# apt-add-repository ppa:x2go/stable
# apt-get update
# apt-get install x2goserver x2goserver-xsession

На клиенте соответственно:

# apt-add-repository ppa:x2go/stable
# apt-get update
# apt-get install x2goclient

На этом можно и заканчивать, все будет работать и вам надо лишь настроить на клиенте подключение:

Ввести логин-пароль и подключиться к удаленному терминальному серверу.

Вы можете в отличие от VNC создать сколько угодно пользователей для одновременного доступа и даже ограничивать доступ к терминальному серверу различным группам, что в связке с AD дает широкие возможности для автоматизации. Я могу рассказать об этом подробнее если конечно кому то это интересно.


Обратите внимание на статьи:


Графическое удаленное управление современными версиями Ubuntu Linux (Wayland)

Графическое удаленное управление современными версиями Ubuntu Linux (Wayland)

В современных дистрибутивах Ubuntu изменили старый добрый Xorg на новый модный Wayland и теперь все средства удаленного графического администрирования приказали долго жить, что стоит отметить крайне печально, так как новых не завезли. И это касается как x11vnc, так и разного рода TeamViewer и прочих проприетарных систем, ведь они все работали по одному и тому же принципу, а Wayland как я помню вообще не предполагал удаленного доступа к графической консоли.


Полноценный терминальный сервер на базе Ubuntu Linux

Полноценный терминальный сервер на базе Ubuntu Linux

В Linux графическая подсистема изначально была спроектирована таким образом, что приложение использует удаленный графический X-сервер, но в реальной практике большинство об этом просто не догадываются, так как приложение и X-сервер расположены на одном компьютере, но никто не запрещает вам запустить приложение указав для отрисовки удаленный X-сервер. И как вы наверное догадались, сегодня мы поговорим о графических терминальных станциях в Linux


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .

Блог это некоммерческий проект! Если вам понравился мой блог и то что я пишу помогло вам на практике, то можете сказать спасибо материально.