文章目录
一、关于 terminalizer
🦄录制您的终端并生成动画gif图像或共享网络播放器
- github : https://github.com/faressoft/terminalizer
- 官网:https://www.terminalizer.com/
- 官方文档:https://www.terminalizer.com/docs
效果展示
Built to be jusT cOol 👌🦄 !
如果你这么认为,支持我
star
和一个follow
😘
特点
- 高度可定制。
- 跨平台(Linux、Windows、MacOS)。
- 自定义
window frames
。 - 自定义
font
。 - 自定义
colors
。 - 自定义
styles
与CSS
。 - 水印。
- 在渲染前编辑帧并调整延迟。
- 通过阶跃值跳过帧以减少渲染帧的数量。
- 渲染带有文本的图像,而不是捕获屏幕以获得更好的质量。
- 包含以下配置
- 要捕获的命令(bash、powershell. exe、yourOwnCommand等)
- 当前工作目录。
- 列和行数的显式值。
- GIF质量和重复。
- 帧延迟。
- 帧之间的最大空闲时间。
- 光标样式。
- 字体。
- 字体大小。
- 线高度。
- 字母行间距。
- 主题。
下一步是什么?
- 用于为录制文件生成网络播放器的
Generate
命令。 - 支持
apt-get
,yum
,brew
安装。
二、安装
您需要先安装Node. js,然后使用以下命令全局安装该工具:
yarn global add terminalizer
仍然面临问题?检查问题部分或打开一个新问题。
使用Node. js v4-v16安装应该非常流畅。对于较新的版本,如果安装失败,您可能需要安装开发工具来构建C++
的附加组件。检查node-gyp。
三、基本入门
开始使用record
命令记录终端。
terminalizer record demo
将在当前目录中创建一个名为demo.yml
的文件。您可以使用任何编辑器打开它来编辑配置和录制的帧。您可以使用play
命令重放录音。
terminalizer play demo
现在让我们将录音渲染为动画gif。
terminalizer render demo
压缩
GIF压缩尚未实现。现在我们建议https://gifcompressor.com。
四、使用
您可以使用--help
选项获取有关命令及其选项的更多详细信息
terminalizer <command> [options]
Init
创建全局配置目录
terminalizer init
配置
在当前目录下生成配置文件
terminalizer config
记录
录制您的终端并创建录制文件
terminalizer record <recordingFile>
选项
-c, --config Overwrite the default configurations [string]
-d, --command The command to be executed [string] [default: null]
-k, --skip-sharing Skip sharing and showing the sharing prompt message [boolean] [default: false]
例子
terminalizer record foo Start recording and create a recording file called foo.yml
terminalizer record foo --config config.yml Start recording with your own configurations
播放
在您的终端上播放录音文件
terminalizer play <recordingFile>
选项
-r, --real-timing Use the actual delays between frames as recorded [boolean] [default: false]
-s, --speed-factor Speed factor, multiply the frames delays by this factor [number] [default: 1]
渲染
将录制文件渲染为动画gif图像
terminalizer render <recordingFile>
选项
-o, --output A name for the output file [string]
-q, --quality The quality of the rendered image (1 - 100) [number]
-s, --step To reduce the number of rendered frames (step > 1) [number] [default: 1]
分享
上传录音文件并获取在线播放器的链接
terminalizer share <recordingFile>
生成
为录制文件生成网络播放器
terminalizer generate <recordingFile>
五、配置
默认config.yml
文件存储在项目的根目录下。执行以下命令将其复制到当前目录。
使用任何编辑器编辑复制的
config.yml
,然后使用-c
选项覆盖默认选项。
terminalizer config
建议使用
init
命令创建要使用的全局配置文件,而不是默认配置文件。
terminalizer init
对于Linux和MacOS,创建的目录位于主目录~/config/terminalizer
下。对于Windows,它位于AppData
下。
录制
command
:指定要执行的命令,如/bin/bash -l
、ls
或任何其他命令。Linux
的默认bash
或Windows
的powershell.exe
。cwd
:指定当前工作目录路径。默认为当前工作目录路径。env
:导出其他ENV变量,以便在开始录制时由脚本读取。cols
: 显式设置列数或使用auto
获取shell的当前列数。rows
:显式设置行数或使用auto
获取shell的当前行数。
延时
frameDelay
: 帧之间的延迟,以毫秒为单位。如果值是auto
使用实际记录延迟。maxIdleTime
:帧之间的最大延迟(以毫秒为单位)。如果frameDelay
未设置为auto
,则忽略。设置为auto
以防止限制最大空闲时间。
GIF
quality
: 生成的GIF图像的质量(1-100)。repeat
:- 如果值为
-1
,玩一次。 - 如果值为
0
,则无限期循环。 - 如果value是正数,循环
n
次。
- 如果值为
终端
cursorStyle
:光标样式可以是block
、underline
或bar
之一。fontFamily
:您可以使用安装在您的机器上的任何字体,如Monaco
或Lucida Console
(类似CSS的列表)。fontSize
:字体的大小(以像素为单位)。lineHeight
:以像素为单位的线的高度。letterSpacing
的字母行间距。
主题
您可以使用以下CSS格式之一设置终端的颜色:
- 十六进制:
#FFFFFF
。 - RGB:
rgb(255, 255, 255)
. - HSL:
hsl(0, 0%, 100%)
. - Name:
white
,red
,blue
.
您也可以使用transparent
值。
分配给终端颜色的默认颜色是:
水印
您可以在生成的GIF图像中添加水印徽标。
watermark:
imagePath: AbsolutePathOrURL
style:
position: absolute
right: 15px
bottom: 15px
width: 100px
opacity: 0.9
watermark.imagePath
:机器上图像或URL的绝对路径。watermark.style
:将CSS样式(camelCase)应用于水印图像,例如调整大小。
Frame Box
Terminalizer带有预定义的帧,您可以使用这些帧使您的GIF图像看起来很酷。
frameBox.type
:可以是null
、window
、floating
或solid
。frameBox.title
:显示框架的标题或null
。frameBox.style
:应用自定义CSS样式或覆盖当前样式。
空帧
没有框架,只有你的录音。
不要忘记在
backgroundColor
下添加style
。
frameBox:
type: null
title: null
style:
backgroundColor: black
Window Frame
frameBox:
type: window
title: Terminalizer
style: []
浮动Frame
frameBox:
type: floating
title: Terminalizer
style: []
实心 Frame
frameBox:
type: solid
title: Terminalizer
style: []
没有标题的实心Frame
frameBox:
type: solid
title: null
style: []
Styling Hint
您可以禁用默认阴影和边距。
frameBox:
type: solid
title: null
style:
boxShadow: none
margin: 0px
六、FAQ & Issues
如何支持ZSH
记录Linux的默认命令是bash -l
。您需要将默认命令更改为zsh
。
- 在当前目录下生成配置文件
terminalizer config
- 在首选编辑器中打开生成的配置文件。
- 将
command
更改为zsh
:
command: zsh
- 您可能需要更改字体,请检查终端中使用的字体:
fontFamily: "Meslo for Powerline, Meslo LG M for Powerline"
- 使用
-c
选项覆盖配置文件:
terminalizer record demo -c config.yml
Issues
加载共享库时出错:libXss.so.1:无法打开共享对象文件:没有这样的文件或目录
解决方案:
sudo yum install libXScrnSaver
加载共享库时出错:libgconf-2.so.4:无法打开共享目标文件:没有这样的文件或目录
解决方案:
sudo apt-get install libgconf-2-4
错误:EACCES:权限被拒绝,访问“/usr/local/lib”
解决方案:
sudo mkdir -p /usr/local/lib/node_modules && sudo chown -R $(whoami):$(whoami) /usr/local/lib/node_modules
# then use the install command in the "Installation" section above
yarn global add terminalizer
2024-09-28(六)