Table of Contents
Getting X2Go
X2Go consists of several software components. The minimal requirement is X2Go Server (on the terminal server) and X2Go Client / PyHoca-GUI (on the client machine).
The minimal X2Go setup installs out of the box. But note that X2Go can be highly customized by a series of X2Go add-on components.
The Client-Side of X2Go
At the time of writing there are two client applications available for X2Go: X2Go Client (the native client), and Pyhoca-GUI (a Python based system tray applet for X2Go).
X2Go Package Repositories for GNU/Linux
When on GNU/Linux, you can obtain all X2Go components from one of the package archives listed below.
For those who want to help testing bleeding edge code of X2Go, please read about our Nightly Builds.
The Server-Side of X2Go
X2Go Sources
X2Go Live Demos
Привет! На связи Александр Бархатов — DevOps-инженер в крупнейшем продуктовом холдинге. Сегодня без удаленного доступа к компьютерам и серверам сложно представить полноценную работу как технических специалистов, так и обычных пользователей. Для организации удаленного доступа используют специальный класс программного обеспечения. К таким программам относят, например, TeamViewer, AmmyyAdmin, AnyDesk. Однако порой бывает довольно трудно найти достойную альтернативу для ОС семейства Linux. В связи с этим мы протестировали и нашли решение для пользователей Linux-систем — программу под названием X2Go.
X2Go использует протокол NX technology (более известный под именами NX или NoMachine) и позволяет организовать удаленный доступ к рабочему столу. Среди достоинств X2Go можно выделить высокую скорость подключения при низкой скорости интернет-соединения, возможность запуска отдельных приложений, проброс устройств (принтеры, внешние накопители и т. д.), отсутствие дополнительной настройки, а также шифрование трафика посредством протокола SSH.
В этой статье мы произведем установку X2Go на ОС Ubuntu версии 22.04. Подключаться будем, используя официальную клиентскую программу для ОС Windows 10.
Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров34K
Однажды мне потребовалось организовать удаленный доступ к графическому интерфейсу Ubuntu. При этом необходимо было найти решение on-premise, поскольку использовать его предполагалось в корпоративной сети, где доступ к чувствительной информации исключал облачные решения вроде TeamViewer. Кроме того, канал связи с удаленной машиной обладал низкой пропускной способностью.
Сначала я перебрал несколько вариантов знакомых мне решений:
-
VNC (Virtual Network Computing) — старый протокол, который основан на передаче массивов пикселей по протоколу RFB (Remote Framebuffer) для организации удаленного соединения. Он оказался слишком медленным и требовательным к пропускной способности каналов передачи данных. Особенно это критично для корпоративных сетей, подключенных через VPN, которые хостятся в другой части света;
-
RDP (Remote Desktop Protocol) — протокол, который позволяет отправлять более сложные графические примитивы и высокоуровневые команды. Обычно используется для организации служб удаленных рабочих столов в Windows, но серверы для Linux также доступны, например xRDP. К минусам можно отнести сложность настройки/конфигурации на стороне хоста.
Я продолжил поиски и открыл для себя еще один способ организации удаленного рабочего стола — протокол NX.
Что такое NX?
В Linux для работы с графическими интерфейсами (GUI) используется X-сервер. Обычно окружения рабочего стола вроде GNOME, KDE или LXDE запускаются поверх Х-сервера, что позволяет запускать другие программы.
Компания NoMachine решила оптимизировать подключение к X-серверу по сети. Так появился протокол NX, который значительно снизил нагрузку на сеть.
NX — это не просто протокол доставки картинки, а, по сути, терминальный сервер для Linux. Он позволяет в удаленной операционной системе авторизовать пользователя, организовать для него полноценный сеанс и запустить в нем графическое окружение. Тот же VNC так не умеет.
На протяжении нескольких лет NoMachine развивала протокол как одноименный коммерческий продукт — NoMachine — и как community-проект FreeNX. Выпуская четвертую версию продукта, NoMachine решила больше не развивать FreeNX. Но сообщество осталось, и от основного репозитория отделилось много форков. Многие были уверены, что лучше знают, как надо. И некоторые из них оказались правы. Так, кроме FreeNX появились X2Go, QVD, RX, Neatx (от Google). Все эти протоколы друг с другом несовместимы, а некоторые уже “умерли”. Я выбрал X2Go.
Преимущества X2Go
Главные преимущества open-source реализации протокола NX X2Go перед аналогами — это:
-
Высокая скорость в условиях низкой пропускной способности канала передачи данных;
-
Простота настройки на стороне хоста. Т.к. X2Go работает через SSH, то все, что нужно сделать, — это убедиться, что SSH работает и порт 22 открыт в настройках файервола;
-
Безопасность — протокол работает поверх SSH (пользователю доступны безопасные механизмы аутентификации, в том числе с ключами). Нет необходимости открывать дополнительный порт в настройках файервола.
Кроме того, X2Go позволяет запускать отдельное приложение на удаленном компьютере, например среду разработки; дает возможность подключаться к запущенной сессии пользователя; имеет свой брокер соединений (полезно для автоматизации рабочих мест).
Также доступны трансляция клиенту звука и видео с сервера, печать на локальном принтере и общие каталоги.
Как установить X2Go
Установка сервера на примере Ubuntu
Стабильные версии сервера и клиента X2Go можно установить из штатных репозиториев актуальных релизов Ubuntu. Необходимо инсталлировать два пакета:
sudo apt-get install x2goserver x2goserver-xsession
Проверяем, что сервер запущен:
sudo systemctl status x2goserver
Если вы используете не Xfce, возможно, потребуется установить дополнительные пакеты для графических оболочек. Например, при использовании Lubuntu подключаем поддержку LFCE:
sudo apt-get install x2golxdebindings
Также может потребоваться создать нового пользователя, если нужен доступ с нескольких рабочих мест.
Установка клиента
Клиентское ПО X2Go для Windows, Linux и OS X можно скачать на сайте проекта. Большой минус — нет поддержки мобильных клиентов, при том что NoMachine поддерживает и Android и iOS. Но клиенты NoMachine с сервером X2Go несовместимы.
Если на локальном компьютере установлена Ubuntu, достаточно добавить пакет x2goclient:
sudo apt-get install x2goclient
А так выглядит клиент X2Go для Windows:
В случае если возникли проблемы с основным клиентом, написанным на Qt, можно использовать альтернативный клиент, написанный на wxPython.
Таким образом я решил свою задачу. Благодарю сообщество и всех, кто работает над этой темой. Буду рад, если мой опыт кому-то поможет.
From Wikipedia, the free encyclopedia
X2Go Client
Original author(s) | Oleksandr Shneyder and Heinz-M. Graesing[1] |
---|---|
Developer(s) | Michael DePaulo, Mike Gabriel, Mihai Moldovan, Oleksandr Shneyder, Juri Grabowski[2] |
Stable release |
4.1.2.3 |
Repository | https://code.x2go.org/gitweb?p=x2goclient.git |
Written in | C++ |
Operating system | Linux, FreeBSD, macOS, Windows |
License | GPL-2.0-or-later[4] |
Website | wiki.x2go.org |
X2Go Server
Original author(s) | Oleksandr Shneyder and Heinz-M. Graesing[1] |
---|---|
Developer(s) | Michael DePaulo, Mike Gabriel, Mihai Moldovan, Oleksandr Shneyder, Juri Grabowski[2] |
Stable release |
4.1.0.6 |
Repository |
|
Written in | Perl |
Operating system | Linux |
License | GPL-2.0-or-later[6] |
Website | wiki.x2go.org |
X2Go is open source remote desktop software for Linux that uses a modified NX 3 protocol.[7] X2Go gives remote access to a Linux system’s graphical user interface. It can also be used to access Windows systems through a proxy.[8]
Client packages can be run on OpenBSD, FreeBSD, Linux, macOS or Windows.[9] Some Linux desktop environments require workarounds for compatibility, while some such as GNOME 3.12 and later may have no workarounds. Desktop environments that are always compatible with X2Go, without any workarounds, are XFCE, LXDE and MATE.[10]
The server package must be installed on a Linux host.
The X2go project has been packaged for Fedora beginning with version F20 (2013).[11]
It is also included in the official Ubuntu release starting from 17.04 and Debian Wheezy releases.[12]
- Comparison of remote desktop software
- ^ a b «History». wiki.x2go.org. Retrieved September 28, 2018.
- ^ a b «X2Go Project Organigram — Core Developers — Current/Active». wiki.x2go.org. Retrieved September 28, 2018.
- ^ «X2Go Client (4.1.2.3) released». x2go-announcements mailing list. Retrieved July 18, 2023.
- ^ «[x2goclient.git] / LICENSE».
- ^ «X2Go Server (4.1.0.6) released». x2go-announcements mailing list. Retrieved February 11, 2025.
- ^ «[x2goserver.git] / debian / copyright».
- ^ «New to X2Go? Start here!». wiki.x2go.org. Retrieved September 28, 2018.
- ^ «X2Go TCE and MS Terminal Servers — X2Go-proxied RDP Sessions». wiki.x2go.org. Retrieved September 28, 2018.
- ^ «Installing the Qt-based X2Go Client». wiki.x2go.org. Retrieved September 28, 2018.
- ^ «Desktop Environment Compatibility». wiki.x2go.org. Retrieved September 28, 2018.
- ^ «Releases/20/ChangeSet — FedoraProject». fedoraproject.org. Retrieved February 26, 2017.
- ^ «Official X2Go Packages in GNU/Linux Distributions». wiki.x2go.org/. Retrieved July 3, 2020.
- Schuermann, Tim (May 4, 2009). «One for All: Terminal Server X2go 3.0». Linux Magazine. Retrieved June 14, 2014.
- fravashyo (February 25, 2013). «x2go : le digne successeur de freenx» [x2go: worthy replacement for freenx]. LinuxFr (in French). Retrieved June 14, 2014.
- Gabriel, Mike (August 17, 2013). X2Go Terminal Server Suite and Debian (OGV). Debian Conference 2013. Vaumarcus, Switzerland. Retrieved June 14, 2014.
- Rob Turner (July 3, 2015). «Installing and Configuring X2Go Server and Client on Debian 8». Retrieved July 25, 2016.
- EdXD (June 14, 2020). «Connect to CentOS 8 Remote Desktop using X2Go». Retrieved July 8, 2020.
- EdXD (June 5, 2020). «Connect to Ubuntu 20.04 Remote Desktop using X2Go». Retrieved July 8, 2020.
Categories:
- Remote desktop
- Cross-platform free software
- Free software for BSD
- Free software for Linux
- Free software for Windows
- Free software for macOS
- Free software programmed in C++
- Software using the GNU General Public License
- Network software stubs
- Free and open-source software stubs
Install X2Go Client for Windows with winget
To install X2Go Client for Windows with winget, use the following command:
winget install --id=X2go.x2goclient -e
Get started today
Set up, deploy and upgrade all your devices from an intuitive, lightning-fast cloud platform.
FREE TRIAL
About X2Go Client for Windows
X2Go Client is a graphical client (Qt5) for the X2Go system. You can use it to connect to running sessions and start new sessions.
Last updated 14 days ago
v4.1.2.2-2020.02.13
Other apps by X2Go Client for Windows
Website
Download (.msi)
Publisher: X2Go Project
Tags
- cloud
- nx
- online
- vdi
- x11