Обычно серверы на базе Linux не предоставляют предварительно установленного графического интерфейса пользователя (GUI). Если вы хотите запустить приложение с графическим интерфейсом на своем сервере, вы можете использовать VNC (Virtual Network Computing). К сожалению, как показывает богатая практика, VNC – слабый, небезопасный по умолчанию инструмент, который требует много ручной настройки.
В отличие от VNC, X2Go предоставляет готовый «облачный» рабочий стол (со всеми преимуществами постоянно доступной и легко масштабируемой удаленной онлайн-системы с очень быстрой сетью). X2Go также более быстрый и безопасный вариант, чем многие решения VNC.
В этом мануале вы научитесь использовать X2Go для создания в Ubuntu 20.04 среды рабочего стола XFCE, к которой вы сможете получить удаленный доступ. Этот облачный рабочий стол будет включать в себя те же самые утилиты, которые вы получили бы, если бы установили Ubuntu 20.04 и среду XFCE на свой локальный компьютер (установка почти идентична Xubuntu).
Описанная в этом руководстве настройка полезна, если:
- Вам нужна среда рабочего стола такого типа, но вы не можете установить Linux-подобную ОС на локальную машину.
- Вы используете несколько разных устройств, которые расположены в разных местах, и хотели бы иметь согласованную рабочую среду с одинаковыми инструментами, внешним видом, с теми же файлами и производительностью.
- У вас сравнительно небольшая полоса пропускания, но вам нужен доступ к десяткам или сотням гигабайт данных.
- Из-за обработки больших задач вы не можете использовать ваш локальный компьютер в течение нескольких часов или дней. Представьте, что вам нужно скомпилировать очень большой проект – у вашего ноутбука это займет 8 часов. Вы не сможете делать что-то еще (особенно ресурсоемкое), пока компилируется ваш проект. Но если вы запустите компиляцию этого проекта на своем сервере, ваш компьютер сможет выполнять другие задачи.
- Вы работаете в команде, и всем нужен доступ к одному удаленному рабочему столу.
Требования
- Сервер Ubuntu 20.04 x64, настроенный согласно этому мануалу. Вам нужен пользователь sudo, SSH-ключ и включенный брандмауэр.
- Минимум 2 Гб памяти. Если вы работаете с ресурсоемкими приложениями, рекомендуем использовать минимум 4 Гб.
1: Установка среды рабочего стола
Когда ваш сервер включен и брандмауэр настроен, вы можете установить графическую среду сервера X2Go.
Для начала обновите индекс пакетов:
sudo apt-get update
В этом мануале в качестве среды рабочего стола мы используем XFCE. XFCE не предлагает сложных графических эффектов, что делает его более совместимым с X2Go и позволяет оптимизировать обновления экрана.
Примечание: LXDE и MATE (с отключенным наложением) также работают нормально, но, чтобы их использовать, вам придется изменить команды для установки. Например, вместо
sudo apt-get install xubuntu-desktop
вы должны ввести
sudo apt-get install lubuntu-desktop
Существует два варианта среды XFCE, но вам нужно выбрать только один из них – либо базовую среду (Minimal Desktop Environment), либо полную среду рабочего стола (Full Desktop Environment)
Рекомендуем использовать полную среду рабочего стола. Если вы не хотите выбирать и вручную устанавливать каждый нужный компонент и предпочитаете предварительно установить набор пакетов (например, текстовый процессор, веб-браузер, почтовый клиент и другие приложения), то вы можете выбрать xubuntu-desktop.
Установите и настройте Full Desktop Environment. В результате вы получите такую же среду, как если бы вы установили Debian на локальный ПК с загрузочной DVD/USB-флешки:
sudo apt-get install xubuntu-desktop
При запросе выбрать менеджер дисплея выберите lightdm.
Базовая среда рабочего стола используется в качестве альтернативы, если вы хотите установить небольшой базовый набор пакетов, а затем самостоятельно вручную добавив все, что вам нужно. Для этого вы можете использовать метапакет xubuntu-core.
Метапакет не содержит программного обеспечения – он зависит от других пакетов, которые должны быть установлены. Это позволяет сразу установить всю коллекцию пакетов без необходимости вводить в командной строке имя каждого пакета по отдельности.
Чтобы получить базовую среду, установите xubuntu-core и все дополнительные зависимости, необходимые для его поддержки:
sudo apt-get install xubuntu-core
Теперь, когда ваша графическая среда установлена, давайте сделаем так, чтобы вы могли просматривать ее удаленно.
2: Установка X2Go на сервер
X2Go поставляется с двумя основными компонентами: сервером, который запускает и управляет графическими сеансами на удаленном компьютере, и клиентом, который устанавливается на локальный компьютер для просмотра и управления удаленным рабочим столом или приложением.
Ранее в репозиториях Ubuntu не было пакета x2goserver, потому нужно было выполнить эти шаги, чтобы получить пакет (мы оставили ссылку просто для примера, на случай, если в будущем пакета снова не станет в репозитории). К счастью, в Ubuntu 20.04 этот пакет есть в репозитории системы, его будет несложно установить.
Установите X2Go на сервер:
sudo apt-get install x2goserver x2goserver-xsession
В дальнейшей настройке сервер не нуждается. Однако имейте в виду: если у вас отключена парольная аутентификация SSH, вам необходимо иметь доступ к закрытому ключу SSH на любом устройстве, с которого вы хотите войти на удаленный сервер. В противном случае вы можете восстановить парольную аутентификацию, но при этом очень важно использовать сложный пароль.
Примечание: Помните, если у вас заканчивается память, ядро Linux может внезапно отключить некоторые приложения, и тогда вы можете потерять незавершенную работу. Если вы заметили, что вашим программам требуется больше оперативной памяти, вы можете изменить объем ресурсов вашего сервера у вашего облачного провайдера.
Закройте терминал:
exit
Теперь можно сосредоточиться на клиенте локальной машины
3: Установка клиента X2Go на локальную машину
X2Go готов к работе прямо «из коробки». Если на локальной машине вы используете Windows или Mac, загрузить программное обеспечение клиента можно по этой ссылке. Если у вас Debian или Ubuntu, введите команду:
sudo apt-get install x2goclient
После загрузки программного обеспечения вы можете установить его. Откройте установщик и выберите нужный язык. Затем примите условия лицензии, после чего мастер установки проведет вас через оставшиеся этапы. Обычно в течение установки не должно возникать никаких причин изменять предварительно заполненные значения по умолчанию.
Как уже говорилось, X2Go хорошо работает «из коробки», но он также очень легко настраивается. Больше информации о клиенте можно найти в документации X2Go.
Теперь, когда настольный клиент установлен, вы можете настроить его и подключиться к серверу X2Go, чтобы использовать удаленный рабочий стол XFCE.
4: Подключение к удаленному рабочему столу
При первом открытии клиента X2Go должно появиться окно Session Preferences. Если оно не появилось, нажмите Session в верхнем левом меню, а затем выберите New session.
В поле Session name введите описательное имя сеанса. Это может быть особенно полезно, если вы планируете подключаться к нескольким машинам: все имена будут указаны в главном окне программы после сохранения ваших настроек.
В поле Host под Server введите IP-адрес или имя хоста сервера.
В поле Login укажите имя пользователя, которое используется для подключений SSH.
В Session type выберите XFCE.
Чтобы подключаться к серверу с помощью SSH-ключей, кликните по иконке папки рядом с Use RSA/DSA key for ssh connection и выберите файл вашего закрытого ключа. Если вы решили не использовать ключи SSH (хотя ключи – более безопасный вариант), просто оставьте это поле пустым, и клиент X2Go будет запрашивать пароль при каждом входе.
Остальные параметры по умолчанию можно не менять. Отладить параметры приложения можно потом, когда вы будете лучше понимать, как оно работает.
Нажмите ОК. Чтобы запустить графический сеанс, кликните по белой ячейке с именем вашего пользователя (в правом верхнем углу).
Если вы используете OS X, вам может быть предложено установить XQuartz, чтобы запустить X11. Следуйте инструкциям по установке.
Через несколько секунд вы увидите удаленный рабочий стол и сможете начать с ним взаимодействовать.
В операционных системах Windows и Linux есть несколько полезных сочетаний клавиш, которые вы можете использовать:
- CTRL+ALT+F включает и выключает полноэкранный режим. Работа в полноэкранном режиме больше похожа на локальный рабочий стол. Кроме того, другие сочетания клавиш будут захвачены удаленной ОС, а не локальной.
- CTRL+ALT+M уменьшит удаленный просмотр, даже если вы находитесь в полноэкранном режиме.
- CTRL+ALT+T закроет сеанс, но оставит графический интерфейс запущенным на сервере. Это быстрый способ отключения, не выходя из системы или не закрывая приложений на сервере. То же самое произойдет, если вы нажмете кнопку закрытия окна.
Примечание: В современных версиях Windows первые две опции иногда работают с багами. Попробуйте использовать их. Если вы столкнулись с багами, избегайте эти комбинаций и подождите новых версий X2Go, которые исправят эти ошибки.
Есть два способа завершить удаленный сеанс, закрыв все графические программы, запущенные в нем. Вы можете удаленно выйти из меню запуска XFCE или нажать кнопку, отмеченную кружком в нижнем правом углу экрана.
Первый метод более чистый, но может оставить некоторые запущенные программы (например, программное обеспечение для управления сеансом). Второй метод закроет все, но может сделать это принудительно, если процесс не может прекратить работу. В любом случае, прежде чем продолжить, обязательно сохраните свою работу.
Заключение
Теперь у вас есть удаленный рабочий стол.
Вы можете централизовать свою разработку, создав репозиторий git, установить удаленный редактор кода (например, NetBeans или Eclipse) или настроить веб-сервер для тестирования приложений. Вы также можете настроить схему резервного копирования рабочего стола, чтобы предотвратить потерю данных.
Читайте также: