作为 Write for DOnations 计划的一部分,作者选择了 Electronic Frontier Foundation 来接受捐赠。
介绍
Terminalizer 是一个终端记录器应用程序,可让您实时记录终端会话,然后在以后播放。 它的工作方式与桌面屏幕录像机相同,但在您的终端中运行。
如果您想再次查看特定活动或帮助调试特别棘手的错误,则记录终端会话很有用。 使用 Terminalizer 制作的录音也可以导出为动画 GIF,非常适合在线共享或添加到您的软件的营销材料中。
在本教程中,您将安装 Terminalizer,使用它来录制和回放终端会话,自定义您的录音,然后将它们导出以在线共享。
先决条件
要完成本教程,您需要:
- 按照 Initial Server Setup 和 Ubuntu 18.04 设置的 Ubuntu 18.04 服务器,包括 sudo 非 root 用户。
- Node.js 和 npm,可以按照 How to Install Node.js on Ubuntu 18.04 中的 Installing the Distro-Stable Version for Ubuntu 部分进行安装。
如果您想在线分享您的录音,您还需要:
- Terminalizer 网站 上的免费帐户。
准备好这些后,以非 root 用户身份登录到您的服务器即可开始。
第 1 步 — 安装 Terminalizer
在此步骤中,您将在系统上下载并安装 Terminalizer。 Terminalizer 是使用 Node.js 编写的,可以使用 npm
包管理器进行安装。
要在您的系统上全局安装 Terminalizer,请运行以下命令:
sudo npm install --global --allow-root --unsafe-perm=true terminalizer
Terminalizer 使用 Electron 应用程序框架将记录的终端会话导出为 GIF 格式。 为了在您的系统上全局安装 Electron,需要 --unsafe-perms=true
命令参数。
安装 Terminalizer 后,您将看到与以下类似的输出:
Output. . . /usr/local/lib └── terminalizer@0.7.1
接下来,通过运行以下命令检查 Terminalizer 的安装:
terminalizer --version
这将显示类似于以下内容:
Output0.7.1
最后,生成一个默认的 Terminalizer 配置文件,您可以将其用于 Terminalizer 的高级定制(在 Step 4 中进一步详细说明):
terminalizer init
这将产生类似于以下内容的输出:
OutputThe global config directory is created at /home/user/.terminalizer
现在您已经安装了 Terminalizer,您可以进行第一次终端录制。
第 2 步 — 记录和回放终端会话
在此步骤中,您将记录和回放终端会话。
首先,使用您选择的名称设置新的 Terminalizer 录制:
terminalizer record your-recording
这将输出以下内容以指示录制已开始:
OutputThe recording session has started Press Ctrl+D to exit and save the recording
您现在可以在终端中继续执行您想做的任何事情。 Terminalizer 将实时记录每个按键和命令。
例如:
pwd date whoami echo "Hello, world!"
当您想停止录制时,请按 CTRL+D
。 Terminalizer 会将录音保存到 YAML 格式的指定文件中,例如 your-recording.yml
。
OutputSuccessfully Recorded The recording data is saved into the file: /home/user/your-recording.yml
Terminalizer 可能会提示您在线共享您的录音。 暂时按CTRL+C
取消,可以先本地回放终端录像。
接下来,使用以下命令播放录制的终端会话:
terminalizer play your-recording
这将在您的终端中实时回放录制的会话:
Outputuser@droplet:~$ pwd /home/user user@droplet:~$ date Sun Mar 8 14:55:36 UTC 2020 user@droplet:~$ whoami user user@droplet:~$ echo "Hello, world!" Hello, world! user@droplet:~$ logout
您还可以使用 --speed-factor
选项调整录音的播放速度。
例如,以下内容将以两倍的速度播放您的录音(半速):
terminalizer play your-recording --speed-factor 2
或者,您可以以两倍的速度播放您的录音(双倍速度):
terminalizer play your-recording --speed-factor 0.5
您已经录制并回放了一个终端会话。 接下来,您可以在线共享录制的终端会话。
第 3 步 — 共享录制的终端会话
在此步骤中,您将在 Terminalizer 探索页面 上在线共享您录制的终端会话。
首先选择要共享的录制会话:
terminalizer share your-recording
然后,系统将提示您提供有关您的录音的一些基本元数据,例如标题和描述:
OutputPlease enter some details about your recording ? Title Title of Your Recording ? Description Description of Your Recording ? Tags such as git,bash,game Comma-separated Tags for Your Recording
警告: Terminalizer 录音默认公开共享,因此请确保您的终端录音中没有您不想共享的个人身份或机密详细信息。
如果这是您第一次使用 Terminalizer 共享录制的会话,则需要链接您的 Terminalizer 帐户。 如果需要,Terminalizer 将显示一个验证链接:
OutputOpen the following link in your browser and login into your account https://terminalizer.com/token?token=your-token When you do it, press any key to continue
警告: 确保您将 Terminalizer 令牌保密,因为它将允许拥有它的任何人访问您的 Terminalizer 帐户。
在您的网络浏览器中访问该链接并登录到您的 Terminalizer 帐户后,按任意键继续。
Terminalizer 现在将上传您的录音并为您提供查看它的链接:
OutputSuccessfully Uploaded The recording is available on the link: https://terminalizer.com/view/your-recording-id
在桌面网络浏览器中访问该链接将允许您查看您的共享录音:
您已经在 Terminalizer 网站上共享了一个录制的终端会话,并在您的网络浏览器中查看了它。
第 4 步 — 设置高级终端器配置
现在您已经熟悉了 Terminalizer,您可以开始查看一些更高级的自定义选项,例如调整显示颜色和样式的能力。
每个记录都从位于 ~/.terminalizer/config.yml
的全局 Terminalizer 配置文件中继承默认配置。 这意味着您可以通过编辑录制文件直接编辑单个录制的配置(例如 your-recording.yml
)。 或者,您可以编辑全局配置,这将对所有新记录产生影响。
在此示例中,您将编辑全局配置文件,但同样的指导也适用于各个录制配置文件。
首先在文本编辑器中打开全局 Terminalizer 配置文件,例如 nano
:
nano ~/.terminalizer/config.yml
文件中的每个可用配置选项都被注释以解释它们的作用。
您可能希望根据自己的喜好调整几个常见的配置选项:
cols
:显式设置用于录制的终端列数。rows
:显式设置用于录制的终端行数。frameDelay
:覆盖播放期间每次击键之间的延迟。maxIdleTime
:指定播放期间击键之间的最长时间。cursorStyle
:指定block
、bar
和underline
中的默认终端光标样式。fontFamily
:按优先顺序指定首选播放字体列表。theme
:调整播放的配色方案,例如创建一个黑白终端等。
例如,您可以通过配置以下选项来实现黑底白字的终端显示:
配置.yml
. . . theme: background: "white" foreground: "black" . . .
这将产生类似于以下的结果:
您可以调整光标样式以使录制更易于理解,例如通过将默认块样式光标与带下划线的光标交换:
配置.yml
. . . cursorStyle: underline . . .
这会产生类似于以下的结果:
完成任何所需的更改后,保存文件并返回终端。
如果您编辑了全局 Terminalizer 配置,这些设置将应用于所有新的录音。 如果您正在编辑特定的录制配置,Terminalizer 将立即将更改应用到该特定录制。
请注意,自定义播放样式仅适用于共享录制会话。 直接在终端中播放它们将始终使用您的默认终端样式和配色方案。
在这最后一步中,您查看了 Terminalizer 的一些高级配置选项。
结论
在本文中,您使用 Terminalizer 记录和共享终端会话。 您现在拥有创建用于营销材料的录制演示软件或与朋友分享命令行技巧所需的知识。
如果您希望将 Terminalizer 记录渲染和导出为 GIF 格式,您可以在具有图形用户界面/桌面的机器上安装 Terminalizer,并使用内置的渲染功能:
您可能还希望浏览 Terminalizer 网站以查看其他用户共享的记录终端会话: