使用Gtk Application我们可以阻止程序的多个实例。
在创建Gtk应用程序时启用Gio.ApplicationFlags.HANDLES_COMMAND_LINE
时,可以从远程实例向主实例发送命令参数。
通过这个我们从命令行发送Arguments相同的Gtk Application,这非常棒。
但是存在问题,是否有任何方法可以将信息返回到远程/正常实例,以便在从命令行执行查询时它可以显示回来。由于远程实例在找到主实例后立即退出。
我正在使用python。
答案 0 :(得分:0)
是的,但可能不是你想要的方式,所以它会很棘手。这种方法应该有效,但我没有尝试过。
您应该将要从远程实例调用的方法公开为DBus方法。然后覆盖do_local_command_line()
vfunc。当它从命令行启动时,它将在远程实例中被调用,并且您将在它们传递给主实例之前处理命令行参数。而不是将它们传递给主实例,而是从参数数组中删除它们。然后在主实例上调用DBus方法并等待响应,然后从do_local_command_line()
函数返回。