概括
当我有一个输出大量文本的 tmux 窗格时,tmux 变得无响应。所有 tmux 命令都将被忽略,直到文本完成为止。
通过引入以下选项,tmux 修复了这个问题:
c0-change-trigger - Number of control characters that occur in 1 ms to trigger throttling
c0-trigger-update - Time to wait between pane redraws when triggered
问题
我正在使用 tmux 1.8。我在 ~/.tmux.conf 文件中设置了以下选项:
# Limit character spewing
set -g c0-change-trigger 100 # default is 250 triggers/millisecond
set -g c0-change-interval 1000 # default throttle updates at 100 ms intervals
但是,tmux 仍然会因文本过多而出现问题。例如,如果我进入窗格并输入:
find /
该命令生成大量文本,并且即使设置了 c0-* 选项,tmux 也不允许我切换窗格、切换窗口、分离等。
我了解,您可以通过键入以下内容查看设置的选项:
Ctrl-<Prefix> : show-options -g
在列表中,我看到了我在 conf 文件中设置的选项。但是,没有列出 c0-* 选项。因此,我无法验证我是否正确设置了这些值。
我尝试故意拼错选项,但没有看到任何错误文本。因此,我不相信这些选项被接受了。
我该如何验证这些选项?我在这里做错了什么吗?
答案1
这些选项是窗口选项,因此您需要show-options -gw
(或者show-options -w
如果它们已经针对特定窗口进行了定制)。
混淆可能来自于这样一个事实:虽然set-option -g
表面上只是用于设置会话选项,但它也会接受窗口选项名称(即,为了方便起见,您可以省略-w
设置窗口选项时所需的)。
如果您想记录这种区别,您可能需要在调整窗口选项时使用set-option -gw …
(或)。set-window-option -g …