LINUX.ORG.RU

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

 ,


0

1

Привет всем.

Насколько я помню описание иксов, там написано, что X-сервер проектировался и разрабатывался как сетевой сервер, и в него (вроде как) ИЗНАЧАЛЬНО! заложена возможность подключаться удаленными клиентами.

Х.З, может я не в теме, но почему как начинаешь поиск как подключиться удаленно, то сплошь натыкаешься на советы типа: «установи VNC», «используй RDP» (мелкомягкого - я в шоке!), проброс портов «по SSH» ... и т.д.

Не могу сказать, что досконально «прошерстил» сайт http://www.freedesktop.org/wiki/, но так и не нашел ответ - как же это делается, и главное - ГДЕ это «заложено»?

Люди добрые, киньте ссылкой на мануал в первоисточник - как с пользовательской X&nix станции удаленно подключаться к X-серверу (без сторонних приложений)?


Ответ на: комментарий от iliyap

а на «Рабочий стол» зайти - в качестве «your-x-application» указать дисплейный менеджер, который на удаленной системе установлен, так?

bigov
() автор топика
Ответ на: комментарий от bigov

Отметим 30-летия непонимания сетевой модели X11

Удалённая система — это клиент.

Твой дисплей — это сервер.

Deleted
()

Спасибо, нашел:

$ man xorg

Xorg(1)                              General Commands Manual                              Xorg(1)

NAME
       Xorg - X11R7 X server

SYNOPSIS
       Xorg [:display] [option ...]

... ... ...

NETWORK CONNECTIONS
       Xorg supports connections made using the following reliable byte-streams:

       Local
           On  most platforms, the "Local" connection type is a UNIX-domain socket.  On some Sys‐
           tem V platforms, the "local" connection types also include STREAMS pipes, named pipes,
           and some other mechanisms.  See the "LOCAL CONNECTIONS" section of X(7) for details.

       TCP/IP
           Xorg  listens  on port 6000+n, where n is the display number.  This connection type is
           usually disabled by default, but may be enabled  with  the  -listen  option  (see  the
           Xserver(1) man page for details).
bigov
() автор топика
Ответ на: комментарий от bigov

Клиент — приложение, которое открывает к нему tcp-соединение. (ну или UNIX-domain-соединение, если локально.)

30 лет X11, 30 лет этому терминологическому казусу.

Если ты хочешь получить персистентный сеанс на удалённой машине, куда можно заходить и выходить без потери состояния, то тебе нужен Xpra. Он притворяется графическим сервером для своих локальных приложений и клиентом — для дисплея на другой машине.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от bigov

Не dm, а gnome-session. Или startkde. Или xfce4-session. Это приложения, являющиеся x11 клиентами. А дисплейный менеджер x11 клиентом не является.

iliyap ★★★★★
()

Поскольку приложение должно присоединяться к дисплею, а «дисплей» нынче обычно сидит за NAT, и еще потому, что средства авторизации X11 морально устарели, обычно используют туннель, прокинутый со стороны дисплея.

Когда ты делаешь ssh -X, ssh организует тунеллирование порта и настраивает на переменную DISPLAY в удалённом сеансе. На удалённой машине X11-клиенты коннектятся в локальный порт, который форвардится на машину с X11-дисплеем, и ты на ней видишь их окошки.

Если соединение рвётся, приложение дохнет. Чтобы этого не происходило, на удалённом машине нужен Xpra или Xvnc или что там еще бывает из подобного (Xrdp?). А уже он будет взаимодействовать по сети.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от iliyap

Ну чисто формально, это функциональная часть менеджера.

Deleted
()
 ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
         [-D [bind_address:]port] [-E log_file] [-e escape_char]
         [-F configfile] [-I pkcs11] [-i identity_file]
         [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
         [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
         [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
         [user@]hostname [command]
     -X      Enables X11 forwarding.  This can also be specified on a per-host
             basis in a configuration file.

             X11 forwarding should be enabled with caution.  Users with the
             ability to bypass file permissions on the remote host (for the
             user's X authorization database) can access the local X11 display
             through the forwarded connection.  An attacker may then be able
             to perform activities such as keystroke monitoring.

             For this reason, X11 forwarding is subjected to X11 SECURITY
             extension restrictions by default.  Please refer to the ssh -Y
             option and the ForwardX11Trusted directive in ssh_config(5) for
             more information.

             (Debian-specific: X11 forwarding is not subjected to X11 SECURITY
             extension restrictions by default, because too many programs cur‐
             rently crash in this mode.  Set the ForwardX11Trusted option to
             “no” to restore the upstream behaviour.  This may change in
             future depending on client-side improvements.)

     -x      Disables X11 forwarding.

PeKar
()
Ответ на: комментарий от Deleted

Вот за Xpra персональный респект!

bigov
() автор топика
25 февраля 2018 г.

В качестве резюме:

  • На удаленной машине в «/etc/ssh/sshd_config» указать «ForwardX11 yes»
  • На своей машине в консоли набираем «ssh -X username@remote_server 'opera'»

В итоге - браузер установлен на удаленной машине, а стартует и рисует окно на вашей машине. Аналогично можно запустить не только отдельное приложение, но и весь «Рабочий стол», например указав в качестве приложения «xfce4-session».

Только не юзабельно это, если вы не в одной локальной сети с хостом, к которому подключаетесь. Причина в том, что при задержке больше 10mc между хостами картинка будет очень-сильно-тоооооррррмозииить.

bigov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.