通过 ssh 运行 x11 转发的应用程序使用 at-spi2 接口

问题描述 投票:0回答:1

我正在连接到远程计算机,如下所示 ssh 用户@主机 -Y

因此,如果我在 ssh 终端上运行应用程序,例如 gnome-calculator,它会按照我的意愿在我的本地屏幕上运行。到现在为止一切都很好。

但对于用例(UI 自动化),我需要访问 AT-SPI2 上该应用程序的元素。

即使应用程序在我的本地屏幕上运行,它也不会显示在加速器上。 (见附件)

我怎样才能实现这个目标? accerciser

linux ssh x11 dbus
1个回答
0
投票

D-Bus 通信不通过 X11;您需要单独转发相关的套接字。最近的 OpenSSH 版本支持 AF_UNIX 套接字转发。

  1. 找出远程D-Bus套接字地址。
  2. 选择临时本地套接字路径。
  3. 使用
    ssh -L <localpath>:<remotepath> <server>
    将本地侦听套接字转发到远程 D-Bus 套接字。
  4. 让您的程序连接到本地套接字,SSH 会将其转发到远程总线。

据我所知,AT-SPI总线是通过会话总线调用来发现的,因此您可能需要重复上述过程两次:首先转发会话总线(使用$DBUS_SESSION_BUS_ADDRESS来确定其在远程系统上的路径),然后转发 AT-SPI 总线(通过会话总线调用发现其地址后)。

© www.soinside.com 2019 - 2024. All rights reserved.