72 lines
1.2 KiB
Markdown
72 lines
1.2 KiB
Markdown
---
|
|
title: "Record a Terminal Session"
|
|
tags: [ "vision", "share" ]
|
|
---
|
|
|
|
Record a terminal command, then press 'Control + d' to exit.
|
|
|
|
```sh
|
|
script --timing=time.log stat.txt
|
|
ls -a
|
|
ls -al
|
|
stat ~/.bashrc
|
|
^D
|
|
```
|
|
|
|
Replay the session:
|
|
|
|
```sh
|
|
scriptreplay --timing=time.log stat.txt
|
|
```
|
|
|
|
Try a bare command, without any timing:
|
|
|
|
```sh
|
|
script -c 'top | lolcat' loltop
|
|
nl loltop
|
|
```
|
|
|
|
Has your terminal messed up?
|
|
Is the cursor hiding?
|
|
Reset it!
|
|
|
|
```sh
|
|
reset
|
|
```
|
|
If you can't see any keys, keep typing anyway: have faith in your terminal.
|
|
|
|
This `loltop` file will not play properly as it has no timings file.
|
|
But you can cheat the system and use your other timings file:
|
|
|
|
```sh
|
|
scriptreplay --timing=time.log loltop
|
|
```
|
|
|
|
This will mostly not work well, but it shows how the timing file works:
|
|
|
|
|
|
```text
|
|
0.033401 23
|
|
0.044513 8
|
|
0.000016 219
|
|
1.349324 114
|
|
0.179106 1
|
|
0.088790 1
|
|
0.072821 1
|
|
0.358337 2
|
|
0.000254 9
|
|
0.004720 52
|
|
0.000084 21
|
|
0.155462 671
|
|
```
|
|
|
|
I think it works like this?
|
|
|
|
| How long it took | to type *n* characters |
|
|
|:----------------:|:----------------------:|
|
|
| 0.033401 | 23 |
|
|
| 0.044513 | 8 |
|
|
| 0.000016 | 219 |
|
|
| 1.349324 | 114 |
|
|
|