tmux管道面板无法工作。

4

我定义了一个快捷方式来开始将面板记录到文件中,另一个用于停止记录。这些快捷方式是激活的。这是我的.tmux.conf中的命令:

bind-key H pipe-pane "cat >>$HOME/tmux.log"
bind-key h pipe-pane

通过按下 C-b ? 我可以查看定义:

   H: pipe-pane "exec cat >>/home/myuser/tmux.log"                                                                                                                                                                                     
   h: pipe-pane                                                                                                                                                                                                                          

这个想法是使用C-b H开始记录日志,C-b h停止记录当前窗格的日志。不同的窗格会发生冲突,但现在我不担心这个问题,我只想让日志记录正常工作。然而,它并没有正常工作。快捷键似乎没问题,文件也已创建:

-rw-r--r-- 1 myuser mygroup 0 2012-04-28 11:21 tmux.log

但它的大小始终为0。即使关闭后也是如此。从来没有任何东西被写入。有什么办法可以调试这个问题吗?

这是我使用tmux唯一的不满之处,与screen相比,在screen中,记录日志总是一个简单的任务,无需任何配置即可开箱即用。

2个回答

1

您使用的是哪个版本的tmux?为什么不使用-o选项来进行pipe-pane操作?

如果这仍然产生了一个长度为零的文件,请尝试使用-vvvv选项启动tmux,然后重复执行pipe-pane命令,并将日志放在某个地方。


不知道tmux的版本:无法从tmux本身获取它(我没有找到获取它的选项/命令)。我没有使用“-o”,因为我有一个命令来开始记录日志,另一个命令来停止记录日志。我不想要一个切换命令。无论如何,那不是问题所在。我也尝试过使用“-o”,它做的事情是一样的。我已经用“-vvvv”开始了,并且它产生了大量的调试输出,但没有有趣的信息。同样,使用较少的详细级别(我已经尝试了到“-v”)。 - blueFast
那么你不准备把这些日志放在某个地方吗?毕竟你已经自己排除了它们,这样做没有什么用。 - ThomasAdam
tmux 1.3似乎没有获取版本的方法,而tmux 1.6有一个-V标志用于此目的;我没有任何中间版本可供检查。您可以尝试类似于“rpm -qi tmux”的东西(取决于您的操作系统和设置)来查找安装的tmux版本。无论如何,请尝试升级tmux;这可能会修复您使用pipe-pane时遇到的问题。 - chepner

0
对于我的tmux 1.8版本,我只能在tmux窗口内先按下[Ctrl]+[b],然后输入[:]来使其起作用。
pipe-pane -o 'cat >> ~/output.log'

当我从tmux会话中分离并尝试时,它没有起作用。

tmux pipe-pane -o -t sessionname:0 'cat >> ~/output.log'
# that does not work for me in tmux 1.8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接