如何在文本模式下录制屏幕(或屏幕广播)?

基本上,我想捕捉在Ubuntu中安装驱动程序的过程,以便以后观看。
有一些屏幕捕捉应用程序,如SimpleScreenRecorder,但它们在文本模式下无法工作,因为当我停止LightDM时,没有显示驱动程序。
还有一个叫做fbcat的工具,可以让我们在文本模式下进行截屏,但我想知道是否有什么工具可以在切换到Ctrl+Alt+F2时进行屏幕录制?
3个回答

Asciinema

如果你想要像YouTube一样的效果,可以看看asciinema。你可以使用以下命令进行安装:

sudo apt install asciinema

如果您还没有使用18.04版本,想要获取更新的版本,您可以使用以下ppa:
sudo apt-add-repository ppa:zanchey/asciinema
sudo apt update
sudo apt install asciinema

或者使用pip方法:

sudo apt install python3-pip
pip3 install asciinema --user

(另见:如何在没有root访问权限的情况下安装pip(python)
现在开始使用录音会话
asciinema rec output.cast

这将把你带到另一个终端。录制会一直持续,直到你退出这个终端。你可以使用以下命令播放结果:
asciinema play output.cast

小心!如果你在启动asciinema rec时没有提供输出文件名,它将默认上传记录的会话到asciinema.org并返回一个URL。你可以在之前取消,但很容易错过这一点。


1哇!这对我来说太简单了。像魔法一样有效。 - ptetteh227
@SebastianStark:非常感谢,我选择了这个而不是 ttyrec,顺便说一下,Asciinema的共享和嵌入功能非常好。那部分非常棒。顺便说一句,如果您还添加pip安装方法,更多人会喜欢这个的 :) - Hossein
请注意,这无法捕获在虚拟控制台中生成的命令错误输出。如果您在虚拟控制台中执行命令以查看输出,这可能会不方便。 - Tom Russell

你可以使用script来保存在终端中打印或输入的所有内容。
script的手册中可以得知: 描述
   script makes a typescript of everything displayed on your terminal.  It
   is useful for students who need a hardcopy  record  of  an  interactive
   session  as  proof  of  an  assignment.  

使用脚本的方法:
在命令行中输入以下指令:script termout.txt 这将把屏幕上的所有内容保存到"termout.txt"文件中。要停止脚本,请输入exit

1非常感谢,您的回答让我找到了我想要的。 - Hossein

ttyrec 是一个 tty 录制器。录制的数据可以使用附带的 ttyplay 命令进行回放。ttyrec 只是 script 命令的一个衍生版本,可以以微秒级精度记录时间信息。
它可以记录 emacs -nw、vi、lynx 或任何在 tty 上运行的程序。
例如,在 NetHack 社区中广泛用于存储游戏回放。

它类似于 script 命令,但还允许暂停、减速或加速回放。它还可以将录制的内容流式传输到网络,并可用于使用 uudecode 传输文件。

Usage
Recording

  % ttyrec
  (In the executed shell, do whatever you want and exit)

  % ttyrec -e command
  (command specified by -e option will be executed)

Playback

  % ttyplay ttyrecord

-s2 option makes the playback speed doubled. With -p option, you can peek another person's ttyrecord in real time. Have fun!

You can change the speed while playback by the following key strokes.

"+" or "f" to speed up the playback twice "-" or "s" to speed down the playback twice "1" to change the playback to the normal speed

注意: 您可以通过输入“exit”来结束录制。同时,您还可以在“ttyrec”后指定一个文件名。如果您不指定文件名,系统将自动创建一个。
录制器/播放器: 原始ttyrec(Unix) Term::TtyRec(Perl) Term::TtyRec::Plus(Perl) Tie::Handle::TtyRec(Perl) termrec(Win32,Unix)

仅回放
TTYPLAYER(Java)
IPBT(Unix)