【问题标题】:tmux maximize/minimize pane bug -- "Session not found: tmp"tmux 最大化/最小化窗格错误——“找不到会话:tmp”
【发布时间】: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


    【解决方案1】:

    您希望将allow-rename 设置为关闭,至少对于那个窗口:

    set-window-option -g allow-rename off
    

    【讨论】:

    • 也许这对其他遵循实用 tmux 书中代码示例的人也有帮助。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多