![具有会话管理和回滚的终端 OS X](https://linux22.com/image/1328547/%E5%85%B7%E6%9C%89%E4%BC%9A%E8%AF%9D%E7%AE%A1%E7%90%86%E5%92%8C%E5%9B%9E%E6%BB%9A%E7%9A%84%E7%BB%88%E7%AB%AF%20OS%20X.png)
我在 OS X 上一直使用 GNU Screen,主要在 SSH 连接的服务器端运行,以便在执行多任务时保持持久性。优点在于,如果我断开连接,我的所有虚拟屏幕都会恢复,几乎不需要任何工作。我相信我们都知道这一点。
我经常抱怨无法使用 Shift+PgUp 和触摸板在每个虚拟屏幕上滚动。我知道设置更改可以解决这个问题如果您不会在会话中切换屏幕,但每个屏幕不会像终端中的选项卡那样保留自己单独的历史记录。显然,为了做到这一点,每次切换时,屏幕都必须存储大量数据并通过连接传输。这很浪费,而且延迟会非常糟糕。
可行的方法是使用某种智能客户端客户端来访问 Screen 或 tmux 的远程实例,它可以智能地分别管理每个虚拟屏幕的回滚。有这样的解决方案吗?哎呀,即使是简单地在本地管理到同一台服务器的多个 ssh 会话(每个会话都运行 Screen(只有一个虚拟屏幕))的好方法也会有很大的改进,但前提是它只能像 screen -d -r 那样工作,但我想不出一种方法来让它透明。另一个潜在的选择是终端程序,它可以自动与新的命名单屏 screen/tmux 会话建立 SSH 连接,并记住会话集,以便可以轻松恢复它们。