我目前正在一个 byobu-tmux 会话中,并且正在进入一个屏幕会话。如何在不分离 byobu-tmux 会话的情况下分离远程屏幕会话?有些事情需要注意,我不能运行 byobu-config 因为我在 osx 上并且没有安装 python-newt(w/snack)。而且,我已经在 Emacs 模式下运行了 byobu-ctrl-a,但这似乎不允许我 ctrl-a 退出远程屏幕会话。
7 回答
使用 tmux 命令很容易:
byobu-tmux detach
byobu-tmux
甚至只是:
byobu detach
byobu
ctrl尝试在第一个之后放开a,所以序列是ctrl- a, a, d。人屏:
Ca Ca (other) 切换到之前显示的窗口。请注意,此绑定默认为键入两次的命令字符,除非被覆盖。例如,如果您使用选项“-e]x”,此命令将变为“]]”。
Ca a (meta) 将命令字符 (Ca) 发送到窗口。请参见转义命令。
或者,如果您使用 tmux 而不是屏幕作为 Byobu,请尝试ctrl- a d。Byobu 的默认前缀键是ctrl- b,因此如果您使用该默认值,则无需将ctrl-键加倍。a
我可以通过列出当前客户端中的所有客户端来做到这一点:
$ byobu list-clients
/dev/pts/67: 1 [80x24 xterm] (utf8)
/dev/pts/70: 1 [157x48 xterm-256color] (utf8)
然后分离远程客户端(根据屏幕大小确定):
$ byobu detach -t /dev/pts/67
现在我可以使用完整的窗口大小
也许与 tmux 无关,但对于 byobu,我发现以下命令非常有帮助:分离除当前会话之外的所有会话:
/usr/lib/byobu/include/tmux-detach-all-but-current-client
希望这可以帮助
如果本地会话与远程会话冲突,您需要切换本地会话的前缀。例如,如果两者都使用 CTRL+A 那么你就有麻烦了。您可以发送一个原始命令(有一个序列,但我不记得了),或者走简单的路线并将您的本地会话重新映射到 Ctrl+B,然后您可以输入 Ctrl+A 将被路由到远程会话。也与 tmux 无关,但 ssh 连接本身您可以输入“~”。它将与 ssh 会话断开连接。希望能帮助到你。
十年来,我一直是 Linux 上 byobu 的狂热用户。在这些年的大部分时间里,我一直在努力在 OSX 上配置 byobu 的 brew 安装,我终于设法以一种迂回的方式设置了我的 byobu 配置。首先我执行了这个:
echo '/usr/local/lib/python2.7/site-packages' | sudo tee /Library/Python/2.7/site-packages/homebrew.pth
然后我运行 byobu 配置文件:
byobu-config
最后我清理了
sudo rm /Library/Python/2.7/site-packages/homebrew.pth
Python 在此过程中崩溃并出现了一些弹出窗口,但是,byobu 现在可以正常工作了。当我想再次更改配置时,我确实需要重复这些步骤......仍在寻找更清洁的解决方案。