terminal - 如何从所有 tmux 窗口中清除铃声状态

标签 terminal alert tmux

我帮助维护了大量的类 Unix 服务器,因此保留了一个名为 tmux-rebuild 的脚本我用它来重建所有 tmux session 和窗口,并通过 SSH 链接到每个服务器。

我已将 tmux 配置为当在该窗口中打印终端响铃字符时,在其状态栏中显示带有感叹号的红色窗口名称。这对于像 irssi 这样的程序非常方便。当我在另一个窗口中有消息时提醒我。

我也有我的$PS1在每台服务器上设置以在每个提示结束时打印一个终端铃声。这很有用,因为如果我在一个窗口中运行一个长时间的工作并切换到另一个窗口,我可以立即看到它何时完成,因为当我的提示在工作完成后写入屏幕时,tmux 会使窗口名称以红色显示一个感叹号。这对我的工作流程非常有用。

然而,它会导致上面提到的重建脚本出现一个小问题,因为当我在运行它后启动 tmux 时,每个 session 中的每个窗口都被标记为红色,因为第一个提示被打印到屏幕上。这使得该功能在我访问每个窗口之前都没用,其中有 40-50 个。

有什么我可以添加到我的脚本中的东西,可以在创建 session 和窗口后清除所有警报吗?如有必要,我不介意使用 kludge。

最佳答案

从 tmux 手册页,特别是这里的最后一句话:

kill-session [-aC] [-t target-session]
          Destroy the given session, closing any windows linked to it
          and no other sessions, and detaching all clients attached 
          to it.  If -a is given, all sessions but the specified one is
          killed.  The -C flag clears alerts (bell, activity, or
          silence) in all windows linked to the session.

所以,简单地说:
tmux kill-session -C

关于terminal - 如何从所有 tmux 窗口中清除铃声状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12558584/

相关文章:

bash - 如何使用 export PS1 ="\W\$"修复自定义终端提示;清除;变成\W $

ruby - 将 Launchd 与 Mavericks 和 Ruby 一起使用

java - java中的JS样式警告框

terminal - tmux 不使用 screen-256color,即使它是在配置文件中设置的

tmux - 连接失败 : Connection refused

vim -X 标志为 .vimrc 条目

c - 从 exec 获取输出

git - 如何在我的 mac osx 终端上显示我的 git 分支和提交状态?

python - 使用 selenium 和 python 检查是否存在任何警报

php - 如何在 PHP 中显示警告框?