到目前为止,我已经使用Konsole来管理多个 shell 会话,但我还没有尝试过Byobu、GNU Screen和tmux,它们为多个 shell 提供了更好的支持。它们都共享一个主要功能,即允许分离当前会话并稍后重新附加到该旧会话。
为了帮助我选择学习工具,我想知道:它们在以下方面有何不同?
vim
和emacs -nw
(非窗口模式或文本模式)吗?键盘快捷键会与其他工具的快捷键冲突吗?我刚刚尝试了所有这些,Byobu 看起来像是 GNU Screen 和 tmux 的一种前端。那么为什么有人创建了 Byobu 而不是为 GNU screen 项目做出贡献并添加新功能?为什么 GNU Screen 中的 Byobu 不是某种高级界面模式?如果我使用 Byobu 作为我的日常工具,以 GNU screen 作为后端,如果某台机器只有 GNU Screen,我是否可以将这些知识转移到没有 Byobu 的情况下使用 GNU Screen?
我的新服务器安装看起来很奇怪:
有没有办法调整它的大小以使用整个终端窗口?
我开始使用byobu,发现它真的很酷。
它有很多热键。但是我找不到其中之一,我坚持了一个棘手的问题。
使用F2- 您创建一个新窗口,但是当您不再需要它时如何关闭该窗口?
后来我找到了一个很酷的类比来创建新窗口 - 只需划分窗口和 - shift-F2
你可以把它还原回来 - ctrl- F6。
我知道有一种方法可以通过将配置文件保存在 $BYOBU_CONFIG_DIR 中来定义在会话中打开的窗口。但是有没有办法(命令或脚本)来保存当前会话(即窗口及其名称等),以便在重新启动后可以恢复?
我广泛使用这些功能来浏览终端中的命令历史记录;我想知道是否还有某种方法可以导航命令输出历史记录?(除了保持大的 histsize 并依靠 pgup 键)
我不能只是“重新运行命令”,因为在我的特定情况下,命令的来源会发生变化;我经常需要回顾以前更改的输出。
欢迎黑客。
谢谢!
2010年编辑:
我给了 'tee' 功劳;在其他地方记录会话的所有方法中,它是最广泛适用的(即它是 gnu coreutils 的一部分,并且不需要特定的 shell 或实用程序即可工作)。这不是我真正要寻找的东西,但我意识到这样的东西并不存在。
我能想到的最接近的近似方法是使用类似screen
(byobu/tmux) 的东西记录到文件,并编写(和键绑定)一个自定义命令来页面/搜索该日志文件(想想less
按提示而不是屏幕进行分页)。谢谢大家。
2012年编辑:
@Dustin Kirkland 的回答显然是最好的,至少一般来说是这样;终端的回滚缓冲区是导航命令输出历史记录的侵入性最小的方式。Byobu 似乎保存了大量的默认历史记录行数(10K;tmux 有 2K,GNU screen 100),并且它允许正则表达式搜索(粗略的观察表明 GNU screen 没有回滚搜索,而 tmux 只有纯文本搜索)。
我的 byobu 会话中的一个窗口神秘地停止接收击键。我可以打开新窗口,但那个特定的窗口只是挂起。
所以现在,每次我调用 时byobu
,我都会看到 3 个窗口:我实际使用的 2 个,以及就在那里的 1 个窗口。
有没有办法杀死那个任性的窗口?最好只有那个窗口。但是如果我需要清除整个会话,也可以。
作为 Stack Exchange 的长期潜伏者,我已经找到了大部分问题的答案,而无需注册帐户。但是今天我完全被这个问题难住了,所以我寻求帮助。
我最近发现了 Byobu,它是 Tmux 的前端,它使用 Fn 键执行常见任务。通过 SSH 从我必须在工作中使用的 Windows PC 到远程 linux 服务器进行多任务处理,这是一个真正的祝福。
目前,我正在通过 SSH 隧道使用 gnome-terminal,因为 PuTTY 和 MinTTY(Cygwin 的默认终端)似乎都为功能键发送了错误的键码。
我想知道是否有办法重新映射某些转义码,以便至少我的一个基于 Windows 的终端可以与 Tmux 正常工作。(我想我可以只学习 Ctrl+b/Ctrl+a 组合键,但是执行组合键后跟另一个键并没有真正让我觉得符合人体工程学。)
在 PuTTY 中,将 Terminal>Keyboard>"The Function keys and keypad" 设置为 "XtermR6" 似乎可以正常为 Fn 键推送正确的转义序列,但 Shift 和 Ctrl 修饰符已损坏。我可以使用 vim 找出每个终端发送的代码。同时,我想我可能已经在其源代码中查找了 tmux 正在寻找的组合,但我不确定:
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ …
Run Code Online (Sandbox Code Playgroud) 我想绑定Shift+?和Shift+?以按屏幕顺序向左/向右移动当前屏幕。
如何才能做到这一点?
这些是我正在使用的版本:
$ byobu -v
byobu version 2.68
Screen version 4.00.03jw4 (FAU) 2-May-06
Run Code Online (Sandbox Code Playgroud) 我使用的是 Lubuntu 13.10,我想byobu
在打开终端时自动加载。
我发现 byobu 非常灵活可靠的工具,每次必须使用终端时都想使用。
我在手册页上找不到这个解决方案或类似的东西......
有什么建议?
除了 Gnu 的屏幕之外,还有用于 Cygwin/Windows 的终端多路复用器吗?
我知道 Gnu 屏幕应用程序的 2 个替代方案:Byobu 和 TMux。但是,这些都不能在使用 Cygwin 的 Windows 下运行。