![如何使 tmux 窗口在运行命令后保持打开状态](https://linux22.com/image/56281/%E5%A6%82%E4%BD%95%E4%BD%BF%20tmux%20%E7%AA%97%E5%8F%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E5%91%BD%E4%BB%A4%E5%90%8E%E4%BF%9D%E6%8C%81%E6%89%93%E5%BC%80%E7%8A%B6%E6%80%81.png)
我正在摆弄tmux
,试图使其接近我screen
为满足我相当温和的终端需求而设置的行为(我不是程序员)。
我只希望它启动几个 Bash 会话、一个 Alpine 实例和一个 Newsbeuter 实例。我已经完成了大部分工作,现在的主要问题是在启动时在 Bash 会话之一中调用 Python 程序。
问题是 Bash 会话希望在 Python 程序启动后关闭,而我希望 Bash 会话保持打开状态,以便从该会话中的 Python 程序获取 STDOUT 输出。
为此screen
,我只需输入以下行:
$ screen -t bash1 python2.6 python-prog/prog.py &
笔记:以及我想在启动时打开的其他 3 个终端的类似线路)在.screenrc
.
但是,当我将我认为等效的内容放入 中.tmux.conf
(即 )时neww -n Bash1 bash python2.6 python-prog/prog.py &
,运行 Python 程序的 Bash 会话将关闭。与此同时,其他 3 个终端在以下情况下正常启动tmux
并保持开放状态。
那么,我在这里做错了什么?如何运行该 python 程序并使 bash 会话保持打开状态并显示 STDOUT 输出?
答案1
尝试将命令分成两行.tmux.conf
打开窗户
neww -n Bash1 bash
发送命令到窗口
send-keys -t "Bash1" 'python2.6 python-prog/prog.py' Enter