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

Материал из ALT Linux Wiki
Строка 21: Строка 21:
<syntaxhighlight lang="bash"># apt-get install xpra-html5</syntaxhighlight>
<syntaxhighlight lang="bash"># apt-get install xpra-html5</syntaxhighlight>


= Использование =
== Режимы работы ==
В таблице ниже представлены некоторые подкоманды xpra
=== Запуск приложения ===
 
Запуск приложения или бесшовный режим (seamless) — позволяет пересылать клиенту отдельные окна приложений, эти окна появляются на рабочем столе клиента так же, как и другие локальные приложения.
 
Все операции по управлению окнами выполняются непосредственно клиентской ОС или оконным менеджером, поэтому любые задержки между клиентом и сервером не мешают действиям по управлению окнами (сворачивание, перемещение, изменение размера окна).
 
[[Файл:Xpra-seamless.png|600px|Бесшовный режим xpra]]
 
{{Note|Этот режим недоступен в MS Windows и MacOS.}}
 
Пример запуска приложения {{cmd|xterm}} удалённо, через SSH, без предварительного запуска xpra на сервере:
<syntaxhighlight lang="bash">$ xpra start ssh://user@192.168.0.101 --start="xterm"</syntaxhighlight>
 
{{Note| И xpra и запускаемое приложение должны быть установлены на сервере.}}
 
Вместо параметра ''--start=команда'', можно использовать параметр ''--start-child=команда'', позволяющий учитывать параметр ''--exit-with-children''. Если параметр ''--exit-with-children=yes'', то сервер xpra будет отслеживать состояние дочерних элементов, запущенных ''--start-child'', и автоматически завершится, когда последний из них завершит работу.
 
Запуск приложения, с предварительным запуском сервера xpra:
# На сервере: запустить экземпляр сервера xpra, автоматически выбрать дисплей и запустить программу (например, xterm) на этом виртуальном дисплее:
#:<syntaxhighlight lang="bash">
$ xpra start --start=kolourpaint
Entering daemon mode; any further errors will be reported to:
  '/run/user/500/xpra/1/server.log'
</syntaxhighlight>
# С клиента подключиться к этому экземпляру сервера:
#:<syntaxhighlight lang="bash">$ xpra attach ssh://user@192.168.0.101/1</syntaxhighlight>
 
Локальное подключение:
#Запустить экземпляр сервера xpra на дисплее 101 (или автоматически выбрать дисплей) и запустить программу (например, kolourpaint) на этом виртуальном дисплее:
#:<syntaxhighlight lang="bash">$ xpra start :101 —start=kolourpaint
Entering daemon mode; any further errors will be reported to:
  '/run/user/500/xpra/101/server.log'</syntaxhighlight>
#Подключиться к этому экземпляру сервера
#:<syntaxhighlight lang="bash">$ xpra attach :101</syntaxhighlight>
 
Подключение с использованием сокетов TCP:
#Запустить экземпляр сервера xpra:
#:<syntaxhighlight lang="bash">$ xpra start --start=xterm --bind-tcp=0.0.0.0:10000
Entering daemon mode; any further errors will be reported to:
  '/run/user/500/xpra/S9454/server.log'
Actual display used: :1
Actual log file name is now: '/run/user/500/xpra/1/server.log'</syntaxhighlight>
#Подключиться к серверу, используя выбранный порт:
#:<syntaxhighlight lang="bash">$ xpra attach tcp://192.168.0.109:10000</syntaxhighlight>
 
{{Attention|Использование параметра ''--bind-tcp'' без использования параметра ''tcp-auth'' не рекомендуется и представляет серьезную угрозу безопасности (особенно при ''0.0.0.0''), т.к. кто угодно может подключиться к этому порту и получить доступ к сеансу.
 
Доступ к сеансам Xpra в режиме TCP и websocket можно защитить, используя аутентификацию и шифрование.}}
 
Вместо ввода команды подключения, можно создать файл сеанса. В файл сеанса ({{path|.xpra}}) можно записать все параметры сеанса, включая параметры подключения, например (содержимое файла {{path|example.xpra}}):
<syntaxhighlight lang="text">
mode=ssh
host=192.168.0.101
username=user
password=newpassword
speaker=off
autoconnect=true
</syntaxhighlight>
 
Двойной щелчок по файлу сеанса запустит средство запуска ([[#launcher|launcher]]), а если файл сеанса содержит значение ''autoconnect=true'', то соединение будет установлено без предварительного отображения диалогового окна средства запуска. Клиент html5 также может генерировать файлы сеанса из своей формы подключения.
 
=== Запуск новой графической сессии ===
 
Режим рабочего стола (desktop) позволяет запустить вложенный сервер X11.
 
Запуск приложения в режиме рабочего стола:
<syntaxhighlight lang="bash">$ xpra start-desktop --start=xterm</syntaxhighlight>
 
Та же команда, но с запуском сеанса и подключением к нему со стороны клиента:
<syntaxhighlight lang="bash">$ xpra start-desktop --start=xterm ssh://user@192.168.0.101/</syntaxhighlight>
 
[[Файл:Xpra-desktop.png|600px|Xpra. Режим рабочего стола]]
 
Чтобы запустить оконный менеджер (WM) или среду рабочего стола (DE) достаточно в примере выше заменить команду {{cmd|xterm}} командой, которая запускает WM или DE, например:
<syntaxhighlight lang="bash">$ xpra start-desktop --start=fluxbox
$ xpra start-desktop --start=xfce4-session
$ xpra start-desktop :101 --start-child=startkde5  --exit-with-children
$ xpra start-desktop ssh://user@192.168.0.99  --exit-with-children --start-child=mate-session</syntaxhighlight>
Подключение:
<syntaxhighlight lang="bash">$ xpra attach ssh://user@192.168.0.154:101 --min-size=1200x800 --clipboard-direction=both --clipboard=yes --opengl=no</syntaxhighlight>
 
{{Note|Чтобы сеанс завершался при выходе из WM, следует использовать ''--start-child'' и ''--exit-with-children''}}.
 
=== Получение управления запущенной графической сессией (shadow режим) ===
 
Этот режим позволяет использовать xpra для удаленного доступа к существующему сеансу рабочего стола (обычно подключенному к реальному физическому дисплею).
 
Shadow режим поддерживается на всех платформах, включая MS Windows и Mac OS X, но не на Wayland. В некоторых случаях, использование этого режима, может вызвать высокую нагрузку на процессор как на сервере, так и на клиенте. На большинстве платформ затеняемый дисплей должен быть активен: не заблокирован и не выключен.
 
Если к машине, к дисплею X11 которой необходимо получить удалённый доступ, есть SSH-доступ, можно на клиенте запустить команду:
<syntaxhighlight lang="bash">$ xpra shadow ssh://user@HOST/</syntaxhighlight>
В результате выполнения этой команды будет произведено подключение по SSH к HOST, запущен теневой сервер xpra и произведено подключение к нему. Теневой сервер будет остановлен после отключения.
 
При этом на сервере в трее появится значок («Exit» — остановить сервер, «Read Only» — запретить управление, только просмотр рабочего стола):
 
[[Файл:Xpra-shadow-tray.png|Xpra. Управление режимом shadow]]
 
Если запуск через SSH не поддерживается или нужно запустить теневой сервер вручную и, возможно, настроить дополнительные параметры, можно запустить его из оболочки. Пример запуска управления запущенной графической сессией через TCP-сокеты:
<syntaxhighlight lang="bash">$xpra shadow :0 --bind-tcp=0.0.0.0:9876</syntaxhighlight>
 
 
== Использование ==
=== Некоторые команды xpra ===
{| class="wikitable"
{| class="wikitable"
! Команда
! Команда
Строка 94: Строка 196:




== Подключение ==
=== Строка подключения ===


Локальный дисплей (только для локальных дисплеев локального пользователя):
Локальный дисплей (только для локальных дисплеев локального пользователя):
  :DISPLAY
  :DISPLAY


Подключение по SSH:
Подключение с использованием SSH:
  ssh/[USERNAME[:PASSWORD]@]HOST[:SSH_PORT]/DISPLAY
  ssh://[USERNAME[:PASSWORD]@]HOST[:SSH_PORT]/[DISPLAY][?QUERYSTRING]
 
QUERYSTRING можно использовать для указания прокси-сервера ssh: ?proxy=ssh://[ИМЯ ПОЛЬЗОВАТЕЛЯ[:ПАРОЛЬ]@]HOST[:SSH_PORT]
В этом случае xpra установит SSH-соединение с указанным «прокси-сервером» и с этого хоста xpra установит SSH-соединение с сервером xpra.


Для обратной совместимости режим SSH также поддерживает синтаксис:
Для обратной совместимости режим SSH также поддерживает синтаксис:
  ssh:[USERNAME[ PASSWORD]@HOST:DISPLAY
  ssh:[USERNAME[ PASSWORD]@HOST:DISPLAY


 
Пароль необходимо указывать только тогда, когда он требуется модулю аутентификации сервера.
{{Note| При подключении по ssh может потребоваться указать системный ssh-клиент:
{{Note| При подключении по ssh может потребоваться указать системный ssh-клиент:


Строка 114: Строка 219:
}}
}}


В режиме TCP используются номера портов, а не номера дисплеев (если через один TCP-порт доступно несколько дисплеев, то можно также указать номер дисплея):
В режиме TCP используются номера портов, а не номера дисплеев. Если через один TCP-порт доступно несколько дисплеев(например, при использовании прокси-сервера), то можно также указать номер дисплея:
 
tcp://[USERNAME@]HOST:PORT[/DISPLAY]


  tcp/[USERNAME@]HOST:PORT[/DISPLAY]
Режим SSL (добавляет безопасный уровень сокетов поверх режима TCP):
  ssl://[USERNAME@]HOST:PORT[/DISPLAY]


Подключиться по протоколу websocket:
Подключиться по протоколу websocket:
  ws://[USERNAME[:PASSWORD]@]HOST:PORT/[DISPLAY]
  ws://[USERNAME[:PASSWORD]@]HOST:PORT/[DISPLAY]


== Некоторые команды ==
Подключиться по защищённому протоколу websocket (websocket с SSL):
Запустить xpra сервер на указанном дисплее:
  wss://[USERNAME[:PASSWORD]@]HOST:PORT/[DISPLAY]
<source lang="text" highlight="1">$ xpra start :5</source>
Просмотреть список запущенных xpra серверов (на текущей машине, текущим пользователем):
<source lang="text" highlight="1">$ xpra list
Found the following xpra sessions:
/run/user/500/xpra:
        LIVE session at :1
        LIVE session at :102
        LIVE session at :5
</source>
Остановить xpra сервер на указанном дисплее (если сервер один, дисплей можно не указывать):
<source lang="text" highlight="1">$ xpra stop :5
server requested disconnect:
server shutdown
xpra at :5 has exite</source>
 
Остановить xpra сервер на удалённой машине:
<source lang="text" highlight="1">$ xpra stop ssh://user@192.168.0.101/5</source>
 
Подключиться к серверу, используя локальный дисплей:
<source lang="text" highlight="1">$ xpra attach :101</source>
Отключиться от сервера:
<source lang="text" highlight="1">$ xpra detach :101</source>
 
== Запуск приложения  ==
 
Запустить приложение удалённо через SSH без предварительного запуска сервера xpra на сервере:
<source lang="text" highlight="1">$ xpra start ssh://user@192.168.0.101 --start="scratch-desktop"</source>
 
{{Note| И xpra и запускаемое приложение должны быть установлены на сервере.}}
 
Запуск приложения, с предварительным запуском сервера xpra:
#На сервере: запустить сервер xpra, автоматически выбрать дисплей и запустить программу (например, kolourpaint) на этом виртуальном дисплее:
#:<source lang="text" highlight="1">
$ xpra start --start=kolourpaint
Actual display used: :2
Actual log file name is now: /run/user/500/xpra/:2.log
</source>
#Подключиться локально:
#:<source lang="text" highlight="1">$ xpra attach :2</source>
#Удалённо подключиться к серверу xpra и перенаправить приложение (на 2 дисплее), использующие этот сервер, для отображения на вашем текущем экране:
#:<source lang="text" highlight="1">$ xpra attach ssh://user@192.168.0.101/2</source>
 
== Запуск новой графической сессии ==
 
На сервере запустить вложенный сервер X11:
<source lang="text" highlight="1">$ xpra start-desktop :101 --start-child=xfce4-session --exit-with-children=yes</source>
Или
<source lang="text" highlight="1">$ xpra start-desktop :102 --start=plasmashell</source>
 
Подключение:
<source lang="text" highlight="1">$ xpra attach ssh:user@192.168.0.154:101 --min-size=1200x800 --clipboard-direction=both --clipboard=yes</source>
 
При подключении к серверу xpra, в системном трее появляется значок, где можно управлять подключением, изменять настройки (например, направление буфера обмена, если он не отключён при запуске сервера):
 
[[Файл:Xpra-tray.png|Xpra. Значок в трее]]
 
== Получение управления запущенной графической сессией на удаленной машине ==
Запустить удалённо:
<source lang="text" highlight="1">xpra shadow --ssh=ssh ssh://user@192.168.0.137/0</source>
 
Или:
#Запустить на сервере:
#:<source lang="text" highlight="1">$ xpra shadow :0 </source>
#Подключение:
#:<source lang="text" highlight="1">$ xpra attach --speaker=no ssh://user@192.168.0.154</source>
 
На сервере в трее появится значок («Exit» — остановить сервер, «Read Only» — запретить управление, только просмотр рабочего стола):


[[Файл:Xpra-tray-shadow.png|Xpra. Управление запущенной графической сессией — значок в трее]]


== TCP-сокеты ==
== TCP-сокеты ==
Строка 225: Строка 265:
[[Файл:Xpra-browse.png|800px|Xpra. Список локальных дисплеев]]
[[Файл:Xpra-browse.png|800px|Xpra. Список локальных дисплеев]]


«Connect» — подключиться к удалённому серверу:
«Connect» — подключиться к удалённому серверу <span id="launcher"></span>:


[[Файл:Xpra-launcher.png|400px|Xpra. Подключение к удалённому серверу]]
[[Файл:Xpra-launcher.png|Xpra. Подключение к удалённому серверу]]


«Shadow» — предоставить доступ к рабочему столу.
«Shadow» — предоставить доступ к рабочему столу.


«Start» — запустить сервер xpra.
«Start» — запустить сервер xpra:
[[Файл:Xpra-start-session.png|800px|Запуск сервера Xpra]]




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

Версия от 09:22, 12 мая 2023

Описание

Xpra — это инструмент, который запускает программы X11, обычно на удаленном хосте, и направляет их отображение на локальный компьютер без потери состояния (позволяет отключение и повторное подключение без прерывания перенаправленного приложения).

Xpra может предоставить удаленный доступ как к отдельным приложениям, так и к новым/существующим сеансам рабочего стола.

Xpra не имеет root-доступа: т.е. приложения, перенаправленные xpra, отображаются на локальном рабочем столе как обычные окна, управляемые локальным оконным менеджером. Xpra также использует собственный протокол, который самонастраивается и относительно нечувствителен к задержкам.

На сервере утилита Xpra запускает в режиме де­мона нужную программу с заданным идентификатором сеанса, а на клиенте происходит присоединение к сеансу с этим идентификатором.

Доступ к сеансам можно получить по SSH или через защищённые паролем сокеты TCP (с SSL или без).

Установка

Установить пакет xpra на сервере и на клиенте:

# apt-get install xpra

Можно использовать клиент html5, и в этом случае на клиенте ничего устанавливать не нужно. А на сервере, начиная с xpra версии 4.4.4, необходимо дополнительно установить пакет xpra-html5:

# apt-get install xpra-html5

Режимы работы

Запуск приложения

Запуск приложения или бесшовный режим (seamless) — позволяет пересылать клиенту отдельные окна приложений, эти окна появляются на рабочем столе клиента так же, как и другие локальные приложения.

Все операции по управлению окнами выполняются непосредственно клиентской ОС или оконным менеджером, поэтому любые задержки между клиентом и сервером не мешают действиям по управлению окнами (сворачивание, перемещение, изменение размера окна).

Бесшовный режим xpra

Примечание: Этот режим недоступен в MS Windows и MacOS.


Пример запуска приложения xterm удалённо, через SSH, без предварительного запуска xpra на сервере:

$ xpra start ssh://user@192.168.0.101 --start="xterm"
Примечание: И xpra и запускаемое приложение должны быть установлены на сервере.


Вместо параметра --start=команда, можно использовать параметр --start-child=команда, позволяющий учитывать параметр --exit-with-children. Если параметр --exit-with-children=yes, то сервер xpra будет отслеживать состояние дочерних элементов, запущенных --start-child, и автоматически завершится, когда последний из них завершит работу.

Запуск приложения, с предварительным запуском сервера xpra:

  1. На сервере: запустить экземпляр сервера xpra, автоматически выбрать дисплей и запустить программу (например, xterm) на этом виртуальном дисплее:
    $ xpra start --start=kolourpaint
    Entering daemon mode; any further errors will be reported to:
      '/run/user/500/xpra/1/server.log'
    
  2. С клиента подключиться к этому экземпляру сервера:
    $ xpra attach ssh://user@192.168.0.101/1
    

Локальное подключение:

  1. Запустить экземпляр сервера xpra на дисплее 101 (или автоматически выбрать дисплей) и запустить программу (например, kolourpaint) на этом виртуальном дисплее:
    $ xpra start :101 —start=kolourpaint
    Entering daemon mode; any further errors will be reported to:
      '/run/user/500/xpra/101/server.log'
    
  2. Подключиться к этому экземпляру сервера
    $ xpra attach :101
    

Подключение с использованием сокетов TCP:

  1. Запустить экземпляр сервера xpra:
    $ xpra start --start=xterm --bind-tcp=0.0.0.0:10000
    Entering daemon mode; any further errors will be reported to:
      '/run/user/500/xpra/S9454/server.log'
    Actual display used: :1
    Actual log file name is now: '/run/user/500/xpra/1/server.log'
    
  2. Подключиться к серверу, используя выбранный порт:
    $ xpra attach tcp://192.168.0.109:10000
    
Внимание! Использование параметра --bind-tcp без использования параметра tcp-auth не рекомендуется и представляет серьезную угрозу безопасности (особенно при 0.0.0.0), т.к. кто угодно может подключиться к этому порту и получить доступ к сеансу. Доступ к сеансам Xpra в режиме TCP и websocket можно защитить, используя аутентификацию и шифрование.


Вместо ввода команды подключения, можно создать файл сеанса. В файл сеанса (.xpra) можно записать все параметры сеанса, включая параметры подключения, например (содержимое файла example.xpra):

mode=ssh
host=192.168.0.101
username=user
password=newpassword
speaker=off
autoconnect=true

Двойной щелчок по файлу сеанса запустит средство запуска (launcher), а если файл сеанса содержит значение autoconnect=true, то соединение будет установлено без предварительного отображения диалогового окна средства запуска. Клиент html5 также может генерировать файлы сеанса из своей формы подключения.

Запуск новой графической сессии

Режим рабочего стола (desktop) позволяет запустить вложенный сервер X11.

Запуск приложения в режиме рабочего стола:

$ xpra start-desktop --start=xterm

Та же команда, но с запуском сеанса и подключением к нему со стороны клиента:

$ xpra start-desktop --start=xterm ssh://user@192.168.0.101/

Xpra. Режим рабочего стола

Чтобы запустить оконный менеджер (WM) или среду рабочего стола (DE) достаточно в примере выше заменить команду xterm командой, которая запускает WM или DE, например:

$ xpra start-desktop --start=fluxbox
$ xpra start-desktop --start=xfce4-session
$ xpra start-desktop :101 --start-child=startkde5  --exit-with-children
$ xpra start-desktop ssh://user@192.168.0.99  --exit-with-children --start-child=mate-session

Подключение:

$ xpra attach ssh://user@192.168.0.154:101 --min-size=1200x800 --clipboard-direction=both --clipboard=yes --opengl=no
Примечание: Чтобы сеанс завершался при выходе из WM, следует использовать --start-child и --exit-with-children

.

Получение управления запущенной графической сессией (shadow режим)

Этот режим позволяет использовать xpra для удаленного доступа к существующему сеансу рабочего стола (обычно подключенному к реальному физическому дисплею).

Shadow режим поддерживается на всех платформах, включая MS Windows и Mac OS X, но не на Wayland. В некоторых случаях, использование этого режима, может вызвать высокую нагрузку на процессор как на сервере, так и на клиенте. На большинстве платформ затеняемый дисплей должен быть активен: не заблокирован и не выключен.

Если к машине, к дисплею X11 которой необходимо получить удалённый доступ, есть SSH-доступ, можно на клиенте запустить команду:

$ xpra shadow ssh://user@HOST/

В результате выполнения этой команды будет произведено подключение по SSH к HOST, запущен теневой сервер xpra и произведено подключение к нему. Теневой сервер будет остановлен после отключения.

При этом на сервере в трее появится значок («Exit» — остановить сервер, «Read Only» — запретить управление, только просмотр рабочего стола):

Xpra. Управление режимом shadow

Если запуск через SSH не поддерживается или нужно запустить теневой сервер вручную и, возможно, настроить дополнительные параметры, можно запустить его из оболочки. Пример запуска управления запущенной графической сессией через TCP-сокеты:

$xpra shadow :0 --bind-tcp=0.0.0.0:9876


Использование

Некоторые команды xpra

Команда Описание Пример
xpra start Запустить новый сервер xpra (при запуске удалённого сервера со строкой подключения ssh://HOST/DISPLAY новый сеанс также будет присоединен)
$ xpra start :7
$ xpra start --start=gimp
xpra start-desktop Запустить вложенный сервер X11, все дочерние команды будут запускаться на вложенном сервере X11
$ xpra start-desktop --start=xfce4-session
xpra attach Подключиться к работающему серверу xpra. Любые приложения, использующие этот сервер, будут перенаправляться на текущий экран
$ xpra attach :7
$ xpra attach ssh://user@test/7
xpra detach Отсоединить данный дисплей xpra
$ xpra detach :7
xpra screenshot Сделать снимок экрана и сохранить его в файле с указанным именем (снимки экрана можно делать только при подключенном клиенте)
$ xpra screenshot my.jpg
xpra version Вывести версию сервера
$ xpra version
4.4.4-r0
xpra info Вывести версию, статус и статистику сервера
xpra top Отобразить ключевые атрибуты работоспособности сервера
xpra control Изменить параметры запущенного сервера. Список команд можно получить, указав «help» в качестве команды (например, xpra control :1 help)
$ xpra control :1 min-quality 20
xpra stop Подключиться к работающему серверу xpra и запросить его немедленное завершение. Обычно это приводит к тому, что любые приложения, использующие этот сервер, также прекращают работу
xpra exit Подключиться к работающему серверу xpra и запросить его немедленное завершение. В отличие от команды xpra stop, процесс Xvfb и его клиенты X11 (если таковые имеются) останутся запущенными.
xpra showconfig Вывести конфигурацию xpra. В качестве дополнительных аргументов можно указать определенные параметры, или использовать специальное значение all, чтобы отобразить все параметры
$ xpra showconfig clipboard-direction
clipboard-direction            = 'both'
xpra list Вывести список всех серверов xpra, запущенные текущим пользователем на текущей машине
xpra shadow Предоставить доступ к рабочему столу (существующему дисплею X11). Если активен только один дисплей X11 и его номер меньше 10, он может быть обнаружен автоматически. Для этого режима работы настоятельно рекомендуется использовать видеокодек (h264 или vp8)
xpra proxy Позволяет одному серверу проксировать соединения для нескольких других, потенциально выступая в качестве точки входа для балансировки нагрузки или аутентификации для многих сеансов. Прокси-сервер будет создавать новый процесс для каждого прокси-соединения, этот прокси-процесс создаст неаутентифицированный новый сокет домена unix, который можно использовать с подкомандами info, version и stop.


Строка подключения

Локальный дисплей (только для локальных дисплеев локального пользователя):

:DISPLAY

Подключение с использованием SSH:

ssh://[USERNAME[:PASSWORD]@]HOST[:SSH_PORT]/[DISPLAY][?QUERYSTRING]

QUERYSTRING можно использовать для указания прокси-сервера ssh: ?proxy=ssh://[ИМЯ ПОЛЬЗОВАТЕЛЯ[:ПАРОЛЬ]@]HOST[:SSH_PORT] В этом случае xpra установит SSH-соединение с указанным «прокси-сервером» и с этого хоста xpra установит SSH-соединение с сервером xpra.

Для обратной совместимости режим SSH также поддерживает синтаксис:

ssh:[USERNAME[ PASSWORD]@HOST:DISPLAY

Пароль необходимо указывать только тогда, когда он требуется модулю аутентификации сервера.

Примечание: При подключении по ssh может потребоваться указать системный ssh-клиент:
$ xpra start --ssh=ssh ssh://user@192.168.0.101 --start=scratch-desktop

Или дописать в файл ~/.xpra/xpra.conf строку:

ssh = ssh


В режиме TCP используются номера портов, а не номера дисплеев. Если через один TCP-порт доступно несколько дисплеев(например, при использовании прокси-сервера), то можно также указать номер дисплея:

tcp://[USERNAME@]HOST:PORT[/DISPLAY]

Режим SSL (добавляет безопасный уровень сокетов поверх режима TCP):

ssl://[USERNAME@]HOST:PORT[/DISPLAY]

Подключиться по протоколу websocket:

ws://[USERNAME[:PASSWORD]@]HOST:PORT/[DISPLAY]

Подключиться по защищённому протоколу websocket (websocket с SSL):

 wss://[USERNAME[:PASSWORD]@]HOST:PORT/[DISPLAY]


TCP-сокеты

Запуск на сервере:

$ xpra start --start=kolourpaint --bind-tcp=0.0.0.0:9878

или для управления запущенной графической сессией:

$ xpra shadow --bind-tcp=0.0.0.0:9878

Подключение:

$ xpra attach ws://192.168.0.154:9878

Этот же адрес можно открыть в веб-браузере:

Xpra. Подключение из веб-браузера

Параметры подключения можно указать с помощью диалоговой формы подключения (http://host:port/connect.html) или указаны как параметры URL, например uri|http://192.168.0.154:9878/?username=user.

Создание TCP сеанса (начиная с версии 4.0.1-alt1 с защитой паролем (пароль записан в файл password):

$ xpra start --start=kolourpaint --bind-tcp=0.0.0.0:9878,auth=file:filename=./password

При подключении указать имя пользователя (и по запросу ввести пароль):

$ xpra attach ws:user//192.168.0.154:9878

Графический интерфейс

Графический интерфейс xpra («Меню запуска приложений» → «Интернет/Сеть» → «Xpra»):

Графический интерфейс Xpra

«Browse» — просмотреть список и подключиться к локальному дисплею.

Xpra. Список локальных дисплеев

«Connect» — подключиться к удалённому серверу :

Xpra. Подключение к удалённому серверу

«Shadow» — предоставить доступ к рабочему столу.

«Start» — запустить сервер xpra: Запуск сервера Xpra