- X2Go — правильно сконфигурировать X-сервер под Windows
- Операционные системы Astra Linux
- VPS на Linux с графическим интерфейсом: запускаем сервер X2Go на Ubuntu 18.04
- Оглавление:
- Установка графического окружения
- Русификация сервера и установка ПО
- Установка сервера X2Go
- Подключение к рабочему столу
- Запуск приложения на удаленном компьютере
- Преимущества X2Go
- 11.3 Настройка x2go сервера и клиента
- Настройка клиента
- Типы сессий x2go
- Проброс принтеров
- Настройка трансляции токенов в сессию сервера
- Завершение сессий x2go
X2Go — правильно сконфигурировать X-сервер под Windows
Потребовалось тут развернуть терминальный сервер для пользователей. Доступ с Windows на Linux. Из всего опенсорчного ПО самым вменяемым оказался проект X2Go:
Исходники клиента под Windows:
В обратную сторону, кстати, работает правильно.
Пытаясь побороть этот глюк, я сделал себе среду, требуемую для компиляции X2Go Client под Windows, и собрал этого клиента.
Но оказалось, что X2Go-клиент — это по сути всего лишь GUI-конфигурялка для специализированной версии X-сервера, собранного под Win. Называется этот X-сервер VcXsrv Windows X Server (Custom builds by X2Go & Arctica). Его исходники не входят в исходники клиента X2Go. Находятся они в отдельном репозитарии:
И там какой-то ад и содомия. Для сборки требуется Python, в качестве компилятора надо использовать неизвестный мне Visual Studio. Вроде как должно собираться на Community Edition, но от этого не легче. Какие-то куски надо доставлять через pip. Нужно раздобыть утилиты Gnuwin32 gperf, gawk, gzip, flex, bison, sed, и даже nasm. В общем, я в одиночку такой квест не осилю.
А теперь к сути вопроса. Я решил проверить, нельзя ли что-нибудь наконфигурять в конфигах X-сервера, идущего вместе с X2Go Client. В дереве установленых файлов клиента обнаружился каталог:
Ну и если покопаться, то еще куча всего другого. Содержимое этих файлов мне мало о чем говорят, эту предметную область я не знаю.
Но возможно, через эти файлы можно настроить правильную работу буфера обмена в направлении Linux (сервер) -> Windows (Клиент).
Я сделал копию всех файлов в установочной директории X2Go:
Кто-нибудь может сказать, как можно тут наконфигурять правильную кодировку на клиенте и как это сделать?
Операционные системы Astra Linux
Операционные системы Astra Linux Common Edition и Astra Linux Special Edition разработаны коллективом открытого акционерного общества «Научно-производственное объединение Русские базовые информационные технологии» и основаны на свободном программном обеспечении. С 17 декабря 2019 года правообладателем, разработчиком и производителем операционной системы специального назначения «Astra Linux Special Edition» является ООО «РусБИТех-Астра».
Astra Linux Common Edition предназначена для автоматизации к оммерческих предприятий и органов государственного управления.
Astra Linux Special Edition предназначена для применения в автоматизированных системах в защищенном исполнении, обрабатывающих информацию ограниченного распространения, включая государственную тайну до степени секретности «особой важности» .
На сайте представлена подробная информация о разработанных операционных системах семейства Astra Linux, а также техническая документация для пользователей операционных систем и разработчиков программного обеспечения. Кроме того, предоставлена возможность скачать дистрибутивы и исходные тексты операционной системы Astra Linux Common Edition, а также задать интересующие вопросы разработчикам .
Мы будем признательны Вам за вопросы и предложения, которые позволят совершенствовать наши изделия в Ваших интересах и адаптировать их под решаемые Вами задачи!
Репозитория открытого доступа в сети Интернет для операционной системы Astra Linux Special Edition нет. Операционная система распространяется посредством DVD-дисков.
Информацию о сетевых репозиториях операционной системы Astra Linux Common Edition Вы можете получить на нашем сайте.
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-сервер постоянно запущенным не нужно), при этом поддерживается многопользовательская работа и большинство популярных окружений рабочего стола, а сеанс не убивается даже после разрыва соединения.
11.3 Настройка x2go сервера и клиента
Для доступа к x 2 go серверу нужно настроить firewall
Переключите SELinux в режим уведомлений.
Заменив текст SELINUX=enforcing на SELINUX=permissive
Выполните:
Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.
Для установки x2go на РЕД ОС выполните:
для РЕД ОС версии 7.1 или 7.2:
для РЕД ОС версии 7.3 и старше:
После настройки сервера требуется запустить x2go desktop sharing
И активировать доступ к рабочей станции
Настройка клиента
Установка клиента производится одной командой через терминал с использованием root-прав:
для РЕД ОС версии 7.1 или 7.2:
для РЕД ОС версии 7.3 и старше:
После откройте x2go client
После открытия потребуется настроить параметры согласно рисунку
Хост: ip адрес машины;
Пользователь: имя учетной записи. SSH-порт: если не менялся на клиенте, оставить 22.
Выбрать тип сессии — Соединение с локальным десктопом.
Обратите внимание, у вас должен быть открыт и доступен 22 порт на клиенте и сервере.
Далее потребуется ввести пароль
Выбираем пункт только просмотр или полное управление
После этого откроется удаленный рабочий стол сервера
Типы сессий x2go
X2go довольно распространенное терминальное решение. Так как существует большое количество графических оболочек, то x2go не является исключение, что бы уметь поддерживать работоспособность большинства из них таких как: Cinanmon, Mate, Gnome, KDE, Gnome и т.д.
Типы сессий, не ограничиваются только разными вариациями поддержки графических оболочек, так же доступны и варианты подключения к windows terminal серверу, просто соединение к локальному десктопу, где графическая оболочка выбирается автоматически клиентом на основание оболочки сервера. Присутствует вариант Другой оконный менеджер, где вы явно можете указать тип графики к примеру MATE или CINNAMON. Не мало важным плюсом является подключение к определенным удаленным приложениям, когда требуется к примеру лишь отредактировать какой либо документ, без каких либо лишних действий в системе. Уточнение, для открытия доступного списка приложений потребуется нажать кнопку в виде кружка — «Applications», после нажатия будет доступен список приложений.
Проброс принтеров
Для корректного проброса принтера необходимо установить следующие пакеты:
На сервере:
для РЕД ОС версии 7.1 или 7.2:
для РЕД ОС версии 7.3 и старше:
На клиенте:
для РЕД ОС версии 7.1 или 7.2:
для РЕД ОС версии 7.3 и старше:
Перевести selinux в режим уведомлений:
Заменив текст SELINUX=enforcing на SELINUX=permissive
Выполните:
Более подробно см.ссылку
Не забудьте включить selinux после завершения настройки.
После этого перезапустить ПК
Далее на клиенте можно выбрать, какой принтер вы хотите пробросить. (Опции->Установки->Печать)
После подключения к серверу необходимо добавить принтер в CUPS
Теперь можно отправлять задания на печать.
Настройка трансляции токенов в сессию сервера
Для настройки трансляции прежде всего требуется убедиться, что настроен CryptoPro на серверной и клиентской частях — инструкция по настройке.
Настройка трансляции на клиенте проходит следующим образом:
Проверяется работоспособность токена в утилите token-manager и затем выставите галочку в x2go client ->медиа-> поддержка смарт карт
Данная поддержка обеспечивает трансляцию как смарт карт, так и usb токенов.
В некоторых случаях требуется установить предварительно сертификат на стороне сервера , для корректной ситуации, поэтому рекомендуется это сделать сразу.
Завершение сессий x2go
Команда покажет все активные терминальные сессии:
Примерный вывод данной команды:
Для завершения сессии выполните:
где — это идентификатор сессии.
Пример:
Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.