- 也许你没有意识到你已经在一个
byobu
会话中?那是我看到这个的时候,有点“doh”的时刻。
Byobu
似乎将参数传递给它在后端使用的程序。如果您意识到这一点并通过 -ls 表示感谢,因为您知道这screen
需要 -ls 参数。但除非你另有说明,否则byobu
就是 using TMUX
,所以TMUX
抱怨这些论点。我希望这能更清楚地解释神秘的输出。
我发现如果我有多个byobu
会话(不一定是嵌套的),并且我byobu
从另一个终端(而不是从 inside byobu
)调用,它会给我一些选择。我假设这实际上是TMUX
输出:
byobu
Byobu sessions...
1. tmux: 0: 1 windows (created Wed Aug 27 10:31:14 2014) [209x57] (attached)
2. tmux: 1: 1 windows (created Wed Aug 27 10:31:23 2014) [80x23] (attached)
3. Create a new Byobu session (tmux)
4. Run a shell without Byobu (/bin/bash)
如果只有一个会话正在运行,它不会给我这个输出。
我从达斯汀的回答中学到了一些关于$TMUX
环境变量的东西。但我认为这需要更多解释。
$TMUX
将包含一些文件的路径,这些文件TMUX
必须用于处理/跟踪会话。
(from within a byobu session)
echo $TMUX
/tmp/tmux-1000/default,2003,0
显然,清除这个环境变量会让TMUX
你忘记所有的会话,它让你做你想做的事,因为它甚至没有意识到你在嵌套。这在您收到的第一条错误消息中称为强制。
我认为更好的选择是查看所有打开的会话并决定您是否真的要嵌套,并可能关闭一些陈旧的会话而不是强迫TMUX
屈服于您的意愿。但这只是恕我直言。