GTk应用程序主到远程实例通信

GTk应用程序主到远程实例通信,gtk,gtk3,Gtk,Gtk3,使用Gtk应用程序,我们可以防止程序的多个实例 在创建Gtk应用程序时,如果启用了Gio.ApplicationFlags.HANDLES\u command\u LINE,则可以从远程实例向主实例发送命令参数 通过这个,我们从命令行发送相同的Gtk应用程序,这非常棒 但问题是,有没有办法将信息返回到远程/普通实例,以便在从命令行执行查询时可以显示回来。因为远程实例在找到主实例后立即退出 我使用的是python。是的,但可能不是您想要的方式,所以这会很棘手。这种方法应该有效,但我还没有尝试过 您

使用Gtk应用程序,我们可以防止程序的多个实例

在创建Gtk应用程序时,如果启用了
Gio.ApplicationFlags.HANDLES\u command\u LINE
,则可以从远程实例向主实例发送命令参数

通过这个,我们从命令行发送相同的Gtk应用程序,这非常棒

但问题是,有没有办法将信息返回到远程/普通实例,以便在从命令行执行查询时可以显示回来。因为远程实例在找到主实例后立即退出


我使用的是python。

是的,但可能不是您想要的方式,所以这会很棘手。这种方法应该有效,但我还没有尝试过


您应该将要从远程实例调用的方法公开为DBus方法。然后重写
do\u local\u命令行()
vfunc。当远程实例从命令行启动时,它将在远程实例中被调用,并且您将在命令行参数传递到主实例之前处理它们。将它们从参数数组中删除,而不是将它们传递给主实例。然后在主实例上调用DBus方法,等待响应,然后从
do\u local\u command\u line()
函数返回。

是的,但可能不是以您想要的方式返回,因此这将很棘手。这种方法应该有效,但我还没有尝试过


您应该将要从远程实例调用的方法公开为DBus方法。然后重写
do\u local\u命令行()
vfunc。当远程实例从命令行启动时,它将在远程实例中被调用,并且您将在命令行参数传递到主实例之前处理它们。将它们从参数数组中删除,而不是将它们传递给主实例。然后在主实例上调用DBus方法并等待响应,然后从
do_local_命令行()返回
函数。

您是在询问第二个应用程序是否可以在死亡前向第一个应用程序发送数据?@oldtechaa任何新实例都会检查主实例并将命令行参数发送给主实例。问题在此之后消失,任务由主实例处理。我需要一些从主实例返回到远程/普通实例的反馈消息,这样用户就不会感到困惑。您是在询问第二个应用程序是否可以在死亡前向第一个应用程序发送数据?@oldtechaa任何新实例都会检查主实例并将命令行参数发送到主实例。问题在此之后消失,任务由主实例处理。我需要一些从主实例返回到远程/普通实例的反馈消息,这样用户就不会感到困惑。