Ntfy是一个简单而可维护的跨平台Python实用程序,可让您自动根据需要或长时间运行的命令完成桌面通知。 一旦特定命令完成,它也可以将推送通知发送到您的手机。
它支持与流行的Linux shell (如bash和zsh)的 shell集成; 默认情况下, ntfy将只发送持续时间超过10秒的通知,以及终端是否聚焦。 它还提供了进程,emjoi,XMPP,电报,Instapush和Slack通知支持功能。
查看以下视频,演示一些ntfy功能:
在本文中,我们将向您展示如何在主流Linux发行版中安装,配置和使用ntfy,以便在长时间运行的命令完成时获取桌面或电话通知。第1步:如何在Linux中安装Ntfy
Ntfy包可以使用Python Pip安装如下。
$ sudo pip install ntfy
一旦ntfy安装,它可以使用位于~/.ntfy.yml
.ntfy.yml中的YAML文件或在Linux上的标准平台特定位置~/config/ntfy/ntfy.yml
进行配置。
它通过dbus运行,并且在大多数(如果不是全部)流行的Linux桌面环境(如Gnome,KDE,XFCE和libnotify)上工作。 在使用它之前,请确保已安装所需的依赖项,如图所示。
$ sudo apt-get install libdbus-glib-1-dev libdbus-1-dev [On Debian/Ubuntu] $ sudo yum install dbus-1-glib-devel libdbus-1-devel [On Fedora/CentOS] $ pip install --user dbus-python
第2步:将Ntfy与Linux Shell集成
ntfy在bash和zsh中长时间运行命令后,提供自发发送通知的支持。 在bash中,它使用rcaloras / bash-preexec来再现zsh的preexec和precmd功能。
您可以在.bashrc
或.zshrc
文件中启用它,如下所示:
eval "$(ntfy shell-integration)"
在将其与外壳集成后,如果终端被聚焦,nfty将在桌面上发送任何持续时间超过10秒的通知,这是默认设置。
请注意,终端聚焦适用于X11和Terminal.app。 您可以通过--longer-than
和--foreground-too
标志进行配置。
忽略不必要的通知
可以想象的是,您可以在运行交互式程序时消除不必要的通知,可以使用AUTO_NTFY_DONE_IGNORE env变量进行配置。
例如,使用下面的export命令,您将阻止命令“ vim screen meld ”生成通知:
$ export AUTO_NTFY_DONE_IGNORE="vim screen meld"
第3步:如何在Linux中使用Nfty
安装并配置ntfy后,您可以使用以下示例进行测试:
$ ntfy send "This is youcl, we’re testing ntfy"
Ntfy发送通知
下面的示例显示了如何运行命令并在通知完成后发送通知:
$ ntfy done sleep 5
Ntfy自动发送通知
要使用自定义通知标题,请按如下所示设置-t
标志。
$ ntfy -t 'youcl' send "Using custom notification title"
Ntfy自定义通知标题
下面的示例将显示使用的特定代码的表情符号。
$ ntfy send ":wink: Using emoji extra! :joy:"
Ntfy在通知中使用表情符号
一旦具有指定ID的进程完成,请将通知发送到桌面,请使用以下示例:
$ ntfy done --pid 2099
您可以使用通知指示器查看所有通知,运行以下命令来安装最近的通知指示器。
$ sudo add-apt-repository ppa:jconti/recent-notifications $ sudo apt update && sudo apt install indicator-notifications
安装完成后,从Unity Dash启动指示灯,运行几个ntfy命令,然后单击面板上的图标查看所有通知。
Ntfy通知
要查看帮助消息,请运行:
$ ntfy -h
第4步:安装其他Ntfy功能
您可以安装其他功能,但这需要额外的依赖关系:
ntfy done -p $ PID - 需要安装为ntfy [pid] 。
$ pip install ntfy[pid]
emjoi支持 - 需要安装为ntfy [emoji] 。
$ pip install ntfy[emoji]
XMPP支持 - 需要安装为ntfy [xmpp] 。
$ pip install ntfy[xmpp]
电报支持 - 需要安装为ntfy [电报] 。
$ pip install ntfy[telegram]
Instapush支持 - 需要安装为ntfy [instapush] 。
$ pip install ntfy[instapush]
松弛支持 - 需要安装为ntfy [slack] 。
$ pip install ntfy[slack]
并使用单个命令安装多个额外的功能,用逗号分隔它们:
$ pip install ntfy[pid,emjoi,xmpp, telegram]
有关详尽的使用指南,请查看: http : //ntfy.readthedocs.io/en/latest/
就这样! 在本文中,我们向您展示了如何在主流Linux发行版中设置和使用ntfy。 使用下面的反馈表单分享您关于本文的想法,或与我们分享有关任何类似的Linux实用程序的信息。