我在 WSL 中设置了tmux,我想改进它们之间的集成。
如何在 WSL 内的 tmux 中选择文本并将其复制到 Windows 剪贴板?
是否有可能做到这一点?我有一个带有几个窗格的窗口“开发”。其中一个窗口是 irssi 进程。是否可以使相同的 irssi 进程作为另一个窗格出现在窗口“播放”中?
我最近开始使用 tmux 来真正改善我的终端会话。我需要做的一件事是连接到远程服务器,该服务器也在运行 tmux。但是,我发现当前窗口标题(在 tmux 中表示为 #T)在辅助 tmux shell 中没有更新。我想从辅助会话中更新 primary-tmux-session 值。
“#T”显然采用了 PROMPT_COMMAND 处理的值,这是每次重新加载提示时运行的命令。但是,如果我连接到远程服务器,它会打开一个服务器端 shell,然后打开 tmux 并在辅助 tmux 会话中运行一个全新的 shell。我知道如何更新主 tmux 窗口标题的唯一方法是重新加载服务器端 shell 提示,但这不会在辅助 tmux 会话中发生。
是否有任何命令可以连接两个会话以便它们共享 #T ?我最初认为使用终端覆盖选项可能可行,但它要么不起作用,要么我设置错误。
任何想法或建议将不胜感激。谢谢!
(PS。我怀疑这个问题更适合超级用户,但我之前曾问过一个关于堆栈溢出的问题。我希望这是这类问题的正确论坛)
所以我在我的 MacBook 上本地存储了一些服务器的密钥,但是我在虚拟机中工作了相当长的时间,所以我使用 .SSH 连接到虚拟机ssh -A。这允许我从 VM 内部通过 SSH 连接到服务器。
我最近开始使用 tmux 来更好地管理我的终端窗口,但我发现了一个奇怪的问题。虽然我在 tmux 中打开的初始窗口可以使用 SSH,但任何其他打开的窗口都不能。 ssh-add显示从这个 tmux 窗口内部无法打开到我的 SSH 代理的连接。任何想法如何使 tmux 与 SSH 代理转发很好地发挥作用?
如果我使用tmux a命令连接到 tmux 会话,我最终会与朋友共享该会话,并且我们无法处理自己的事情(因为我们必须在不同的窗口中工作)。另一方面,如果我与 连接tmux a -d,我朋友的会话将分离,他(或者更确切地说,我们中的一个人)无法在服务器上工作。
我知道此功能可能与 tmux 的“目标”背道而驰,但我想我仍然应该问一下。无论如何,我和我的朋友可以在服务器上使用相同的 tmux 会话并同时在不同的窗口中工作吗?
screen有一个名为 Zombie Mode 的功能,这使得当屏幕(tmux术语中的窗口或窗格)的进程停止时,窗口不会关闭 - 它只是停留在那里直到重新启动,而不是关闭。有没有办法做到这一点tmux?
我用例是,我开始了一些在我不同的窗格地方发展服务器tmux.conf,但如果我要C-c他们一个重新启动它,我不希望这样的窗格中消失。
我对 tmux 很陌生,并不知道如何使用它来达到最佳效果,所以我想做的可能不是最好的方法。随意提供替代建议!
设置:我在桌面上本地使用 tmux。我经常连接到运行 ubuntu(也安装了 tmux)的开发设备来运行一些冗长的测试。
目前,我只是在终端的一个窗格中通过 SSH 连接到设备。我想要做的是以某种方式将窗格直接连接到设备上的 tmux 会话(对不起,如果我的术语不正确),以便我可以从冗长的测试中随意连接和断开连接,并从我的桌面使用 tmux 配置。这似乎是 tmux 应该能够做的事情,但是我的 google-fu 失败了。有任何想法吗?
我想根据会话名称的值执行外部命令。我知道这:display-message '#S'会给我会话名称,但我希望将该名称自动发送到我的外部命令。
我试过了:run-shell "my-command #S",但它不起作用,因为“#S”没有被替换。
有什么:MY_VAR=$(display-message -p "#S")我可以用的吗?
大约半年以来,我一直在享受终端多路复用器(tmux,对于它可能关心的任何人),并且越来越喜欢它。我想在将来的某个时候尝试平铺 WM 而不是堆叠的 WM,但无法解决这个简单的问题:
为什么要在平铺 WM 中的多路复用器中使用拆分?除了您要运行的单个实例之外,还有什么好处吗?
我已经看到很多黑客从 tmux(和屏幕)会话中重新建立与 GUI 会话的 SSH 代理的联系。我想知道是否有可能与 GUI 分离并产生一个 ssh-agent 纯粹用于给定的 tmux 会话?代理本身是否必须“用完”其中一个 tmux 窗口以避免被杀死,或者是否有可能在后台生成一个只要会话处于活动状态就持续存在的窗口?