X2Go
Описание
X2Go — свободное программное обеспечение удалённого доступа по протоколу NX.
Веб-сайт: http://x2go.org
Возможности
- удалённый доступ к рабочему столу и приложениям на каналах связи даже с узкой полосой пропускания;
- возможность отключения и переподключения в сеанс даже из другого клиента;
- перенаправление звука;
- отсутствие ограничения на количество одновременно работающих пользователей;
- шифрование трафика посредством SSH;
- общие папки с клиента, доступные на сервере;
- использование локального принтера на сервере;
- простой выбор рабочей среды (KDE, Mate, GNOME);
- возможность оказания удалённой технической поддержки;
- запуск отдельного приложения.
Установка
На сервере:
apt-get update apt-get install x2goserver x2goserver-printing cups-x2go systemctl enable x2goserver systemctl start x2goserver
Чтобы этого не случалось, необходимо на сервере в файле /etc/systemd/logind.conf установить KillUserProcesses=no или добавить нужного пользователя в KillExcludeUsers.
На клиенте:
apt-get update apt-get install x2goclient
Использование x2gobroker
x2gobroker предоставляет профили сессий, что позволяет не определять их локально на каждом клиенте.
Настройка x2gobroker.
Установить пакеты:
apt-get install x2gobroker x2gobroker-common x2gobroker-ssh x2gobroker-daemon x2gobroker-authservice
Добавить запись о сервере в /etc/hosts:
echo "server_ip x2goserver" >>/etc/hosts
В файл /etc/x2go/broker/x2gobroker-sessionprofiles.conf добавить:
[x2goserver-mate] name=Workstation 9 MATE host=x2goserver command=MATE usebrokerpass=true
Запись [x2goserver-mate] - уникальный идентификатор сессии.
Параметр name обозначает имя сессии, которое будет отображаться на клиенте, command - тип сессии (MATE, KDE и т.п.).
Запустить необходимые сервисы:
systemctl enable --now x2gobroker-authservice systemctl enable --now x2gobroker-daemon
Настройка x2goserver.
Установить пакеты:
apt-get install x2goserver x2goserver-printing cups-x2go x2goserver-x2goagent x2goserver-xsession
Добавить запись о брокере в /etc/hosts:
echo "broker_ip x2gobroker" >>/etc/hosts
Запустить сервис:
systemctl enable --now x2goserver
Настройка x2goclient.
Установить пакет:
apt-get install x2goclient
Добавить запись о брокере в /etc/hosts:
echo "broker_ip x2gobroker" >>/etc/hosts
Подключение:
x2goclient --broker-url=http://x2gobroker:8080/plain/
Вводим логин/пароль пользователя, которым хотим подключиться к серверу и выбираем нужную сессию.
Запуск отдельного графического приложения
На брокере добавить конфигурацию новой сессии (файл /etc/x2go/broker/x2gobroker-sessionprofiles.conf):
[x2goserver-firefox] name=Firefox host=x2goserver command=firefox usebrokerpass=true
В данном случае в параметре command указывается название приложения, которое должно быть запущено вместо графической сессии.
Общий каталог
Для монтирования общего каталога необходимо, чтобы пользователь на сервере был добавлен в группу fuse.
Для любого пользователя это можно настроить с помощью модуля pam_group.
В файл /etc/security/group.conf добавляем строку:
*;*;*;Al0000-2400;fuse
В /etc/pam.d/sshd добавляем:
auth required pam_group.so
На клиенте выбираем нужную сессию, жмём на кнопку "Общий доступ к каталогам" - "Параметры" - "Общие каталоги".
В строке "Путь" выбираем нужный каталог, жмём "Добавить". Ставим галочку "Соединять автоматически".
Убедиться, что также выбран параметр "Перенаправлять SSH порт для туннельного подсоединения файловой системы через брандмауэры".
Подключаемся к серверу. Общий каталог должен быть расположен по следующему пути: /home/<user>/media/disk.
Если автомонтирование не сработало, то на клиенте в окне "Общий доступ к каталогам" выбрать каталог и нажать "Общий доступ".
Печать
На сервере запустить system-config-printer и добавить принтер "Generic CUPS-X2Go" (должны быть установлены пакеты x2goserver-printing cups-x2go x2gobroker).
При печати документа выбрать принтер "Generic CUPS-X2Go", нажать печать. После этого на клиенте должно открыться окно выбора локального принтера для печати.
Звук
В настройках сессии на клиенте открыть вкладку "Медиа", поставить галочку "Включить звук" и выбрать "PulseAudio".
Отладка
1. Запуск клиента из консоли с параметром --debug:
x2goclient --debug
2. Просмотр в каталоге удалённого пользователя файлов:
.x2go/C-*/session.log .xsession-x2go-*-errors
Решение проблем
1. При зависании подключения помогает пересоздание базы данных сеансов (под правами root):
x2godbadmin --createdb
Сравнение с RX@Etersoft
- Полностью свободен
- Актуальные, а не 4-х летней давности библиотеки NX
- Не сертифицировано (RX есть в составе СПТ 7)
- Не умеет пробрасывать смарт-карты