Страница 3 из 3
удалённый запуск графических X-приложений
Добавлено: 19 окт 2023, 21:53
Olej
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-сервером:
(При некоторых манипуляциях с системой может отличаться, и это влечёт существенные сложности!)
И с клиентского хоста 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 (6.51 КБ) 369 просмотров
Которые мы так же захватываем (для сохранения) средствами 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
удалённый запуск графических X-приложений
Добавлено: 19 окт 2023, 23:57
Olej
Выполнение 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
удалённый запуск графических X-приложений
Добавлено: 20 окт 2023, 00:02
Olej
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
удалённый запуск графических X-приложений
Добавлено: 20 окт 2023, 00:03
Olej
Проверяю доступ клиента:
Код: Выделить всё
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
удалённый запуск графических X-приложений
Добавлено: 20 окт 2023, 00:07
Olej
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
удалённый запуск графических X-приложений
Добавлено: 20 окт 2023, 00:11
Olej
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
удалённый запуск графических X-приложений
Добавлено: 20 окт 2023, 00:16
Olej
Olej писал(а): ↑05 июл 2018, 21:47
X11 - сетевой протокол, а любые графические приложения Linux можно запускать на любом удалённом хосте не только в LAN, но, при большом желании и хорошей сети, и в глобальной сети.
Вот на этом, пока, заканчиваем проверку X11 протокола и на IPv4 и на IPv6 ...
Вот так осуществляется сетевая прозрачность X-графики между хостами разделёнными тысячами километров...
P.S. А вы мне: "Wayland ! ... Wayland !" (см.
Wayland vs X11).
Ваш Wayland годится только прыщавым геймерам для их свистелок с перделками
удалённый запуск графических X-приложений
Добавлено: 29 окт 2023, 12:14
Olej
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
И оттуда:
- kosh1.png (7.69 КБ) 334 просмотра
Более того
:
Код: Выделить всё
olej@Inspiron:~$ which opera
/usr/bin/opera
И удалённо конфигурирую установленный там аппаратный роутер:
- Снимок экрана от 2023-10-29 13-38-50.png (113.46 КБ) 334 просмотра
- Снимок экрана от 2023-10-29 11-23-24.png (124.68 КБ) 334 просмотра
- Снимок экрана от 2023-10-29 11-29-06.png (130.4 КБ) 334 просмотра