如何在不使用 -X 的情况下通过 ssh 获取窗口管理器的当前活动应用程序

如何在不使用 -X 的情况下通过 ssh 获取窗口管理器的当前活动应用程序

我想在使用的任何窗口管理器中获取当前活动的窗口。所以,我希望能与 gnome 或 kde 一起工作。但如果该解决方案仅适用于 gnome,我会很高兴。这是 Ubuntu 的较新安装,所以我假设它是 Wayland?

我需要这个来通过 ssh 工作。我想跟踪前台运行应用程序的时间。

我尝试使用xdotool getactivewindow.但是,即使我使用与运行窗口管理器相同的用户帐户登录,并设置显示和 xauthority 变量,它仍然不起作用。其他线程表明我需要设置 -X 开关,但我在 Android 上使用 ssh 客户端,并且没有客户端 X11,因此这是不可行的。

我尝试使用 gdbus 命令,但它也不起作用

$ gdbus call   --session   --dest org.gnome.Shell   --object-path /org/gnome/Shell   --method org.gnome.Shell.Eval "
    global
      .get_window_actors()
      .map(a=>a.meta_window)
      .find(w=>w.has_focus())
      .get_wm_class()"   | cut -d'"' -f 2
(false, '')

有什么古怪的方法可以做到这一点吗?我只需要用于会计目的的名称,不需要除此之外的任何详细信息。

相关内容