удалённый запуск графических X-приложений

Используемые графические окружения, особенности, баги, отслеживание версий и изменений...

Модераторы: Olej, adminn, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 19 окт 2023, 21:53

Olej писал(а):
19 окт 2023, 21:40
Который предстоит решить.
В LAN (доверие ко всем своим хостам) нужно просто разрешить всем сетевым хостам доступ к дисплею по сети...
Было так:

Код: Выделить всё

olej@esprimop420:~$ xhost 
access control enabled, only authorized clients can connect
SI:localuser:olej
Разрешить так:

Код: Выделить всё

olej@esprimop420:~$ xhost +
access control disabled, clients can connect from any host
xhost:  must be on local machine to enable or disable access control.
Теперь контроль доступа отменён :!:
Проверяем дисплей по умолчанию используемый этим X-сервером:

Код: Выделить всё

olej@esprimop420:~$ echo $DISPLAY
:0
(При некоторых манипуляциях с системой может отличаться, и это влечёт существенные сложности!)
И с клиентского хоста LAN:

Код: Выделить всё

olej@R420:~$ DISPLAY=192.168.1.138:0.0; export DISPLAY;

olej@R420:~$ echo $DISPLAY
192.168.1.138:0.0
...
И на X-серверном экране имеем свои часики, идущие где-то в сети...
x11.1.png
x11.1.png (6.51 КБ) 341 просмотр
Которые мы так же захватываем (для сохранения) средствами ImageMagic:

Код: Выделить всё

olej@esprimop420:~/2023$ import x11.1.png

olej@esprimop420:~/2023$ ls -l x11.1.png 
-rw-r--r-- 1 olej olej 5290 окт 19 23:20 x11.1.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 19 окт 2023, 23:57

Выполнение xhost без параметров - восстанавливает контроль доступа:

Код: Выделить всё

olej@esprimop420:~$ xhost
access control enabled, only authorized clients can connect
SI:localuser:olej
И с клиента доступа нет :!:

Код: Выделить всё

olej@R420:~$ DISPLAY=192.168.1.138:0.0; xclock
Authorization required, but no authorization protocol specified
Error: Can't open display: 192.168.1.138:0.0

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 20 окт 2023, 00:02

Olej писал(а):
19 окт 2023, 21:53
В LAN (доверие ко всем своим хостам) нужно просто разрешить всем сетевым хостам доступ к дисплею по сети...
Разрешать доступ клиентам можно индивидуально - в этом и состоит защищённость доступа X11...
Клиент который показывался выше (R420) имеет интерфейсы:

Код: Выделить всё

olej@R420:~$ ip -4 a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    altname enp2s0f0
    inet 192.168.1.14/24 brd 192.168.1.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    altname enp2s0f1
    inet 192.168.1.13/24 brd 192.168.1.255 scope global noprefixroute eno2
       valid_lft forever preferred_lft forever
И IPv6 (сеть Yggdrasil):

Код: Выделить всё

olej@R420:~$ ip -6 a s dev tun0
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc fq_codel state UNKNOWN group default qlen 500
    inet6 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f/7 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::54d2:c27a:dde9:525f/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
Добавляю доступ клиентов:

Код: Выделить всё

olej@esprimop420:~$ xhost +192.168.1.13
192.168.1.13 being added to access control list

Код: Выделить всё

olej@esprimop420:~$ xhost +192.168.1.14
192.168.1.14 being added to access control list
Индикация:

Код: Выделить всё

olej@esprimop420:~$ xhost
access control enabled, only authorized clients can connect
INET:192.168.1.14
INET:R420
SI:localuser:olej
Добавляю туда же клиента IPv6:

Код: Выделить всё

olej@esprimop420:~$ xhost +inet6:21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f being added to access control list

Код: Выделить всё

olej@esprimop420:~$ xhost
access control enabled, only authorized clients can connect
INET6:21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
INET:192.168.1.14
INET:R420
SI:localuser:olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 20 окт 2023, 00:03

Проверяю доступ клиента:

Код: Выделить всё

olej@R420:~$ DISPLAY=192.168.1.138:0.0; xclock
...
Изображение есть!
Как X-сервер видит своих клиентов:

Код: Выделить всё

olej@esprimop420:~$ xlsclients | tail
esprimop420  nemo-desktop
esprimop420  polkit-gnome-authentication-agent-1
esprimop420  blueman-applet
esprimop420  cinnamon-killer-daemon
esprimop420  xdg-desktop-portal-gtk
esprimop420  Telegram
esprimop420  gnome-terminal-server
esprimop420  Firefox-esr
esprimop420  org.gnome.Software
R420  xclock

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 20 окт 2023, 00:07

Olej писал(а):
20 окт 2023, 00:03
Проверяю доступ клиента:
Теперь клиент IPv6 ... что для меня особо важно ...
На хосте X-сервера тоже работает сеть/нода Yggdrasil, его IPv6:

Код: Выделить всё

olej@esprimop420:~/2023$ ip -6 a s dev tun0
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 qdisc fq_codel state UNKNOWN group default qlen 500
    inet6 201:617b:8699:5a7f:356b:1da6:a5d6:c960/7 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::1b57:3447:b7e6:a184/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
Поэтому с клиентской машины запуск на удалённое отображение делаем так:

Код: Выделить всё

olej@R420:~$ DISPLAY=201:617b:8699:5a7f:356b:1da6:a5d6:c960:0.0; xclock
...
Отображение опять есть!
И X-сервер видит своих клиентов так:

Код: Выделить всё

olej@esprimop420:~$ xlsclients | tail
esprimop420  nemo-desktop
esprimop420  polkit-gnome-authentication-agent-1
esprimop420  blueman-applet
esprimop420  cinnamon-killer-daemon
esprimop420  xdg-desktop-portal-gtk
esprimop420  Telegram
esprimop420  gnome-terminal-server
esprimop420  Firefox-esr
esprimop420  org.gnome.Software
R420  xclock

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 20 окт 2023, 00:11

Olej писал(а):
20 окт 2023, 00:07
И X-сервер видит своих клиентов так:
... и для полной чистоты эксперимента - удаляю из списка доступа всех клиентов традиционного IPv4:

Код: Выделить всё

olej@esprimop420:~$ xhost -192.168.1.14
192.168.1.14 being removed from access control list

Код: Выделить всё

olej@esprimop420:~$ xhost -R420
R420 being removed from access control list

Код: Выделить всё

olej@esprimop420:~$ xhost
access control enabled, only authorized clients can connect
INET6:21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
SI:localuser:olej
И запуск клиентского приложения (чуть по-другому, но опцию -display позволяют практически все X11 приложения):

Код: Выделить всё

olej@R420:~$ xclock -display 201:617b:8699:5a7f:356b:1da6:a5d6:c960:0.0olej@R420:~$ xclock -display 201:617b:8699:5a7f:356b:1da6:a5d6:c960:0.0
И то как теперь X-сервер видит отображаемые приложения:

Код: Выделить всё

olej@esprimop420:~$ xlsclients | tail
esprimop420  nemo-desktop
esprimop420  polkit-gnome-authentication-agent-1
esprimop420  blueman-applet
esprimop420  cinnamon-killer-daemon
esprimop420  xdg-desktop-portal-gtk
esprimop420  Telegram
esprimop420  gnome-terminal-server
esprimop420  Firefox-esr
esprimop420  org.gnome.Software
R420  xclock -display 201:617b:8699:5a7f:356b:1da6:a5d6:c960:0.0

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 20 окт 2023, 00:16

Olej писал(а):
05 июл 2018, 21:47
X11 - сетевой протокол, а любые графические приложения Linux можно запускать на любом удалённом хосте не только в LAN, но, при большом желании и хорошей сети, и в глобальной сети.
Вот на этом, пока, заканчиваем проверку X11 протокола и на IPv4 и на IPv6 ...
Вот так осуществляется сетевая прозрачность X-графики между хостами разделёнными тысячами километров...

P.S. А вы мне: "Wayland ! ... Wayland !" (см. Wayland vs X11).
Ваш Wayland годится только прыщавым геймерам для их свистелок с перделками :!: :cry:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

удалённый запуск графических X-приложений

Непрочитанное сообщение Olej » 29 окт 2023, 12:14

Olej писал(а):
19 окт 2023, 14:08
Самый простой и быстрый, на сегодня, способ удалённого выполнения X-приложений - это использование туннеля SSH, запуск SSH-сессии с ключами -X и, ещё лучше, -Y (без TLS-шифрования трафика) ...
Olej писал(а):
19 окт 2023, 13:53
что там в IPv6 ?
Хороший свежий пример:
- из LAN с частными ("серыми") IPv4 - в другую такую же LAN, совсем другого провайдера, находящуюся на расстоянии несколько сот метров (а по трассе - несколько десятков километров)...

Код: Выделить всё

olej@R420:~$ ssh -Y olej@200:cd1f:5278:a6cf:31c5:3303:82c1:f1d3
olej@200:cd1f:5278:a6cf:31c5:3303:82c1:f1d3's password: 
Last login: Sun Oct 29 11:05:21 2023 from 200:cd1f:5278:a6cf:31c5:3303:82c1:f1d3
И оттуда:

Код: Выделить всё

olej@Inspiron:~$ xclock
kosh1.png
kosh1.png (7.69 КБ) 306 просмотров
Более того :lol: :

Код: Выделить всё

olej@Inspiron:~$ which opera
/usr/bin/opera

Код: Выделить всё

olej@Inspiron:~$ /usr/bin/opera
...
И удалённо конфигурирую установленный там аппаратный роутер:
Снимок экрана от 2023-10-29 13-38-50.png
Снимок экрана от 2023-10-29 13-38-50.png (113.46 КБ) 306 просмотров
Снимок экрана от 2023-10-29 11-23-24.png
Снимок экрана от 2023-10-29 11-23-24.png (124.68 КБ) 306 просмотров
Снимок экрана от 2023-10-29 11-29-06.png
Снимок экрана от 2023-10-29 11-29-06.png (130.4 КБ) 306 просмотров

Ответить

Вернуться в «Графические окружения в дистрибутивах»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя