【发布时间】:2012-09-29 07:18:58
【问题描述】:
所发生情况的描述:
- 当最小化最大化的窗格时,终端窗口底部会出现此消息:
"Session not found: tmp" - 窗格似乎返回到与初始/上一个会话相同的位置
- 但是新的 tmp 窗口(在窗格第一次最大化时打开)无法关闭并出现在窗口列表中(在 tmux 底部的状态栏中)
我的预感是 kill-window -t tmp(在下面的 .tmux.conf 代码中)是事情出问题的地方。由于在 tmp 窗口中执行命令似乎会重命名窗口,kill-window -t tmp 将不起作用。
所以我的问题是:如何更改 .tmux.conf 以防止这种情况发生?
重现错误的步骤:
(注意:您需要修改 .tmux.conf 才能使这些命令正常工作)
- 启动 tmux 并使用至少两个窗格创建会话
- 使用
[prefix] + [up]最大化一个窗格 - 在最大化的窗格中执行 shell 命令 (*)
- 使用
[prefix] + [down]最小化窗格
(*) 如果窗格在没有在 shell 中执行命令的情况下最大化和最小化,则不会出现此问题。即,如果您在窗格中编辑文件,则最大化该窗格,并仅编辑/保存文件(不退出然后执行另一个命令),然后最小化 - 错误不会发生。
显示发生了什么的 30 年代 youtube 剪辑: http://youtu.be/WMdOeJdOYuU
可能导致错误的代码(来自 ~/.tmux.conf):
unbind Up
bind Up new-window -d -n tmp \; swap-pane -s tmp.0 \; select-window -t tmp
unbind Down
bind Down last-window \; swap-pane -s tmp.0 \; kill-window -t tmp
[编辑:这是解决方案]
感谢有帮助的#tmux irc'er(谁有这个链接,我很乐意给予信任)这个问题得到了解决。我还没有足够的信誉来回答这个问题,所以我在这里发布解决方案。
解决方案是将set-window-option -g allow-rename off 添加到~/.tmux.conf
这工作 b/c tmp 没有被重命名,所以 kill-window -t tmp 可以正确执行。
(感谢您的帮助,并随时回答这个问题,以便我给你信用!)
【问题讨论】:
标签: tmux