session - 即使主终端窗口关闭,如何保持 tmux 会话活动?
问题描述
tmux
我的目标是即使主终端窗口关闭也能保持会话活跃。我想知道这可能吗?
当我关闭主终端窗口时,tmux 会话结束,但如果我在终端中关闭单个窗口,它不会。
如果有两个或多个窗口或选项卡,当我关闭其中一个时,会话仍然继续,没有任何反应。但是当我关闭会话中最后一个剩余的窗口时,它将终止正在进行的 tmux 会话。
可能的情况,当终端打开时,使用 ssh 远程连接了 tmux 会话;如果我用左上角的闭合圆圈关闭 iTerm2,我正在进行的 tmux 会话将终止。
示例屏幕视图:
❯ which goo
goo: aliased to ssh -xt4C user@IP
我被告知在iTerm2 问题上:
您要关闭的是窗格,而不是窗户。如果关闭最后一个窗格,它会分离,因为 tmux 会在没有更多窗格时自动分离。这与 tmux 在 tmux 集成之外的行为一致。我不相信 tmux 有办法禁用这种行为,尽管要求这样的改变并不是不合理的(这需要 tmux 完成,我以后可以添加对它的支持)
我的tmux
配置:
解决方案
在您的 Gitlab 问题中来自 George Nachman 的最新报价:
取决于关闭按钮是否绑定隐藏窗口或终止窗口。如果它设置为杀死,那么您将无法通过重新连接来恢复窗口
因此,您似乎只是希望将按钮绑定到隐藏窗口。正如我在评论中所说,默认情况下,iTerm2 应该会询问您要做什么:
如果您曾经在这里检查过“记住我的选择”并单击了终止,这就是 iTerm2 现在为您所做的。
我在文档中找不到任何关于在哪里重置它的条目,但是在这个谷歌小组讨论中,乔治说:
默认情况下会显示一个提示,但可以永久隐藏。如果您想恢复它,请在关闭 tmux 选项卡时关闭 Prefs > Advanced > Suppress kill/hide dialog。tmux 窗口还有另一个类似命名的高级首选项。
讨论是从 2018 年开始的,但是这个选项仍然可以在代码中找到,所以我假设它仍然存在。
因此,您可能希望在关闭 tmux 窗口时禁用 Preferences > Advanced > Suppress kill/hide dialog。
推荐阅读
- apache-nifi - 如何禁用背压或如何在 Apache Nifi 中处理流文件
- javascript - 如何在项目内的其他js文件中调用一个react组件的函数
- java - 如何在 Spring Boot 集成测试中覆盖 application.properties?
- elasticsearch - FileBeat 创建的重复消息
- java - 如何删除单个反斜杠,并用单个反斜杠替换双反斜杠
- c++ - 你能有成员引用成员 std::shared_ptr
在同一个对象内? - angular - 角度 matTooltip 呈现为纯文本
- php - 安装作曲家依赖项期间 Docker 作曲家命令失败
- csv - 从 Google Cloud Bigtable 到 AWS EMR (HBase)
- google-cloud-storage - 谷歌云存储权限问题