将输出流式传输到另一个窗口,而无需在 iterm2 上再次运行相同的命令

将输出流式传输到另一个窗口,而无需在 iterm2 上再次运行相同的命令

首先,我认为每个运行的命令都会消耗一些资源。

因此,如果我想让另一个窗口显示在另一个会话上运行的相同命令的相同输出,而无需再次运行相同的命令(这种需要的原因是我在 macOS 上经常在桌面之间切换)

有可能实现吗?

答案1

一般观察

我不使用 macOS,我不确定你说的“在桌面之间切换”到底是什么意思。在 KDE Plasma 中,我可以将我的终端仿真器窗口(或基本上任何窗口)设置为在所有虚拟的桌面。我不知道你是否可以在 macOS 中做到这一点。

从消耗的资源的角度来看,这应该是最好的,因为它不仅会向您显示相同的命令和相同的 shell,还会显示相同的终端仿真器。如果我是你,我会首先尝试以这种方式解决问题。


具体解决方案:tmux

或者,使用 tmux 并从任意数量的终端(终端模拟器)连接到同一个 tmux 会话。默认情况下,soletmux会创建一个新会话;tmux attach-session连接到最近使用的(最好是未连接的)会话,最短的别名是tmux a。因此,如果您只想使用一个 tmux 会话,那么

tmux a || tmux

是您的通用命令。在多个终端(终端模拟器)中运行它,并享受从任何地方访问 shell 的相同实例。不过,您需要以特定用户的身份执行此操作。(我认为在用户之间共享 tmux 服务器是可能的,但需要付出努力;tmux以特定用户身份使用则很简单。如果您的“在桌面之间切换”并不意味着在用户之间切换,那么该方法应该可以正常工作。)

笔记:

  • 在 tmux 中,有几种更复杂的方法来共享相同的“视图”,请参见这个答案或者这个问题

  • Tmux 具有更多优势(例子)。

相关内容