You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何在tmux中通过run-shell执行tmux new创建新会话失败?

问题原因与解决方法

问题出在tmux new的执行逻辑上:

  • tmux neww是创建新窗口,这个操作依托当前tmux会话的终端环境就能完成,run-shell可以正常调用。
  • 而tmux new默认会创建并立即附着到新会话,但run-shell是在tmux的后台非交互环境中执行脚本的,没有可供附着的终端,所以命令执行失败,返回状态码1。

两种解决方式:

1. 仅创建后台会话(不切换过去)

把脚本里的命令改成:

tmux new -d

-d参数让tmux创建会话后不自动附着,脚本就能在后台正常执行,不会因为终端缺失报错。

2. 创建并切换到新会话(更直接的做法)

不需要通过外部脚本,直接修改.tmux.conf的绑定:

bind -n M-g new

直接绑定tmux的内置new命令,而不是通过run-shell调用脚本,这样tmux会在当前终端环境下处理会话切换,不会有终端缺失的问题。

内容的提问来源于stack exchange,提问作者vdegenne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 19:12:10