Merge pull request #26123 from wxy/20220614-Share-your-Linux-terminal-with-tmate

RP:published/20220614 Share your Linux terminal with tmate.md
This commit is contained in:
Xingyu.Wang 2022-06-18 17:15:18 +08:00 committed by GitHub
commit d7bcd9c40c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,30 +4,29 @@
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: "turbokernel"
[#]: publisher: " "
[#]: url: " "
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-14726-1.html"
用 tmate 分享你的 Linux 终端
======
Tmate 扩展了你与 Linux 终端共享会话的选项。
![Terminal command prompt on orange background][1]
> tmate 扩展了你分享 Linux 终端会话的方式。
图片提供: [iradaturrahmat][2] 通过 [Pixabay][3]CC0
![](https://img.linux.net.cn/data/attachment/album/202206/18/170815hfrcdfd4lltd737z.jpg)
作为 Fedora Linux QA 团队的一员,我有时会发现自己执行了一堆我想广播给其他开发者的命令。如果你曾经使用过像 [tmux][5] 或 [GNU Screen][6] 这样的[终端复用器][4],你可能会认为这是一个相对容易的任务。但并不是所有我想看我的演示的人都是从笔记本电脑或台式机连接到我的终端会话的。有些人可能是随便从他们的手机浏览器中打开的,他们可以很容易地做到这一点,因为我使用了[tmate][7]
作为 Fedora Linux QA 团队的一员,我有时想将自己执行的一堆命令广而告之给其他开发者。如果你曾经使用过像 [tmux][5] 或 [GNU Screen][6] 这样的 [终端复用器][4],你可能会认为这是一个挺轻松的任务。不是所有看我的示范的人都是从笔记本电脑或台式机连接到我的终端会话的,有些人可能是随手在他们的手机浏览器中打开的,因为我使用了 [tmate][7],所以他们可以很容易地做到这一点
### 使用 tmate 共享 Linux终端
### 使用 tmate 分享 Linux 终端
看别人在 Linux 终端工作是非常有教育意义的。你可以学到新的命令,新的工作流程,或者新的调试和自动化的方法。但要捕捉到你所看到的东西,以便你以后可以自己尝试,这可能很困难。你可能会诉诸于截图或共享终端会话的屏幕记录,这样你就可以在以后打出每个命令。唯一选择是由演示命令的人使用 [Asciinema][8] 或 [script 和 scriptreplay][9] 等工具来记录会话。
看别人在 Linux 终端工作是非常有教育意义的。你可以学到新的命令、新的工作流程,或者新的调试和自动化的方法。但要抓住你所看到的东西,以便你以后可以自己尝试,这可能很困难。你可能会借助截图或一个共享终端会话的屏幕记录,这样你就可以在以后打出每个命令。剩下的唯一选择是由演示命令的人使用 [Asciinema][8] 或 [script 和 scriptreplay][9] 等工具来记录会话。
但是通过 tmate用户可以在只读模式下或通过 SSH 共享一个终端。SSH 和只读会话都可以通过终端或以 HTML 网页的形式访问。
但是通过 `tmate`,用户可以在只读模式下或通过 SSH 分享终端。SSH 和只读会话都可以通过终端或以 HTML 网页的形式访问。
当我为 Fedora QA 团队培训人员时,我使用只读模式,因为我需要运行命令并显示输出,但有了 tmate人们可以通过从他们的浏览器复制和粘贴到文本编辑器来保持笔记。
当我为 Fedora QA 团队培训人员时,我使用只读模式,因为我需要运行命令并显示输出,但有了 `tmate`,人们可以通过从他们的浏览器复制和粘贴到文本编辑器来记录笔记。
### Linux tmate 上手
在 Linux 上,你可以用你的包管理器安装 tmate。例如在 Fedora 上:
在 Linux 上,你可以用你的包管理器安装 `tmate`。例如,在 Fedora 上:
```
$ sudo dnf install tmate
@ -39,43 +38,41 @@ $ sudo dnf install tmate
$ sudo apt install tmate
```
在 macOS 上,你可以用 [Homebrew][10] 或 [MacPorts][11] 安装它。如果你需要其他 Linux 发行版的说明,请参考[安装][12]指南。
在 macOS 上,你可以用 [Homebrew][10] 或 [MacPorts][11] 安装它。如果你需要其他 Linux 发行版的说明,请参考 [安装][12] 指南。
![Screenshot of terminal showing the options for tmate sharing: web session (regular and read-only) and ssh session (regular and read-only)][13]
安装后,启动 tmate
安装后,启动 `tmate`
```
$ tmate
```
当 tmate 启动时,会生链接,通过 HTTP 和 SSH 提供对终端会话的访问。每个协议都有一个只读选项以及一个反向的 SSH 会话。
`tmate` 启动时,会生链接,通过 HTTP 和 SSH 提供对终端会话的访问。每个协议都有一个只读方式,以及一个反向的 SSH 会话。
下面是一个网络会话的样子:
![Screenshot showing tmate terminal window and 2 versions of sharing sessions demonstrating the same code][14]
Tmate 的网络控制台是 HTML5 的,因此,用户可以复制整个屏幕并粘贴到终端来运行相同的命令。
`tmate` 的网络控制台是 HTML5 的,因此,用户可以复制整个屏幕并粘贴到终端来运行相同的命令。
### 保持会话活跃
### 保持会话
你可能想知道如果你不小心关闭了你的终端会发生什么。你也可能想知道如何与不同的控制台应用共享你的终端。毕竟tmate 是一个多路复用器,所以它应该能够保持会话的活力,脱离并重新连接到一个会话,等等。
你可能想知道如果你不小心关闭了你的终端会发生什么。你也可能想知道如何与不同的控制台应用共享你的终端。毕竟,`tmate` 是一个多路复用器,所以它应该能够保持会话,脱离并重新连接到一个会话,等等。
当然,这正是 tmate 所能做到的。如果你曾经使用过 tmux这可能是相当熟悉的。
当然,这正是 `tmate` 所能做到的。如果你曾经使用过 `tmux`,这可能是相当熟悉的。
```
$ tmate -F -n web new-session vi console
```
这个命令在 Vi 中打开了 `new-session``-F` 选项确保会话在关闭时也能重新产生。
这个命令在 `vi` 中打开了 `new-session``-F` 选项确保会话在关闭时也能重新产生。
![A screenshot of the terminal showing the output after using the new-session and -F options: connection information for either a web session (regular or read-only) or ssh session (regular or read-only)][15]
### 社交复用
Tmate 给你带来了 tmux 或 GNU Screen 的自由,以及与他人共享会话的能力。对于教其他用户如何使用终端,演示一个新命令的功能,或调试意外的行为,这是一个有价值的工具。它是开源的,所以请试一试!
图片提供Sumantro MukherjeeCC BY-SA 4.0
`tmate` 给你带来了 `tmux` 或 GNU Screen 的自由度,以及与他人分享会话的能力。这是一个有价值的工具,可以教其他用户如何使用终端、演示一个新命令的功能,或调试意外的行为。它是开源的,所以请试一试!
--------------------------------------------------------------------------------