tmux 与 GNU Screen

tmux 与 GNU Screen

浏览问题我发现了 tmux(我通常使用 GNU Screen)。我的问题是它们各自的优点和缺点是什么。特别是我找不到太多关于 tmux 的信息。

答案1

他们的网站:

  • tmux 与 GNU screen 有何不同?它还提供什么?

与 screen 相比,tmux 具有以下几个优点:

  • 明确定义的客户端-服务器模型:窗口是独立的实体,可以同时附加到多个会话并从多个客户端(终端)查看,并且可以在同一 tmux 服务器内的会话之间自由移动;
  • 一致的、记录良好的命令界面,无论是交互使用、作为键绑定还是从 shell 使用,都具有相同的语法;
  • 可以轻松地从 shell 编写脚本;
  • 多个粘贴缓冲区;
  • 选择 vi 或 emacs 键布局;
  • 限制窗口大小的选项;
  • 更有用的状态行语法,能够显示特定命令的第一行输出;
  • 更干净、现代、易于扩展、BSD 许可的代码库。

tmux 仍然省略了一些屏幕功能:

  • 内置串行和远程登录支持;这很臃肿,不太可能添加到 tmux 中;
  • 更广泛的平台支持,例如 IRIX 和 HP-UX,以及奇数终端。

答案2

一个区别在于当多个终端连接到单个会话时两者的行为方式。

通过屏幕,每个连接的终端的视图都是独立的。使用 tmux,所有连接的终端都会看到相同的东西。

假设您有两个终端连接到一个 tmux 会话。如果您^B在一个终端中输入 1,另一终端也会切换到窗口 1。

当您有两个终端连接到一个屏幕会话时,并且您^A在其中一个终端中键入 1,则它对另一个终端没有影响。

这是基于我使用 tmux 1.2 的经验;我看到 1.3 已经发布了,但我没有注意到变更日志中有任何关于此行为变化的内容。

如果您喜欢屏幕行为并希望在 tmux 中使用它:

如果您的原始 tmux 会话被调用0(默认),那么您可以tmux new-session -t 0启动一个连接到同一组窗口的新的独立会话,然后该会话可以拥有自己的视图。

答案3

与 GNU screen 相比,tmux 相当新。优点/缺点是一个棘手的问题,因为这两个程序解决的问题大致相同。 tmux 是 BSD 许可的,而 screen 是 GNU GPL 许可的。这对某些人来说很重要。

screen 目前(在 Linux 上)更具代表性,也就是说,与 tmux 相比,您更有可能在给定的 Linux 机器上找到它。然而,tmux 在 OpenBSD 上的表现更为突出,因为它包含在基本安装中。

这两个程序都允许您做同样的事情,尽管事情的状态比这更复杂一些。两者之间的切换并不太复杂,因为许多屏幕功能也已进入 tmux,但如果您是其中任何一个的高级用户,那么在切换到另一个时您可能会发现一些挫败感。

与任何程序一样,这实际上取决于您的需求以及您更喜欢哪个。都尝试一下,看看哪一个适合您。

有关 tmux 的更多信息,请参阅https://tmux.github.io/

答案4

我使用中最大的区别是,在 Gnu Screen 中你只能水平分割帧,而在 Tmux 中你可以水平和垂直分割。这是一个移动目标,尽管正如我在这里所说的垂直分割正在进入屏幕

除此之外,一切都平淡无奇。

相关内容