tmux是否具有屏幕具有的所有功能?那些屏幕不见了?


8

我正在考虑从屏幕切换到tmux,但是我投入了大量时间来开发一个广泛的.screenrc,而且我不想在将其移植到tmux数小时后发现tmux无法做重要的事情对我来说。

我已经看过这两种方法的在线比较,但都没有深入探讨或回答许多(对我而言)重要问题,这些问题可以归结为两个问题:

  • 屏幕可以做tmux无法做的重要事情吗?
  • tmux不能执行该屏幕有什么重要意义?

(客户端-服务器体系结构很好,但是据我所知,它没有提供任何新功能。许可证显然更好。更小,更精简是很好的,但对我来说不是改变游戏规则。)

由于这两个问题非常广泛,因此让我举一些具体的例子:

  • tmux是否具有完整的命令历史记录?(对于发送到tmux本身的命令,而不是shell命令。这是屏幕缺少的内容:如何返回(GNU)屏幕命令历史记录?(不是shell命令历史记录!)
  • 我假设我可以将键绑定到tmux命令?
  • 我假设我的tmux配置文件可以获取其他文件?
  • 是否可以将击键绑定到source命令,以便可以轻松地动态更改配置?
  • tmux是否具有ACL设置?(我从没真正在屏幕上需要这些,但是很高兴知道它们在那里。)
  • tmux可以打开默认窗口吗?(la screen -t somename 1 ssh someserver)

我可以自己寻找这些特定问题的答案,但它们只是两个较大问题的示例,我也想听听不一定适合我的任何示例的较大问题的答案。完全有可能,如果tmux缺少某些内容,那么我将在花费大量时间进行切换之后再发现它,这就是我要避免的事情。谢谢!

Answers:



1

我不知道所有问题的答案,但我会尽力而为。

对我而言,最大的是gnu屏幕,分割可拆分视图,以便您可以查看不同的屏幕(例如,屏幕1和2,甚至屏幕1和1)。在tmux中,拆分会拆分屏幕本身,因此我可以拥有屏幕1和2,但是屏幕1具有4个拆分(4个不同的端子)。没有补丁,您无法在gnu屏幕中执行此操作。

您绝对可以将键绑定到tmux命令。当我从gnu屏幕切换到tmux时,我需要反弹以使其更像屏幕,例如,

set -g prefix C-a 
setw -g mode-keys vi
unbind C-b 
bind a send-prefix
bind v split-window -v
bind h split-window -h
bind S split-window
bind Escape copy-mode
bind C-a last-window
bind C-d detach
bind A command-prompt "rename-window %%"

tmux还可以使用tmux.conf打开默认窗口,如下所示:

new -d -n "window1"
neww -d -n "window2"
neww -d -n "window3"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.