Shell

如何通過 bash 中的通知接收輸入?

  • June 9, 2014

當我在 Empathy 中收到聊天消息時,我會在 GNOME Shell 中收到通知。此通知允許我直接輸入回复,而不必切換到 Empathy。

有什麼辦法可以從 shell 腳本中得到類似的提示?

不,沒有辦法做到這一點。至少在不使用 GNOME Shell 擴展的情況下是這樣。

這就是為什麼。GNOME 與其他桌面一起使用來自 FreeDesktop(非)標準機構的桌面標準。這個特定的標準稱為心靈感應。

本質上,Telepathy 為 GNOME 等桌面會話提供了一種處理聊天的抽象方式。因此,在 Telepathy 中,Telepathy 客戶端(如 Empathy)不必關心它在與什麼協議進行通信。它只是與 Telepathy 對話,然後 Telepathy 會將該請求轉發給某個守護程序,該守護程序實際上負責說出您正在使用的任何協議。這些守護程序稱為 Telepathy 提供者。這一切都通過 D-Bus 的魔力聯繫在一起。

Empathy 是一個 Telepathy 客戶端,它是一個傳統的“應用程序”。但是,Telepathy 客戶端不必是帶有視窗、菜單欄、按鈕和所有東西的“應用程序”。它們也可以是,哦,我不知道……通知系統的一個組件。

是的,您看到的輸入實際上是 GNOME Shell 的通知子系統,它是 Telepathy 使用者。通知根本與 Empathy 無關:它來自 Telepathy,而不是 Empathy。

這意味著“輸入通知”不是通知中輸入的通用框架。它不適用於任意事物。它適用於心靈感應,因此我們對您的問題得出了可悲的答案……沒有辦法從 shell 腳本中要求這樣的輸入。

也許調查一下zenity(1)

引用自:https://unix.stackexchange.com/questions/136122