Настройка удаленного рабочего стола с помощью X2Go в Ubuntu 20.04

Автор выбрал Software in the Public Interest (SPI) для получения пожертвования в рамках программы Write for DOnations.

Введение

Обычно серверы на базе Linux не имеют предустановленного графического пользовательского интерфейса. Если вы хотите запустить приложение с графическим интерфейсом на вашем экземпляре, стандартным решением может быть использование системы Virtual Network Computing (VNC). К сожалению, решения VNC могут быть низкопроизводительными и небезопасными. Многие из них также требуют дополнительной ручной настройки. В отличие от них X2Go предлагает функционирующий «облачный рабочий стол» со всеми преимуществами вычислительной системы с быстрой сетью, которая всегда онлайн, доступна удаленно и легко масштабируется. Также X2Go характеризуется большим быстродействием и надежностью по сравнению с многими решениями VNC.

В этом обучающем руководстве мы будем использовать X2Go для создания среды рабочего стола XFCE в Ubuntu 20.04 с удаленным доступом. Этот облачный рабочий стол будет включать те же утилиты, которые вы бы получили при установке Ubuntu 20.04 и среды XFCE на ваш ПК (почти такие же, как при настройке Xubuntu).

Процесс настройки, описанный в данном руководстве, будет полезен, если:

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

Предварительные требования

Перед началом работы вам потребуется следующее:

  • Экземпляр Ubuntu 20.04 x64 с минимум 2 ГБ оперативной памяти. 2 ГБ — это минимум, оптимальным же является объем памяти 4 ГБ или больше, особенно если вы планируете работать с приложениями, которые используют много памяти. По желанию вы можете использовать дроплет DigitalOcean.

  • Пользователь с привилегиями sudo и ключ SSH. Воспользуйтесь этим руководством, чтобы начать работу: Начальная настройка сервера с помощью Ubuntu 20.04. Убедитесь, что вы выполнили шаг 4 и настроили брандмауэр для ограничения всех подключений, за исключением OpenSSH.

Шаг 1 — Установка среды рабочего стола на сервер

Когда вы настроили сервер и брандмауэр, можно переходить к установке графической среды для сервера X2Go.

Сначала обновите информацию диспетчера пакетов о самой последней доступной версии ПО:

  • sudo apt-get update

В этом обучающем руководстве мы устанавливаем XFCE в качестве среды рабочего стола. XFCE не использует графические эффекты, такие как наложение изображения, что делает его совместимым с X2Go и оптимизирует обновления экрана. Для справки, такие среды рабочего стола, как LXDE и MATE (с отключенной функцией наложения изображений) также работаю хорошо, но для их установки вам придется заменить команду из данного руководства. Например, вместо sudo apt-get install xubuntu-desktop вам нужно ввести sudo apt-get install lubuntu-desktop для установки LXDE.

При установке XFCE можно выбрать два варианта: минимальный пакет Minimal Desktop Environment или полный пакет Full Desktop Environment. Выбор зависит от ваших потребностей, о чем мы поговорим далее. Выберите один вариант из двух.

Полный пакет Full Desktop Environment

Рекомендуется для большинства случаев использования. Если вы не хотите подбирать вручную каждый необходимый вам компонент и предпочитаете получить набор пакетов по умолчанию, например текстовый процессор, веб-браузер, почтовый клиент и другие предустановленные программы, выбирайте xubuntu-desktop.

Установка и настройка полного пакета Full Desktop Environment. Этот пакет подобен тому, что вы бы получили при установке Xubuntu с загрузочного диска или карты памяти USB на ваш локальный ПК.

  • sudo apt-get install xubuntu-desktop

При выборе диспетчера отображения выбирайте lightdm.

Выбор lightdm в качестве диспетчера отображения

Минимальный пакет Minimal Desktop Environment

Если вы хотите установить небольшой базовый набор пакетов, а затем добавлять остальные необходимые программы вручную, выбирайте метапакет xubuntu-core.

Метапакет не содержит единого пакета, вместо этого в него входит целый набор пакетов. Установка метапакета позволяет пользователю избежать ручной установки многих компонентов.

Установите xfce4 и все дополнительные зависимости, необходимые для его поддержки:

  • sudo apt-get install xubuntu-core

Вы установили графическую среду. Теперь вы можете определить способ удаленного просмотра.

Шаг 2 — Установка X2Go на сервер

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

В предыдущих версиях Ubuntu (до 18.04) x2goserver не был включен в репозитории по умолчанию, поэтому вы были вынуждены выполнять дополнительные действия для установки пакета программного пакета. Мы оставим здесь ссылку на случай, если пакеты уберут из будущих версий Ubuntu. К счастью, Ubuntu 20.04, кодовое название Focal Fossa, имеет необходимый пакет в репозиториях по умолчанию, поэтому установка пройдет быстрее.

Для установки X2Go на ваш сервер введите следующую команду:

  • sudo apt-get install x2goserver x2goserver-xsession

На этом этапе ваш сервер не требует дальнейшей настройки. Однако помните, что, если вы следовали инструкциям по настройке ключей SSH из руководства по начальной настройке сервера с помощью Ubuntu 20.04, вам потребуется иметь закрытые ключи SSH для каждого используемого локального устройства. Если вы обошлись без настройки закрытого ключа SSH, убедитесь, что вы выбрали надежный пароль.

Примечание. Помните, что, если у вас закончится оперативная память, ядро Linux может внезапно остановить работу приложений, и вы можете потерять данные. Если вы используете дроплет DigitalOcean и заметили, что программе не хватает оперативной памяти, вы можете временно отключить текущий дроплет и перейти к другому, с большей памятью (изменить размер).

Вы настроили ваш сервер. Введите exit или закройте окно терминала. Остальные шаги будут сосредоточены на настройке клиента на вашем локальном компьютере.

Шаг 3 — Установка локального клиента X2Go

X2Go готов к использованию без предварительной подготовки. Если вы используете Windows или Mac OS X на вашем локальном компьютере, вы можете загрузить программное обеспечение для клиента X2Go здесь. Если вы используете Debian или Ubuntu, вы можете установить клиент X2Go с помощью следующей команды на локальном компьютере:

  • sudo apt-get install x2goclient

После загрузки программного обеспечения вы можете установить его. Откройте установщик и выберите предпочитаемый язык. Теперь подтвердите согласие с условиями лицензии и следуйте указаниям мастера установки. Обычно нет необходимости менять значения, указанные по умолчанию, в процессе установки.

X2Go отлично работает со стандартными настройками, но его также можно легко настроить и под свои требования. Дополнительную информацию можно получить, ознакомившись с официальной документацией X2Go.

После того, как вы установили клиент рабочего стола, можно перейти к его настройке и подключению к серверу X2Go для использования вашего удаленного рабочего стола XFCE.

Шаг 4 — Подключение к удаленному рабочему столу

При первом открытии клиента X2Go должно появиться окно. Если не появится, нажмите вкладку Session в меню вверху слева и выберите New session … (Новый сеанс).

Скриншот клиента X2Go — Создание нового сеанса

В поле Session name (Имя сеанса) введите что-то, что поможет отличать серверы друг от друга. Использование имени сеанса особенно важно, если вы планируете подключить несколько компьютеров.

Введите IP-адрес вашего сервера или полное доменное имя (FQDN) в поле Host в разделе Server.

Введите имя пользователя, которое использовалось для подключения SSH в поле Login.

Так как на шаге 2 вы установили XFCE, выберите XFCE в качестве типа сеанса Session type.

Так как вы подключились к серверу с помощью ключей SSH, то в заключение нажмите значок папки рядом с Use RSA/DSA key for ssh connection и выберите ваш закрытый ключ. Если вы решили не использовать защитные ключи SSH, оставьте это поле пустым. Клиент X2Go будет запрашивать пароль при каждом входе.

Пока вам достаточно настроек по умолчанию, но по мере того, как вы будете разбираться с данным ПО, вы сможете настраивать клиент в соответствии с вашими индивидуальными предпочтениями.

Нажмите кнопку OK. Теперь вы можете начать графический сеанс, нажав на белое поле с названием вашего сеанса, расположенное вверху справа.

Главное окно X2Go — Список сеансов

Если вы работаете на OS X на вашем локальном компьютере, OS X может предложить установить XQuartz для запуска X11. В этом случае следуйте инструкциям по установке.

Через несколько секунд появится ваш удаленный рабочий стол, и вы сможете начать работу с ним.

В операционных системах Windows и Linux есть несколько полезных сочетаний клавиш, которые вы можете использовать для удобства.

Примечание. Первые два варианта могут работать некорректно на современных версиях Windows. Вы можете попробовать использовать их, если в более поздних версиях X2Go проблемы будут устранены. Если нет, просто не используйте эти комбинации клавиш в будущем.

CTRL+ALT+F включает и выключает полноэкранный режим. Работа в полноэкранном режиме может быть похожа на работу на локальном рабочем столе. При полноэкранном режиме сочетание клавиш будут захвачены удаленным устройством, а не локальным компьютером.

CTRL+ALT+M уменьшает удаленный просмотр, даже если вы находитесь в полноэкранном режиме.

CTRL+ALT+T закрывает сеанса, но графический интерфейс остается запущенным на сервере. Это быстрый способ отключения без выхода из системы или закрытия приложений на сервере. То же самое произойдет, если вы нажмете кнопку закрытия окна.

Есть два способа, как завершить удаленный сеанс и закрыть все графические программы, запущенные в нем. Вы можете удаленно выйти из меню запуска XFCE или же нажать на кнопку, отмеченную кружком и небольшой чертой (как значок «включено/спящий режим») в нижнем правом углу основной части экрана X2Go.

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

Главное окно X2Go — Кнопка завершения сеанса

Теперь вы успешно получили доступ к удаленному рабочему столу и настроили его.

Заключение

В этом обучающем руководстве вы использовали X2Go для создания надежной удаленной среды графического пользовательского интерфейса для операционной системы Ubuntu. Теперь, когда система установлена и запущена, вы можете использовать рабочий стол следующим образом:

  • Вы можете централизовать работу по разработке, создав репозиторий git.
  • Вы можете установить редактор среды/кода, например NetBeans или Eclipse. Также вы можете использовать Visual Studio Code для удаленной разработки с помощью плагина Remote-SSH.
  • Вы можете настроить веб-сервер для тестирования веб-приложений.
  • Также вы можете усовершенствовать свой удаленный рабочий стол с помощью хорошей схемы резервного копирования, чтобы предотвратить потерю рабочей среды и важных данных в случае каких-либо сбоев в работе. С DigitalOcean вы также можете сделать снимки данных дроплетов, если вам понравился какой-либо конкретный шаг. Таким образом вы сможете протестировать рискованные изменения и всегда иметь возможность вернуться к проверенному рабочему состоянию.

Если вы хотите узнать больше, посетите сайт с официальной документацией X2Go.