如何通过 bash 中的通知接收输入?

如何通过 bash 中的通知接收输入?

当我在 Empathy 中收到聊天消息时,我会在 GNOME Shell 中收到通知。此通知允许我直接输入回复,而不必切换到 Empathy。

有什么方法可以从 shell 脚本中获得类似的提示吗?

答案1

不,没有办法做到这一点。至少在不使用 GNOME Shell 扩展的情况下是这样。

原因如下。 GNOME 与其他桌面一起使用来自 FreeDesktop(非)标准机构的桌面标准。这个特殊的标准称为心灵感应。

本质上,Telepathy 提供了一种处理 GNOME 等桌面会话聊天的抽象方法。因此,在 Telepathy 中,Telepathy 客户端(如 Empathy)不必关心它在底层与什么协议进行通信。它只是与 Telepathy 对话,然后 Telepathy 会将该请求转发给某个守护进程,该守护进程是实际上负责说出您使用的任何协议。这些守护进程称为心灵感应提供者。这一切都通过 D-Bus 的魔力联系在一起。

Empathy 是一个 Telepathy 客户端,它是一个传统的“应用程序”。然而,Telepathy 客户端不必是带有窗口、菜单栏、按钮等一切的“应用程序”。它们也可以是,哦,我不知道......通知系统的组件。

是的,您看到的输入实际上是作为 Telepathy 使用者的 GNOME Shell 的通知子系统。该通知根本与同理心无关:它源自心灵感应,而不是同理心。

这意味着“输入通知”不是通知中输入的通用框架。它不适用于任意的事情。它仅有的适用于 Telepathy,因此我们对您的问题得出了令人悲伤的答案...无法从 shell 脚本中请求这样的输入。

也许调查一下zenity(1)

相关内容