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

Материал из ALT Linux Wiki
Строка 98: Строка 98:


Подключение:
Подключение:
<source lang="text" highlight="1">$ xpra attach --ssh="ssh" ssh:user@192.168.0.154:101 --min-size=1200x800 --clipboard-direction=both --clipboard=yes</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, в системном трее появляется значок, где можно управлять подключением, изменять настройки (например, направление буфера обмена, если он не отключён при запуске сервера):

Версия от 15:17, 21 мая 2021

Описание

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

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

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

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

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

Установка

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

# apt-get install xpra

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

Подключение

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

:DISPLAY

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

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

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

ssh:[USERNAME[ PASSWORD]@HOST:DISPLAY

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

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

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

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

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

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

$ xpra start :5

Просмотреть список запущенных xpra серверов (на текущей машине, текущим пользователем):

$ xpra list
Found the following xpra sessions:
/run/user/500/xpra:
        LIVE session at :1
        LIVE session at :102
        LIVE session at :5

Остановить xpra сервер на указанном дисплее (если сервер один, дисплей можно не указывать):

$ xpra stop :5
server requested disconnect:
 server shutdown
xpra at :5 has exite

Остановить xpra сервер на удалённой машине:

$ xpra stop ssh://user@192.168.0.101/5

Подключиться к серверу, используя локальный дисплей:

$ xpra attach :101

Отключиться от сервера:

$ xpra detach :101

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

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

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


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

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

ssh = ssh


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

  1. На сервере: запустить сервер xpra, автоматически выбрать дисплей и запустить программу (например, kolourpaint) на этом виртуальном дисплее:
    $ xpra start --start=kolourpaint
    Actual display used: :2
    Actual log file name is now: /run/user/500/xpra/:2.log
    
  2. Подключиться локально:
    $ xpra attach :2
    
  3. Удалённо подключиться к серверу xpra и перенаправить приложение (на 2 дисплее), использующие этот сервер, для отображения на вашем текущем экране:
    $ xpra attach ssh://user@192.168.0.101/2
    

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

На сервере запустить вложенный сервер X11:

$ xpra start-desktop :101 --start-child=xfce4-session --exit-with-children=yes

Или

$ xpra start-desktop :102 --start=plasmashell

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

$ xpra attach ssh:user@192.168.0.154:101 --min-size=1200x800 --clipboard-direction=both --clipboard=yes

При подключении к серверу xpra, в системном трее появляется значок, где можно управлять подключением, изменять настройки (например, направление буфера обмена, если он не отключён при запуске сервера):

Xpra. Значок в трее

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

Запустить удалённо:

xpra shadow --ssh=ssh ssh://user@192.168.0.137/0

Или:

  1. Запустить на сервере:
    $ xpra shadow :0
    
  2. Подключение:
    $ xpra attach --ssh=ssh --speaker=no ssh://user@192.168.0.154
    

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

Xpra. Управление запущенной графической сессией — значок в трее

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.