X2Go: различия между версиями

Материал из ALT Linux Wiki
(не показано 12 промежуточных версий 7 участников)
Строка 22: Строка 22:
На сервере:
На сервере:
  apt-get update
  apt-get update
  apt-get install x2goserver x2goserver-printing
  apt-get install x2goserver x2goserver-printing cups-x2go
  systemctl enable x2goserver
  systemctl enable --now x2goserver
systemctl start x2goserver
 
{{Attention | systemd, начиная с версии {{pkg|238-alt4}}, при разлогинивании по умолчанию завершает пользовательские процессы, поэтому пользовательские сессии будут завершаться даже из состояния Suspended.}}
Чтобы этого не случалось, необходимо на сервере в файле {{path|/etc/systemd/logind.conf}} установить <tt>KillUserProcesses=no</tt> или добавить нужного пользователя в <tt>KillExcludeUsers</tt>.


На клиенте:
На клиенте:
  apt-get update
  apt-get update
  apt-get install x2goclient
  apt-get install x2goclient
= Подключение к удаленному рабочему столу =
Запустить клиент X2Go можно из «Меню запуска приложений» («Интернет/Сеть» → «X2Go Client») или из командной строки:
$ x2goclient
[[Файл:X2Go-client-01.png|Клиент X2Go]]
== Создание нового подключения ==
{{Note|Если клиент X2Go запускается первый раз, окно создания новой сессии будет открыто автоматически.}}
Для создания нового подключения необходимо выбрать в меню пункт «Сессия» → «Новая Сессия…» (<Ctrl>+<N>). На вкладке «Сессия» следует настроить следующие параметры:
* «Имя сессии» — имя сессии, которое поможет отличать серверы друг от друга;
* «Узел» — адрес подключения (IP-адрес или FQDN);
* «Логин» — имя пользователя;
* «SSH-порт»;
* «Тип сессии» — выбрать среду рабочего стола. Если нужной среды нет в списке, можно выбрать пункт «Пользовательский рабочий стол» и в поле «Команда» указать команду, запускающую рабочую среду.
[[Файл:X2Go-client-02.png|Клиент X2Go. Создание нового подключения]] 
{{Note|Если подключение к серверу осуществляется с помощью ключей SSH, то можно указать ключ в поле «RSA/DSA-ключ для ssh соединения» или отметить пункт «Автоматический вход», в этом случае будет использоваться ssh-agent. }}
После сохранения настроек соединение появится в списке  в главном окне программы.
== Запуск сессии ==
Для запуска сессии необходимо выбрать подключение в списке, ввести пароль и нажать «ОК»:
[[Файл:X2Go-client-03.png|800px|Клиент X2Go. Запуск сессии]]
Появится удаленный рабочий стол.
Если в окне настроек сессии в поле «Тип сессии», был выбран пункт «Опубликованные приложения», то после подключения к удалённому рабочему столу появится возможность выбрать и запустить приложение:
[[Файл:X2Go-client-app.png|800px|Клиент X2Go. Выбор приложения для запуска]]
Для подключения к существующей сессии на удаленном компьютере, в окне настроек сессии в поле «Тип сессии» необходимо выбрать пункт «X2Go/X11 Desktop Sharing»:
[[Файл:X2Go-client-04.png|X2Go. Общий доступ к рабочему столу]]
После ввода пароля подключения необходимо предложено выбрать рабочий стол и нажать кнопку «Полный доступ» или «Только просмотр»:
[[Файл:X2Go-client-05.png|800px|X2Go. Общий доступ к рабочему столу]]
= Использование x2gobroker =
'''x2gobroker''' предоставляет профили сессий, что позволяет не определять их локально на каждом клиенте.
Настройка '''x2gobroker'''.
Установить пакеты:
apt-get install x2gobroker x2gobroker-common x2gobroker-ssh x2gobroker-daemon x2gobroker-authservice
Добавить запись о сервере в {{path|/etc/hosts}}:
echo "server_ip x2goserver" >>/etc/hosts
В файл {{path|/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
Добавить запись о брокере в {{path|/etc/hosts}}:
echo "broker_ip x2gobroker" >>/etc/hosts
Запустить сервис:
systemctl enable --now x2goserver
Настройка '''x2goclient'''.
Установить пакет:
apt-get install x2goclient
Добавить запись о брокере в {{path|/etc/hosts}}:
echo "broker_ip x2gobroker" >>/etc/hosts
Подключение:
x2goclient --broker-url=http://x2gobroker:8080/plain/
Вводим логин/пароль пользователя, которым хотим подключиться к серверу и выбираем нужную сессию.
= Запуск отдельного графического приложения =
На брокере добавить конфигурацию новой сессии (файл {{path|/etc/x2go/broker/x2gobroker-sessionprofiles.conf}}):
[x2goserver-firefox]
name=Firefox
host=x2goserver
command=firefox
usebrokerpass=true
В данном случае в параметре '''command''' указывается название приложения, которое должно быть запущено вместо графической сессии.
= Общий каталог =
Для монтирования общего каталога необходимо, чтобы пользователь на сервере был добавлен в группу '''fuse'''.
Для любого пользователя это можно настроить с помощью модуля '''pam_group'''.
В файл {{path|/etc/security/group.conf}} добавляем строку:
*;*;*;Al0000-2400;fuse
В {{path|/etc/pam.d/sshd}} добавляем:
auth            required        pam_group.so
На клиенте выбираем нужную сессию, жмём на кнопку "Общий доступ к каталогам" - "Параметры" - "Общие каталоги".
В строке "Путь" выбираем нужный каталог, жмём "Добавить". Ставим галочку "Соединять автоматически".
Убедиться, что также выбран параметр "Перенаправлять SSH порт для туннельного подсоединения файловой системы через брандмауэры".
Подключаемся к серверу. Общий каталог должен быть расположен по следующему пути: {{path|/home/<user>/media/disk}}.
Если автомонтирование не сработало, то на клиенте в окне "Общий доступ к каталогам" выбрать каталог и нажать "Общий доступ".
= Печать =
На сервере запустить system-config-printer и добавить принтер '''"Generic CUPS-X2Go"''' (должны быть установлены пакеты {{pkg|x2goserver-printing}} {{pkg|cups-x2go}} {{pkg|x2gobroker}}).
При печати документа выбрать принтер '''"Generic CUPS-X2Go"''', нажать печать. После этого на клиенте должно открыться окно выбора локального принтера для печати.
= Звук =
В настройках сессии на клиенте открыть вкладку "Медиа", поставить галочку "Включить звук" и выбрать "PulseAudio".


= Отладка =
= Отладка =
Строка 48: Строка 183:


[[Категория:Удалённый доступ]]
[[Категория:Удалённый доступ]]
[[Категория:Терминальный сервер]]
{{Category navigation|title=Терминальный сервер|category=Терминальный сервер|sortkey={{SUBPAGENAME}}}}

Версия от 13:23, 20 мая 2021

Описание

X2Go — свободное программное обеспечение удалённого доступа по протоколу NX.

Веб-сайт: http://x2go.org

Возможности

  • удалённый доступ к рабочему столу и приложениям на каналах связи даже с узкой полосой пропускания;
  • возможность отключения и переподключения в сеанс даже из другого клиента;
  • перенаправление звука;
  • отсутствие ограничения на количество одновременно работающих пользователей;
  • шифрование трафика посредством SSH;
  • общие папки с клиента, доступные на сервере;
  • использование локального принтера на сервере;
  • простой выбор рабочей среды (KDE, Mate, GNOME);
  • возможность оказания удалённой технической поддержки;
  • запуск отдельного приложения.

Установка

На сервере:

apt-get update
apt-get install x2goserver x2goserver-printing cups-x2go
systemctl enable --now x2goserver
Внимание! systemd, начиная с версии 238-alt4, при разлогинивании по умолчанию завершает пользовательские процессы, поэтому пользовательские сессии будут завершаться даже из состояния Suspended.

Чтобы этого не случалось, необходимо на сервере в файле /etc/systemd/logind.conf установить KillUserProcesses=no или добавить нужного пользователя в KillExcludeUsers.

На клиенте:

apt-get update
apt-get install x2goclient

Подключение к удаленному рабочему столу

Запустить клиент X2Go можно из «Меню запуска приложений» («Интернет/Сеть» → «X2Go Client») или из командной строки:

$ x2goclient

Клиент X2Go

Создание нового подключения

Примечание: Если клиент X2Go запускается первый раз, окно создания новой сессии будет открыто автоматически.


Для создания нового подключения необходимо выбрать в меню пункт «Сессия» → «Новая Сессия…» (<Ctrl>+<N>). На вкладке «Сессия» следует настроить следующие параметры:

  • «Имя сессии» — имя сессии, которое поможет отличать серверы друг от друга;
  • «Узел» — адрес подключения (IP-адрес или FQDN);
  • «Логин» — имя пользователя;
  • «SSH-порт»;
  • «Тип сессии» — выбрать среду рабочего стола. Если нужной среды нет в списке, можно выбрать пункт «Пользовательский рабочий стол» и в поле «Команда» указать команду, запускающую рабочую среду.

Клиент X2Go. Создание нового подключения

Примечание: Если подключение к серверу осуществляется с помощью ключей SSH, то можно указать ключ в поле «RSA/DSA-ключ для ssh соединения» или отметить пункт «Автоматический вход», в этом случае будет использоваться ssh-agent.


После сохранения настроек соединение появится в списке в главном окне программы.

Запуск сессии

Для запуска сессии необходимо выбрать подключение в списке, ввести пароль и нажать «ОК»:

Клиент X2Go. Запуск сессии

Появится удаленный рабочий стол.

Если в окне настроек сессии в поле «Тип сессии», был выбран пункт «Опубликованные приложения», то после подключения к удалённому рабочему столу появится возможность выбрать и запустить приложение:

Клиент X2Go. Выбор приложения для запуска

Для подключения к существующей сессии на удаленном компьютере, в окне настроек сессии в поле «Тип сессии» необходимо выбрать пункт «X2Go/X11 Desktop Sharing»:

X2Go. Общий доступ к рабочему столу

После ввода пароля подключения необходимо предложено выбрать рабочий стол и нажать кнопку «Полный доступ» или «Только просмотр»:

X2Go. Общий доступ к рабочему столу

Использование 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

  • Symbol support vote.svg  Полностью свободен
  • Symbol support vote.svg  Актуальные, а не 4-х летней давности библиотеки NX
  • Symbol oppose vote.svg  Не сертифицировано (RX есть в составе СПТ 7)
  • Symbol oppose vote.svg  Не умеет пробрасывать смарт-карты