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
Introduction
X2Go is a solution for remotely accessing X11-based desktops and applications more efficiently than using standard X11 forwarding. The X2Go server is available for Linux, and the client is available for all major desktop operating systems.
Users must be authorized before they can use X2Go with SENS servers. Please send email to senshelp@buffalo.edu if you have a need to use the X2Go software with SENS servers.
Installing the X2Go Client
The client component of X2Go should be installed on any device that will be used to access a remote system.
Windows
For University-owned PCs maintained by SENS, the X2Go client can be installed from Software Center.
For personally-owned Pcs, the X2Go client for Windows can be obtained from the X2Go downloads page.
The installer contains all components required to use the X2Go client.
macOS
XQuartz is a required dependency of the X2Go client and should be installed if not present. It is installed by default on University-owned systems that are maintained by SENS.
For University-owned Macintosh computers maintained by SENS, the X2Go client can be installed from JAMF Self Service.
For personally-owned Macintosh computers, the X2Go client for macOS can be obtained from the X2Go downloads page.
Ubuntu/Mint Linux
X2Go is available in the default Ubuntu package repositories. To install the X2Go client, run the following command:
$ sudo apt install x2goclient
Fedora Linux
X2Go is available in the default Fedora package repositories. To install the X2Go client, run the following command:
$ sudo yum install x2goclient
CentOS Linux
X2Go is available in EPEL. To enable EPEL repositories, run the following command:
$ sudo yum install epel-release
Once the EPEL repos are enabled, the X2Go client can be installed by running the following command:
$ sudo yum install x2goclient
FreeBSD
The FreeBSD X2Go client can be obtained from this FreshPorts page.
Source Code
The X2Go client source may be found on the X2Go web site.
Connecting
In order to connect to the SENS X2Go Broker, the device must first be connected to UB’s network.
This can be done by connecting to UB’s Wi-Fi or Ethernet while on-campus
or by connecting to UB’s VPN while off-campus.
Once connected to UB’s network, follow the set of instructions for your operating system to begin a broker session.
Windows Connection
The easiest method for connecting to the broker involves creating a shortcut that can be reused for future connections.
- On the desktop, right-click and select New → Shortcut.
- Paste the following into the location box (it should be one line):
"C:Program Files (x86)x2goclientx2goclient.exe" --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh
- Select Next.
- In the name box, enter «
SENS X2Go Broker
«. - Select Finish.
Open this shortcut to connect to the SENS X2Go Broker. This shortcut may be moved or renamed as desired.
macOS Connection
Here is a shortcut application.
Opening this application will open the X2Go client with the required options to connect to the SENS X2Go Broker.
Alternatively, open Terminal and enter the following command.
/Applications/x2goclient.app/Contents/MacOS/x2goclient --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh
Linux and FreeBSD Connection
Open a terminal application and enter the following command.
x2goclient --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh
Usage
Once it has started, X2Go will prompt for your credentials. Enter your UBITName and password.
When connected to the X2Go broker, several session options will be presented. The following subsections describe each session option.
Full Desktop
This option will start and connect to a full Linux desktop environment running remotely on a SENS server. It may be used similarly to a lab workstation.
This mode offers the highest compatibility with various applications, but it requires the most overhead. All applications launched in this mode are constrained to the desktop window, while other options allow application windows to behave like other windows on the local device.
To end a desktop session, log out of it using the option in the desktop’s menu bar.
Individual Applications
This option will allow a variety of applications to be launched on a SENS server while behaving similarly to the local devices’ windows. Once the connection has been established, a menu of applications can be opened by clicking the Applications… button (which resembles a CD) in the X2Go window.
To end the session, select the Terminate button (which resembles a power icon) in the X2Go window.
⚠️ Due to resource and network contraints, applications may take a minute or two to launch. Please allow some time for the application to launch before attempting to launch it again.
ℹ️ Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.
Terminal
This option will open a terminal application on a SENS server and display the terminal as a window on the local device. This terminal may be used to launch both command-line and graphical applications, similar to the terminal on a lab workstation.
To end the session, close all terminal windows.
ℹ️ Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.
Suspending and Resuming Sessions
If the connection to the server is lost or the suspend option is used, the X2Go session will enter a suspended state. In a suspended session, applications will continue to run but will have reduced access to system resources until the session is resumed. If system resources are depleted, suspended sessions may be terminated.
Users are limited to having one session at a time. If a user reconnects or attempts to start a new session while one session already exists, they will be prompted to resume or terminate the existing session.
One session can be used to run multiple applications simultaneously. However, we ask users to please be mindful of the limited resources on this system and use no more than is necessary for the work they are currently performing.
FAQ
- I’m getting the error «Sessions limit reached», but I’ve never started a session before. How do I fix this?
- Your SENS account may not be registered to use the SENS X2Go Broker. Please contact SENS for further assistance.
- I’m getting the error “connection failed: attempting to create directory” when I connect. How do I fix this?
- This error may occur if your SENS home directory is full. If so, try removing some files from it.
The “Terminal” X2Go profile should still work even if your home directory is full. This can be used to delete files in your home directory. - I can log in, but I am unable to start a session. The session information box contains the message “Warning: Protocol mismatch or no X authentication data” or «Info: Please check authorization provided by the remote X application». How do I fix this?
- This error may occur if your SENS home directory is full. If so, try removing some files from it.
- I’m getting an error that starts with “usage: x2gobroker” and includes “x2gobroker: error: unrecognized arguments” when I connect. Clicking “OK” then causes X2Go to close. How do I fix this?
- We are investigating the root cause of this error. To work around this issue, please try one or more of the following mitigations:
- If the remote desktop or application is working while the error dialog box is open, ignore the error dialog box instead of closing it.
- Wait a few minutes and try connecting again.
- Why won’t an application open when using the “Individual Applications” or “Terminal” option?
- Some applications expect a full desktop environment to be present when they are running and won’t work without one. If an application is not working in a standalone mode, please try opening it using the “Full Desktop” option.
- Why does every session option say «(suspended)»?
- If an X2Go session of one type is suspended, all session options that run on the same servers will indicate that a suspended session is present. Multiple sessions may not be run simultaneously, so the existing session must be either resumed or terminated. For more information, go to the “Suspending and Resuming Sessions” section of this page.
- When I try to resume a suspended session, X2Go tells me that the session has been terminated. I also can’t start a new session because of the suspended session. What do I do?
- A session that appears to be suspended but is actually terminated will need to be manually removed from the session list. To do this:
- Open the session list by selecting a session profile.
- Select the session in the list.
- Select the Terminate option.
- X2Go Web Site
- X2Go Client Installation Instructions
External Links
Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
(при подключении репозитория Astra Linux Common Edition) - Astra Linux Special Edition РУСБ.10015-16 исп. 1
(при подключении репозитория Astra Linux Common Edition) - Astra Linux Common Edition 2.12.19
Установка пакета
Пакет сервера удалённого доступа x2goserver входит в стандартный репозиторий Astra Linux Common Edition и в минимальной конфигурации может быть установлен с помощью графического менеджера пакетов (см. Графический менеджер пакетов synaptic) или из командной строки командой:
sudo apt install x2goserver
После установки сервис запускается автоматически.
По умолчанию пользовательская сессия завершается после отключения клиента x2go, и при следующем подключении клиента запускается новая сессия. Для того, чтобы клиенты x2go после разрыва связи переподключались к существующей сессии:
- в файле /etc/systemd/logind.conf указать параметр:
KillUserProcesses=no - перезагрузить машину.
Для добавления службы разделения принтеров через x2go требуется установить два дополнительных пакета:
- x2goserver-printing и
- cups-x2go.
Эти пакеты могут быть установлены одновременно с сервером или добавлены позже::
sudo apt install x2goserver x2goserver-printing cups-x2go
После установки этих пакетов принтер x2go будет доступен в менеджере печати как Virtual_X2Go_printer.
Установка клиента x2go на Windows
Внимание
Имя пользователя Windows должно содержать только латинские буквы!
Скачать с оф.сайта клиент x2go для Windows.
Установить, выбрать тип установки «Recommended»:
Для печати на локальном принтере, обязательно установить программу для чтения PDF. Например Foxit Reader.
Запустить x2go клиент. В меню выбрать «Опции» — «Установки», перейти на вкладку «Печать»
Выбрать команда печати и нажать кнопку «…»
Ввести команду печати (путь до Foxit Reader с параметром «-р», Формат вывода PDF, Структура данных — «Указать путь к файлу в параметре командой строки»
Подключение к серверу x2go
В клиенте х2go нажать «Создать новую сессию»
Ввести данные:
Тип сессии:
- выбрать «Другой оконный менеджер» и указать команду: «fly-wm»;
- или выбрать «x2Go/X11 desktop sharing» (или «Подключение к сущетвующей сессии») для подключения к существующей сессии (может не работать на ранних версиях Astra Linux).
На вкладке «Соединение» выбрать тип соединения соответствующий вашему подключению.
На вкладке «Экспорт каталогов» можно добавить локальные папки для подключения их к удаленному серверу.
Кликнуть на появившуюся сессию справа:
Ввести имя пользователя и пароль:
и нажать ОК.
Можно работать!
При печати выбирать принтер x2go, установленный ранее. В появившемся окошечке x2go нажать «Печать»:
Содержание
- User Tools
- Site Tools
- Sidebar
- Table of Contents
- Installing the Qt-based X2Go Client
- MS Windows
- Quick
- Detailed
- Xquartz (required by X2Go Client)
- X2Go Client
- System Preferences Config
- Ubuntu / Debian
- Quick
- Detailed
- Raspbian
- Quick
- Detailed
- Fedora
- Redhat
- Slackware
- FreeBSD
- GNU/Linux with installation from source tarball
- X2Go Client
- Описание
- Операционные системы Astra Linux
- Про Debian
- VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04
- Оглавление:
- Установка графического окружения
- Русификация сервера и установка ПО
- Установка сервера X2Go
- Подключение к рабочему столу
- Запуск приложения на удаленном компьютере
- Преимущества X2Go
User Tools
Site Tools
Table of Contents
Installing the Qt-based X2Go Client
MS Windows
Quick
Detailed
Download latest x2goclient for Windows and install. Administrator rights required for a normal install.
Older versions are still available.
Xquartz (required by X2Go Client)
X2Go Client
Download the appropriate disk image from Download X2Go for OS X™.
If there are multiple options, choose the one closest to your current operating system’s version number. Do not try to use a build that is targeted at a higher OS X version number then you currently have.
Afterwards, open the disk image and “install” x2goclient.app as you would any other App Bundle by dragging it into /Applications/.
System Preferences Config
Ubuntu / Debian
Quick
X2Go Client is part of Ubuntu 12.04 & later, as well as Debian Wheezy & Jessie. Install it using the software center or by following command:
Detailed
The x2goclient package will install x2goclient on your GNU/Linux system and will make sure, that every needed package will be installed as dependency.
You can now start X2Go Client by typing x2goclient at the command-line or you’ll find it inside the “Internet” section of your menu inside your graphical desktop environment.
If your version does not include X2Go or you want to try that latest builds (it always takes some time until a new version arrives in the official repositories) you can add our repositories:
Raspbian
Quick
X2Go Client is part of Raspbian Wheezy & Jessie. Install it using the software center or by following command:
Detailed
The x2goclient package will install x2goclient on your GNU/Linux system and will make sure, that every needed package will be installed as dependency.
You can now start X2Go Client by typing x2goclient at the command-line or you’ll find it inside the “Internet” section of your menu inside your graphical desktop environment.
If your version does not include X2Go or you want to try that latest builds (it always takes some time until a new version arrives in the official repositories) you can add our repositories:
Fedora
X2Go Client is part of Fedora 19 and later. Install it using the software installer or the following command:
Redhat
You need to add our or the official EPEL repository:
Slackware
SlackBuilds for x2goclient are available on SlackBuilds.org:
FreeBSD
X2Go Client is available via FreshPorts:
GNU/Linux with installation from source tarball
The sources of this X2Go component are available as source tarballs.
Источник
X2Go Client
Описание
Connect to the X2Go server and access remotely a Linux or Windows system using a proxy. Manage desktop sessions by starting, completing, resuming, or terminating them. Establish multiple server connections and request authentication data from LDAP directories.
Версия 4.1.2.2 X2Go Client предоставлена бесплатно на нашем архиве. Файл последней версии установочного пакета 54.2 MB.
Это ПО для ПК может быть установлена на 32-бит Windows 7/8/10. Наша антивирусная программа проверила эту загрузку и признала ее полностью «чистой» от вирусов.
ПО относится к категории Системные утилиты. Разработчик этого бесплатного программного обеспечения — X2Go Project. Версии 4.1 и 4.0 наиболее популярны среди пользователей. Установочный файл программы известен как x2goclient.exe.
X2Go enables you to access a graphical desktop of a computer over a low bandwidth (or high bandwidth) connection. The client installs as a normal application and facilitates the connection to other PCs. With X2Go, you mainly access Linux computers. The Linux computer you are accessing is the X2Go Server. You can connect from a computer running Linux, Windows or Mac OS X.
Мы предлагаем оценить другие программы, такие как RemotelyAnywhere, Remote Desktop Connection или mRemote, которые часто используются вместе с X2Go Client.
Источник
Операционные системы Astra Linux
Оперативные обновления и методические указания
Операционные системы Astra Linux предназначены для применения в составе информационных (автоматизированных) систем в целях обработки и защиты 1) информации любой категории доступа 2) : общедоступной информации, а также информации, доступ к которой ограничен федеральными законами (информации ограниченного доступа).
1) от несанкционированного доступа;
2) в соответствии с Федеральным законом от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» (статья 5, пункт 2).
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
На web-сайтах https://astralinux.ru/ и https://wiki.astralinux.ru представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения.
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить в статье Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов.
В целях обеспечения соответствия сертифицированных операционных систем Astra Linux Special Edition требованиям, предъявляемым к безопасности информации, ООО «РусБИтех-Астра» осуществляет выпуск очередных и оперативных обновлений.
Очередные обновления (версии) предназначены для:
Оперативные обновления предназначены для оперативного устранения уязвимостей в экземплярах, находящихся в эксплуатации, и представляют собой бюллетень безопасности, который доступен в виде:
Ввиду совершенствования нормативно-правовых документов в области защиты информации и в целях обеспечения соответствия информационных актуальным требованиям безопасности информации, а также обеспечения их долговременной эксплуатации, в том числе работоспособности на современных средствах вычислительной техники, рекомендуется на регулярной основе планировать проведение мероприятий по применению очередных и оперативных обновлений операционной системы.
Источник
Про Debian
Достаточно давно я наткнулся на крайне интересную вещь — x2go.
По сути своей, это очередной способ поиметь себе remote desktop с linux-машины. Вот только в этот раз — способ достаточно шустрый, быстрый, работающий. А в нашем случае полезно ещё и то, что он туннелирует из коробки весь трафик через ssh.
В игры поиграть не получится, само собой, но вот Youtube я через него вполне себе смотрел )
Из приятных вкусностей — передача звука, принтеров, ресайз окна (если не используется родной системный X-сервер), наличие толкового клиента под windows, авторизация по ssh-ключам, возможность отключиться от сессии и оставить там всё запущенным. Традиционно, под виндой работает не всё (в частности, не удалось пошарить каталог и принтер), но в целом впечатления положительные. Можно комфортно работать на удаленном сервере в Голландии с машины в России.
Зачем это нужно, рассказывать, думаю, не нужно. Скажем так, для запуска Firefox с ботом для браузерной игры. Или для оплаты кредитками из недоверенной сети.
Собственно, покупаем любую виртуалку/делаем её сами в нормальной стране. Помним, что для нормальной работы Firefox/Iceweasel нужно от гигабайта RAM (иначе оно по OOM падать будет). Логинимся на неё по ssh, начинаем развлекаться.
Мануал актуален для текущих версий Ubuntu/Debian (debian 7+, ubuntu 12.04+) — соответственно, нужна виртуалка с ними. На OpenVZ из-за модуля ядра работать не будет, скорее всего.
Для начала создадим пользователя, под которым мы в дальнейшем будем использовать x2go:
# adduser username
По ходу дела у нас спросят 2 раза пароль, вводим какой-нибудь достаточно сложный. Остальное можно оставлять пустым.
Далее мы зашифруем домашний каталог пользователя. Ставим нужный софт:
# apt-get update; apt-get install ecryptfs-utils
Подгружаем модуль ядра для шифрования:
# modprobe ecryptfs
Чтобы он загружался при загрузке системы в файл /etc/modules нужно добавить строку:
Шифруем домашний каталог пользователя:
Проверяем, что оно зашифровалось:
# ls /home/username
Access-Your-Private-Data.desktop README.txt
Логинимся нашим пользователем по ssh, проверяем, что он может корректно работать со своим домашним каталогом:
Если всё работает нормально, то запускаем команду:
$ ecryptfs-unwrap-passphrase
В ответ вам выдадут ключ, при помощи которого можно будет восстановить зашифрованные данные, если забудете основной пароль. Мне, в общем-то, ни разу не пригодилась =) Но если вы её решите записать — сделайте это на бумажку, которую будете хранить дома в столе без всяких комментариев на ней.
Помните, что файлы в домашнем каталоге будут доступны для чтения всем пользователям (особенно, руту), когда ваш пользователь залогинен в системе. Поэтому, если у вас есть причина шифровать домашний каталог — то делайте это всё же на виртуалке, к которой никто не имеет доступа кроме вас. К тому же, если вы положите в зашифрованный домашний каталог файлы (например, сайта), а потом выйдете из системы — то эти файлы перестанут быть доступны.
Ну, собственно, можно начинать ставить x2go. Сначала настраиваем сервер. Для начала напишу про Debian Wheezy. Создаём файл /etc/apt/sources.list.d/x2go.list с таким содержимым:
Добавляем ключ репозитория в систему:
Для убунты. Добавляем ppa x2go в систему:
# apt-get update; apt-get install python-software-properties; add-apt-repository ppa:x2go/stable; apt-get update
Ставим нужный софт для запуска удаленного рабочего стола. Я буду ставить xfce (он вполне неплохо работает удаленно), если у вас много экспы — ставьте что угодно. Главное, не Unity и не KDE (тормозит-с, ибо им видюха полноценная нужна).
# apt-get install x2goserver xfce4 xfce4-xkb-plugin
Для убунту лучше сразу сделать так:
# apt-get install x2goserver xubuntu-desktop
Ещё раз повторюсь, что ставить всё это на сервер, где крутится ещё что-то крайне не рекомендуется. Покушает много места и памяти.
В общем-то, сервер на этом готов. Ну можно поставить туда ещё firefox/iceweasel, если уже нет. Или jabber-клиент. Или skype-клиент (правда, голосом общаться не получится, наверное). Дальше ставим/настраиваем клиент.
Для винды нужно просто пойти сюда и ткнуть там ссылку «mswin», потом поставить клиент.
Для убунты 12.04+ и Debian 7+ можно воспользоваться командой (это уже на десктопе, если кто не понял):
# apt-get install x2goclient
Правда, из репозиториев приезжает достаточно старая версия (хотя и работающая), поэтому я рекомендую повторить на десктопе те же шаги, которые вы делали на сервере (создать файл /etc/apt/sources.list.d/x2go.list и так далее), только ставить один x2goclient, а не x2goserver.
Так же нужно знать, что на linux-ах x2goclient приносит за собой и запускает openssh-server. Он нужен для работы x2go-клиента, но ему не нужно слушать внешние интерфейсы (а в таком случае ssh-сервер будет недоступен всем остальным, кроме вас). Поэтому, перевесим его на localhost:
# sed ‘s/.*ListenAddress.*/ListenAddress 127.0.0.1/g’ /etc/ssh/sshd_config
# /etc/init.d/ssh restart
Усё, жмем подключиться, вводим пароль от пользователя/ключа, наслаждаемся. Если просто закрыть окно x2go — то сессия останется висеть в фоне. Если явно нажать выход в XFCE — то сессия завершится. Только не забывайте, что если вы не завершите сессию, то файлы в домашнем каталоге останутся незашифрованными для рута.
Ещё полезная фича для хомяков — запуск отдельного приложения по x2go. Выбираем тип сессии «Приложение», Команду/исполняемый файл и логинимся. Такие приложения выглядят под убунтой достаточно нативно (особенно если настроить внешний вид на стороне сервера), вот только при запуске браузера таким способом у меня иксы упали =) Остальное запустилось нормально.
Источник
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% при заказе.
В качестве окружения рабочего стола снова берем XFCE из-за относительно невысоких требований к вычислительным ресурсам. К тому же с запуском этого DE через удаленный доступ в виртуальных средах не возникает проблем:
Русификация сервера и установка ПО
На следующем этапе стоит настроить локализацию и установить минимальный набор прикладных программ: браузер, почтовый клиент и офисный пакет. Сначала инсталлируем переводы для системных программ:
Того же эффекта можно достичь, отредактировав вручную файл /etc/default/locale.
Для локализации GNOME и KDE в репозитории есть пакеты language-pack-gnome-ru и language-pack-kde-ru — они понадобятся, если вы будете использовать программы из этих сред рабочего стола. В XFCE переводы устанавливаются вместе с приложениями. Дальше можно инсталлировать словари:
Кроме того, инсталляция переводов может потребоваться для некоторых прикладных программ:
Установка сервера X2Go
Стабильные версии сервера и клиента X2Go можно установить из внешнего репозитория PPA (Personal Packages Archive) на Launchpad или из штатных репозиториев актуальных релизов Ubuntu. Мы остановимся на втором варианте, поскольку версии софта в обоих источниках одинаковы, но если вам потребуются дополнительные пакеты, сторонний репозиторий придется подключить. Нам необходимо инсталлировать два пакета:
В случае если вы используете окружение MATE или LXDE, дополнительные пакеты потребуются (для XFCE они не нужны):
Вишенка на торте: X2Go работает через SSH и в дальнейшей настройке не нуждается. На VPS должен быть запущен sshd и открыт доступ к порту 22 в правилах межсетевого экрана. Поскольку речь идет про виртуальный сервер, это наверняка уже сделано из коробки. На физической машине открыть удаленный доступ по SSH несложно. Остается только проверить статус сервера X2Go:
Стоит также завести непривилегированного пользователя для работы с окружением рабочего стола:
Добавим пользователя в группу sudo, чтобы он мог решать связанные с администрированием задачи. Если такой потребности нет, этот шаг можно пропустить:
Подключение к рабочему столу
Клиентское ПО X2Go для Windows, Linux и OS X можно загрузить на сайте проекта. Клиент под Android находится в стадии разработки, а бесплатные мобильные приложения от NoMachine с сервером X2Go несовместимы. Если на локальном компьютере установлена Ubuntu, достаточно добавить пакет x2goclient:
Для сохранения видового разнообразия в этот раз мы возьмем клиент для Windows:
Здесь можно настроить параметры соединения, устройств ввода-вывода, а также мультимедийных устройств.
Если все сделано правильно, после подключения появится рабочий стол XFCE.
Запуск приложения на удаленном компьютере
Иногда вместо полноценного окружения рабочего стола на удаленном компьютере нужно запустить ресурсоемкое приложение (например, IDE). Сделать это несложно, достаточно указать в настройках соединения соответствующий тип сеанса и команду.
Браузер запущен на удаленном VPS с Ubuntu
Есть и более экзотические варианты использования X2Go: система позволяет, например, подключиться к сессии пользователя на удаленном компьютере (как в TeamViewer). В этом случае на обеих машинах должны быть установлены и клиентские, и серверные части. Кроме того, задавать профили сессий на каждом клиенте не обязательно: можно установить и настроить x2gobroker, чтобы определить их на сервере. Для этого придется подключить сторонний репозиторий с дополнительными пакетами.
Преимущества X2Go
В отличие от нуждающейся в высокой пропускной способности канала системы VNC, X2Go использует продвинутый протокол NX 3 для минимизации объема передаваемых данных. В системе есть собственный X-сервер, к тому же она практически не требует настроек и отличается продвинутыми возможностями. Мы рассказали только о самых основных, но X2Go умеет намного больше, включая трансляцию клиенту звука и видео с сервера, печать на локальном принтере (на VPS придется установить дополнительные пакеты для настройки виртуального принтера) и общие каталоги. Взаимодействие с сервером идет через надежный и проверенный временем sshd — пользователю доступны безопасные механизмы аутентификации, в т.ч. с ключами. X2Go автоматически настраивает среду при входе в систему (держать X-сервер постоянно запущенным не нужно), при этом поддерживается многопользовательская работа и большинство популярных окружений рабочего стола, а сеанс не убивается даже после разрыва соединения.
Источник
Установка
Настройка клиента
Обзор клиента
Проброс принтеров
Настройка трансляции токенов в сессию сервера
Завершение сессий x2go
X2Go — это программное обеспечение для удаленного рабочего стола с открытым исходным кодом, использующее модифицированный протокол NX 3. X2Go предоставляет удаленный доступ к графическому пользовательскому интерфейсу системы.
В данной статье раскрываются основные моменты по настройке данного варианта удаленного подключения, однако вы так же можете обратиться к официальной документации.
Установка
Для установки x2go перейдите в сеанс пользователя root:
su -
и выполните команду:
dnf install x2goserver-xsession x2goserver-fmbindings x2goserver-common x2goserver x2goagent -y
Здесь и далее команды будут выполняться от пользователя root, если не указано иное.
Для установки x2go на клиенте выполните команду:
dnf install x2goclient -y
Настройка клиента
1. Откройте x2go client из «Главного меню» — «Интернет» — «X2Go Client».
2. После открытия потребуется настроить параметры:
-
Хост: IP-адрес машины;
-
Пользователь: имя учетной записи.
-
SSH-порт: если не менялся на клиенте, оставить 22.
3. Для создания новых сессий при подключении к серверу требуется выбрать тип сессии Mate. В РЕД ОС 7.3 по-умолчанию используется графическая оболочка Mate. Если же у вас используется другая DE, то тип сессии изменяется в соответствии с нужным требованием.
Если необходимо соединение с активной сессией пользователя, то выберите тип сессии «X2Go/X11 Desktop Sharing».
4. Обратите внимание, что можно настроить автоподключение, указав RSA/DSA ключ через выбор файла ключа.
Для этого необходимо выполнить следующие действия:
- На клиенте необходимо сгенерировать ключ SSH командой ssh-keygen (с правами локального пользователя):
ssh-keygen -t rsa или ssh-keygen -t dsa
Будет выведено предложение ввести пароль для защиты файла ключа. Если вы планируете выполнять скрипты по SSH, оставьте пароль пустым.
- Передайте публичный ключ на сервер командой от локального пользователя:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server или ssh-copy-id -i ~/.ssh/id_dsa.pub user@server
- В x2go client выберите приватную часть ключа.
При подключении произойдет запрос фразы-пароля для ключа.
- Для того чтобы настроить автоматический вход без пароля, необходимо установить флажок в поле «Try auto login (via SSH Agent or default SSH key)».
Обзор клиента
Вкладка «Соединение»
В зависимости от пропускной способности сетевого подключения вы можете выбрать предпочитаемый тип соединения:
-
MODEM;
-
ISDN;
-
ADSL;
-
WAN;
-
LAN.
Также данная вкладка предоставляет возможность выбора типа сжатия изображения путем выбора метода сжатия и качества изображения.
Вкладка «Ввод/Вывод»
Данная вкладка позволяет задать разрешение клиента, т.е. использовать полноэкранный режим или указать свои собственные параметры.
При наличии нескольких физических мониторов вы можете активировать опцию Xinerama.
Для работы с буфером обмена рекомендуется оставить настройку двустороннего буфера обмена для удобства работы.
Соответственно, настройку клавиатуры рекомендуется оставить по умолчанию, однако если есть необходимость ручной настройки, то выберите пункт ручной настройки клавиатуры.
Вкладка «Медиа»
Стоит обратить внимание,что клиент X2Go поддерживает проброс звука, по умолчанию данная опция включена. Однако вы можете изменить свойства подключения и изменить установленное значение по умолчанию в случае необходимости.
Не рекомендуется выбирать тип звука arts или esd, т. к. они являются устаревшими. При попытке выбора любого из данных типов клиент посоветует перейти на тип PulseAudio.
Также вы можете опционально изменить SSH-туннель и порт по умолчанию.
Вкладка «Экспорт каталогов»
Стоит обратить внимание на такую полезную функцию, как экспорт каталогов.
На данной вкладке вы можете выбрать, каким каталогом желаете поделиться. После выбора и добавления он отобразится в списке, где вы сможете активировать его автоматическое соединение.
После подключения через x2go в домашнем каталоге пользователя будет создан каталог media, именно в него перенаправится каталог с клиента.
Запуск определенного приложения
Клиент x2go поддерживает также вариант подключения не только к полному рабочему столу сервера, но и к конкретному приложению. Реализовать данное подключение можно при помощи типа сессии «Приложение» или «Удаленные приложения».
При выборе типа сессии приложения вам будет доступен ряд предустановленных вариантов запуска:
При выборе типа сессии «Удаленные приложения» откроется новая сессия, где вручную потребуется выбрать то, какое приложение требуется запустить.
Проброс принтеров
1. Для корректного проброса принтера необходимо установить следующие пакеты:
- На сервере:
dnf install x2goserver-printing cups-x2go
- На клиенте:
dnf install cups-x2go
При необходимости перезапустите службу cups:
systemctl restart cups
2. На сервере X2go добавьте принтер Generic CUPS-X2Go (Главное меню-Администрирование-Настройки принтера)
3. В x2go-клиенте перейдите в меню «Опции» — «Установки» — «Печать» и выберите принтер, который будет по умолчанию при печати. Установите параметр «Открывать этот диалог перед печатью».
4. При печати документа в сессии x2go выберите принтер «Generic CUPS-X2Go-printer» и нажмите «Печать».
После этого на вашем ПК открыться окно выбора локального принтера для печати.
Настройка трансляции токенов в сессию сервера
1. Для настройки трансляции прежде всего требуется убедиться, что настроен КриптоПро и необходимые драйвера для токенов на сервере x2go — инструкция по настройке.
2. Проверьте работоспособность токена в утилите «Ключевые носители и сертификаты» и затем установите флажок в x2go client — Медиа — Поддержка смарт-карт.
Данная поддержка обеспечивает трансляцию как смарт-карт, так и usb-токенов.
На сервере необходимо запустить команду, которая покажет все активные сессии:
# x2golistsessions_root
Примерный вывод данной команды:
3226 | user-50-1649312737_stDMATE_dp24 | 50 | localhost.localdomain | S | 2022-04-07T09:25:38 | 8b2f5d3433700b44b5acf5150a7d35fb | 10.81.1.132 | 36540 | 36541 | 2022-04-07T09:35:04 | user | 1839 | 36542 | -1 | -1 7350 | user-51-1649313366_stS1XSHADuserXSHADPP50_dp24 | 51 | localhost.localdomain | R | 2022-04-07T09:36:06 | c9f4d9a24979efe9ddca96ec20e722cc | 10.81.1.132 | 56847 | 56848 | 2022-04-07T09:36:10 | user | 1211 | 56849 | -1 | -1 7769 | user-52-1649313401_stS1XSHADuserXSHADPP0_dp24 | 52 | localhost.localdomain | R | 2022-04-07T09:36:41 | 414d5ac30224e035a46c9d7be0d4608b | 10.81.1.132 | 38461 | 38462 | 2022-04-07T09:36:43 | user | 1176 | 38463 | -1 | -1
Для завершения определенной сессии выполните:
x2goterminate-session <session_id>
где <session_id> — это идентификатор сессии.
Пример:
x2goterminate-session user-50-1649312737_stDMATE_dp24
Массовое завершение сессий
Если же на сервере требуется применить массовую очистку сессий, то вы можете воспользоваться одним из предложенных ниже скриптов, которые автоматизируют данный процесс.
Завершение сессии и вывод текущей даты
Пример скрипта завершения сессий и вывода текущей даты при завершении:
#!/bin/bash f=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) NOWDATE=$(date '+%Y-%m-%d_%T') echo -----$NOWDATE------ for i in $(x2golistsessions_root | cut -d "|" -f 2 | sed "s/|/ | /g") do echo terminate - ${i} # вывод на экран x2goterminate-session ${i} # команда завершения пользователя done
Завершение неактивных более 2 часов сессий
Пример скрипта завершения сессий, время простоя которых более 2 часов:
#!/bin/bash for ll in `x2golistsessions_root`; do SessionDate=`echo $ll | awk -F | '{print $11}';` CleanSessionDate=`echo ${SessionDate//T/ }` FinalDate=`echo ${CleanSessionDate//-//}` CurrentDate=`date +%s` SessionDateEpoch=`date -d "$FinalDate" +%s` DateDiff=$(($CurrentDate-$SessionDateEpoch)) Hours=$(($DateDiff/60/60)) if [[ $Hours -gt 2 ]]; then sid=`echo $ll | awk -F | '{print $2}'` x2goterminate-session $sid fi done
Завершение неактивных более 1 дня сессий
Пример скрипта завершения сессий, время простоя которых больше 1 дня:
#!/bin/bash LIMIT_DAYS=1 for ll in `x2golistsessions_root`; do #Get the date of last use of the session lastd=`echo $ll | awk -F | '{print $11}' | awk -F T '{print $1}';` #Date in seconds lastsec=`date -d "$lastd" +%s` #Current date in seconds now=`date +%s` days=`echo $(( ($now - $lastsec) /60/60/24 ))` if [[ $days -gt $LIMIT_DAYS ]]; then sid=`echo $ll | awk -F | '{print $2}'` echo "terminating session: $sid, $days days old, lastd: $lastd, lastsec: $lastsec, now: $now" x2goterminate-session $sid fi done
Настройка автоматического завершения сессий
Также администратору сервера будет удобен вариант создания сервиса, который по определенному таймеру завершит сессии. Ниже приведен пример сервиса, который по таймеру запускает абстрактный скрипт. Обратите внимание, что необходимо изменить путь к скрипту на ваш.
Создайте файл:
nano /etc/systemd/system/x2go-sessions-killer.service
со следующим содержимым:
[Unit]
Description="X2Go service for session cleaning"
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/SCRIPT.sh # укажите ваш путь к скрипту
Restart=always
RestartSec=7200
[Install]
WantedBy=multi-user.target
В строке RestartSec=7200
указано время перезапуска скрипта в секундах. В примере скрипт будет выполняться каждые два часа. Измените это значение на необходимое вам.
Затем в папку /usr/bin/ добавьте ваш скрипт и назначьте ему права на исполнение:
chmod +x /usr/bin/SCRIPT.sh
После этого обновите список сервисов и добавьте сервис завершения сессий в автозагрузку:
systemctl daemon-reload systemctl enable --now x2go-sessions-killer.service
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.