首页 > 系统相关 >如何在 Linux 上录制你的终端操作

如何在 Linux 上录制你的终端操作

时间:2023-04-18 09:15:38浏览次数:44  
标签:文件 命令 录制 ttyrecord gif 终端 Linux

录制一个终端操作可能是一个帮助他人学习 Linux 、展示一系列正确命令行操作的和分享知识的通俗易懂方法。不管是出于什么目的,从终端复制粘贴文本需要重复很多次,而录制视频的过程也是相当麻烦,有时候还不能录制。在这次的文章中,我们将简单的了解一下以 gif 格式记录和分享终端会话的方法。
预先要求

如果你只是希望能记录你的终端会话,并且能在终端进行回放或者和他人分享,那么你只需要一个叫做:ttyrec 的软件。Ubuntu 用户可以通过运行这行代码进行安装:

sudo apt-get install ttyrec

如果你想将生成的视频转换成一个 gif 文件,这样能够和那些不使用终端的人分享,就可以发布到网站上去,或者你只是想做一个 gif 方便使用而不想写命令。那么你需要安装额外的两个软件包。第一个就是 imagemagick , 你可以通过以下的命令安装:

sudo apt-get install imagemagick

第二个软件包就是:tty2gif.py,访问其项目网站下载。这个软件包需要安装如下依赖:

sudo apt-get install python-opster
内容录制

开始录制终端操作,你需要的仅仅是键入 ttyprec ,然后回车。这个命令将会在后台运行一个实时的记录工具。我们可以通过键入exit或者ctrl+d来停止。ttyrec 默认会在主目录下创建一个ttyrecord的文件。

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

回放

回放这个文件非常简单。你只需要打开终端并且使用 ttyplay 命令打开 ttyrecord 文件即可。(在这个例子里,我们使用 ttyrecord 作为文件名,当然,你也可以改成你用的文件名)

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

然后就可以开始播放这个文件。这个视频记录了所有的操作,包括你的删除,修改。这看起来像一个拥有自我意识的终端,但是这个命令执行的过程并不是只是为了给系统看,而是为了更好的展现给人。

注意一点,播放这个记录是完全可控的,你可以通过点击 + 或者 - 进行加速减速,或者 0和 1 暂停和恢复播放。

导出成 GIF

为了方便,我们通常会将视频记录转换为 gif 格式,并且,这个非常容易做到。以下是方法:

将之前下载的 tty2gif.py 这个文件拷贝到 ttyprecord 文件(或者你命名的那个视频文件)相同的目录,然后在这个目录下打开终端,输入命令:

python tty2gif.py typing ttyrecord

如果出现了错误,检查一下你是否有安装 python-opster 包。如果还是有错误,使用如下命令进行排除。

sudo apt-get install xdotool
export WINDOWID=$(xdotool getwindowfocus)

然后重复这个命令 python tty2gif.py并且你将会看到在 ttyrecord 目录下多了一些 gif 文件。

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

接下来的一步就是整合所有的 gif 文件,将他打包成一个 gif 文件。我们通过使用 imagemagick 工具。输入下列命令:

convert -delay 25 -loop 0 *.gif example.gif

如何在 Linux 上录制你的终端操作如何在 Linux 上录制你的终端操作

你可以使用任意的文件名,我用的是 example.gif。 并且,你可以改变这个延时和循环时间。 Enjoy。


via: https://www.howtoforge.com/tutorial/how-to-record-your-terminal-session-on-linux/

作者:Bill Toulas 译者:MikeCoder 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:https://linux.cn/article-7573-1.html

本文地址: https://www.linuxprobe.com/how-linux-recording.html

标签:文件,命令,录制,ttyrecord,gif,终端,Linux
From: https://www.cnblogs.com/linuxpro/p/17328261.html

相关文章

  • Linux系统bootx64是怎么引导grub的
    在Linux系统中,bootx64.efi是一个启动加载程序,用于引导GRUB。GRUB(GrandUnifiedBootloader)是一个开源的多操作系统引导加载程序,用于加载和启动Linux、Windows和其他操作系统。当计算机启动时,UEFI固件会读取硬件设备、分区和文件系统来找到可引导的EFI程序。如果GRUB已经安装在硬......
  • Linux学习笔记
    IP地址和主机名IP地址ifconfig可以用来查询本机的IP地址,如果不能使用,可以通过installnet-tools安装。Centos系统下ens33表示主网卡;inet后表示IP地址;lo表示本地回环网卡;127.0.0.1表示代指本机;0.0.0.0可以用于代指本机,同时在放行设置中0.0.0.0表示允许任意IP访问。主机名h......
  • Rocky Linux 安装 JFrog Artifactory
    一、概要1.环境(1)RockyLinux9.1(2)JFrogArtifactory7.55.102.概念JFrogArtifactory是一个通用的二进制仓库,它可以存储Docker镜像、IOS/Android/EXE软件包,或者MavenJar包。JFrogArtifactory由Java实现,从7.43.x开始,其安装包自带JDK17。3.仓库开源的JFrog版......
  • Linux基础命令
    Not listed?----点击输入root,回车,输入密码,回车su   切换root用户目前在root用户下,如果切换成普通用户Su–zyy  切换成普通用户(zyy是用户名)hostnamectlset-hostname主机名su生效ls 查看目录ls -l 查看长目录,以长格式显示目录蓝色:目录白色:文件红色:压缩文件Shell 命......
  • redis介绍,redis linux安装,redis启动,redis经典场景,redis通用命令,数据结构和内部编码,red
    目录redis介绍,redislinux安装,redis启动,redis经典场景,redis通用命令,数据结构和内部编码,redis字符串类型昨日内容回顾今日内容1redis介绍2redislinux下安装3redis启动方式3.1最简启动3.2动态参数启动3.3配置文件启动3.4客户端连接命令4redis经典场景5redis通用命令6数据......
  • Linux crontab 命令
    Linuxcrontab命令快速使用exportEDITOR=vi #第一次设置crontab编辑器crontab-l #查看定时任务crontab -e#编辑定时任务本章内容太简陋,后续补充完整简介非常重要,自动化常用Linuxcrontab是用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度......
  • Linux更新
    1、系统工作命令manecho输出date系统时间与日期%Y年%m月%d日%H时%M分%S秒%j第几天-s设置当前时间timedatectl系统时间status状态信息list-timezones列出已知时区set-time系统时间set-timezone生效时区reboot重启poweroff......
  • Linux 安装 NGINX
    官网:下载页面1、下载Nginx安装包注:可以在/usr/local/src目录下,创建一个文件夹用于放置nginx的安装包在/usr/local/src/nginx的目录下,使用如下命令,下载安装包wgethttp://nginx.org/download/nginx-1.24.0.tar.gz如果没有wget命令,可以使用yum进行安装yuminstallw......
  • 【redis】 redis linux下安装 redis启动方式 redis典型场景 redis通用命令 数据结构
    目录上节回顾今日内容1redis介绍2redislinux下安装3redis启动方式3.1最简启动3.2动态参数启动3.3配置文件启动3.4客户端连接命令4redis典型场景5redis通用命令6数据结构和内部编码7redis字符串类型练习上节回顾#dockerfile命令 RUNCOPYADDENV......
  • linux TTY子系统 之 串口
    TTY设备TTY驱动类型如下,串口也属于TTY/*ttydrivertypes*/#defineTTY_DRIVER_TYPE_SYSTEM0x0001#defineTTY_DRIVER_TYPE_CONSOLE0x0002#defineTTY_DRIVER_TYPE_SERIAL0x0003#defineTTY_DRIVER_TYPE_PTY0x0004#defineTTY_DRIVER_......