Undistract-me:当长时间运行的终端命令完成时获取通知
创始人
2024-03-01 21:23:56
0

Undistract-me

前一段时间,我们发表了如何在终端活动完成时获取通知。今天,我发现了一个叫做 “undistract-me” 的类似工具,它可以在长时间运行的终端命令完成时通知你。想象这个场景。你运行着一个需要一段时间才能完成的命令。与此同时,你查看你的 Facebook,并参与其中。过了一会儿,你记得你几分钟前执行了一个命令。你回到终端,注意到这个命令已经完成了。但是你不知道命令何时完成。你有没有遇到这种情况?我敢打赌,你们大多数人遇到过许多次这种情况。这就是 “undistract-me” 能帮助的了。你不需要经常检查终端,查看命令是否完成。长时间运行的命令完成后,undistract-me 会通知你。它能在 Arch Linux、Debian、Ubuntu 和其他 Ubuntu 衍生版上运行。

安装 Undistract-me

Undistract-me 可以在 Debian 及其衍生版(如 Ubuntu)的默认仓库中使用。你要做的就是运行下面的命令来安装它。

sudo apt-get install undistract-me

Arch Linux 用户可以使用任何帮助程序从 AUR 安装它。

使用 Pacaur

pacaur -S undistract-me-git

使用 Packer

packer -S undistract-me-git

使用 Yaourt

yaourt -S undistract-me-git

然后,运行以下命令将 “undistract-me” 添加到 Bash 中。

echo 'source /etc/profile.d/undistract-me.sh' >> ~/.bashrc

或者,你可以运行此命令将其添加到你的 Bash:

echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .bashrc

如果你在 Zsh shell 中,请运行以下命令:

echo "source /usr/share/undistract-me/long-running.bash\nnotify_when_long_running_commands_finish_install" >> .zshrc

最后让更改生效。

对于 Bash:

source ~/.bashrc

对于 Zsh:

source ~/.zshrc

配置 Undistract-me

默认情况下,Undistract-me 会将任何超过 10 秒的命令视为长时间运行的命令。你可以通过编辑 /usr/share/undistract-me/long-running.bash 来更改此时间间隔。

sudo nano /usr/share/undistract-me/long-running.bash

找到 LONG_RUNNING_COMMAND_TIMEOUT 变量并将默认值(10 秒)更改为你所选择的其他值。

保存并关闭文件。不要忘记让更改生效:

source ~/.bashrc

此外,你可以禁用特定命令的通知。为此,找到 LONG_RUNNING_IGNORE_LIST 变量并像下面那样用空格分隔命令。

默认情况下,只有当活动窗口不是命令运行的窗口时才会显示通知。也就是说,只有当命令在后台终端窗口中运行时,它才会通知你。如果该命令在活动窗口终端中运行,则不会收到通知。如果你希望无论终端窗口可见还是在后台都发送通知,你可以将 IGNORE_WINDOW_CHECK 设置为 1 以跳过窗口检查。

Undistract-me 的另一个很酷的功能是当命令完成时,你可以设置音频通知和可视通知。默认情况下,它只会发送一个可视通知。你可以通过在命令行上将变量 UDM_PLAY_SOUND 设置为非零整数来更改此行为。但是,你的 Ubuntu 系统应该安装 pulseaudio-utils 和 sound-theme-freedesktop 程序来启用此功能。

请记住,你需要运行以下命令来更新所做的更改。

对于 Bash:

source ~/.bashrc

对于 Zsh:

source ~/.zshrc

现在是时候来验证这是否真的有效。

在长时间运行的终端命令完成时获取通知

现在,运行任何需要超过 10 秒或者你在 Undistract-me 脚本中定义的时间的命令

我在 Arch Linux 桌面上运行以下命令:

sudo pacman -Sy

这个命令花了 32 秒完成。上述命令完成后,我收到以下通知。

请记住,只有当给定的命令花了超过 10 秒才能完成时,Undistract-me 脚本才会通知你。如果命令在 10 秒内完成,你将不会收到通知。当然,你可以按照上面的“配置”部分所述更改此时间间隔设置。

我发现这个工具非常有用。在我迷失在其他任务上时,它帮助我回到正事。我希望这个工具也能对你有帮助。

还有更多的工具。保持耐心!

干杯!

资源:


via: https://www.ostechnix.com/undistract-get-notification-long-running-terminal-commands-complete/

作者:sk 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何在群晖上安装CentO...
作者:小蜜栏目:代码编程2025-08-24 00:1347 在...
2025-08-24 21:13:13
基础Ubuntu网络代理的...
Ubuntu系统的网络代理配置是许多用户日常使用中的必备技能,从基...
2025-08-24 16:46:06
浪潮云洲申请基于AI及工业...
金融界2025年8月16日消息,国家知识产权局信息显示,浪潮云洲工...
2025-08-16 18:48:06
OpenAI时隔6年再度开...
智东西 作者 | 陈骏达 编辑 | 李水青 时隔6年,OpenAI...
2025-08-06 11:14:06
OpenAI 推出两款开源...
DoNews8月6日消息,OpenAI 宣布推出两款开源模型 GP...
2025-08-06 10:42:52
原创 ...
斯德哥尔摩的街道被铁栅栏围得水泄不通,警用无人机在低空盘旋,这种如...
2025-07-31 12:43:11

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...