mirror of
https://github.com/asciinema/asciinema.git
synced 2025-12-16 11:48:13 +01:00
Remove old (outdated) man page
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
VERSION=`python3 -c "import asciinema; print(asciinema.__version__)"`
|
|
||||||
|
|
||||||
asciinema.1: asciinema.1.md
|
|
||||||
pandoc asciinema.1.md -s -t man -o asciinema.1 -V header:"Version $(VERSION), `date +%Y-%m-%d`"
|
|
||||||
403
man/asciinema.1
403
man/asciinema.1
@@ -1,403 +0,0 @@
|
|||||||
.\" Automatically generated by Pandoc 2.18
|
|
||||||
.\"
|
|
||||||
.\" Define V font for inline verbatim, using C font in formats
|
|
||||||
.\" that render this, and otherwise B font.
|
|
||||||
.ie "\f[CB]x\f[]"x" \{\
|
|
||||||
. ftr V B
|
|
||||||
. ftr VI BI
|
|
||||||
. ftr VB B
|
|
||||||
. ftr VBI BI
|
|
||||||
.\}
|
|
||||||
.el \{\
|
|
||||||
. ftr V CR
|
|
||||||
. ftr VI CI
|
|
||||||
. ftr VB CB
|
|
||||||
. ftr VBI CBI
|
|
||||||
.\}
|
|
||||||
.TH "ASCIINEMA" "1" "" "Version 2.0.1" "Version 2.1.0, 2022-05-07"
|
|
||||||
.hy
|
|
||||||
.SH NAME
|
|
||||||
.PP
|
|
||||||
\f[B]asciinema\f[R] - terminal session recorder
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.PP
|
|
||||||
\f[B]asciinema --version\f[R]
|
|
||||||
.PD 0
|
|
||||||
.P
|
|
||||||
.PD
|
|
||||||
\f[B]asciinema\f[R] \f[I]command\f[R] [\f[I]options\f[R]]
|
|
||||||
[\f[I]args\f[R]]
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.PP
|
|
||||||
asciinema lets you easily record terminal sessions, replay them in a
|
|
||||||
terminal as well as in a web browser and share them on the web.
|
|
||||||
asciinema is Free and Open Source Software licensed under the GNU
|
|
||||||
General Public License v3.
|
|
||||||
.SH COMMANDS
|
|
||||||
.PP
|
|
||||||
asciinema is composed of multiple commands, similar to \f[V]git\f[R],
|
|
||||||
\f[V]apt-get\f[R] or \f[V]brew\f[R].
|
|
||||||
.PP
|
|
||||||
When you run \f[B]asciinema\f[R] with no arguments a help message is
|
|
||||||
displayed, listing all available commands with their options.
|
|
||||||
.SS rec [\f[I]filename\f[R]]
|
|
||||||
.PP
|
|
||||||
Record terminal session.
|
|
||||||
.PP
|
|
||||||
By running \f[B]asciinema rec [filename]\f[R] you start a new recording
|
|
||||||
session.
|
|
||||||
The command (process) that is recorded can be specified with
|
|
||||||
\f[B]-c\f[R] option (see below), and defaults to \f[B]$SHELL\f[R] which
|
|
||||||
is what you want in most cases.
|
|
||||||
.PP
|
|
||||||
You can temporarily pause recording of terminal by pressing Ctrl+\[rs].
|
|
||||||
This is useful when you want to execute some commands during the
|
|
||||||
recording session that should not be captured (e.g.\ pasting secrets).
|
|
||||||
Resume by pressing Ctrl+\[rs] again.
|
|
||||||
.PP
|
|
||||||
Recording finishes when you exit the shell (hit Ctrl+D or type
|
|
||||||
\f[V]exit\f[R]).
|
|
||||||
If the recorded process is not a shell then recording finishes when the
|
|
||||||
process exits.
|
|
||||||
.PP
|
|
||||||
If the \f[I]filename\f[R] argument is omitted then (after asking for
|
|
||||||
confirmation) the resulting asciicast is uploaded to
|
|
||||||
asciinema-server (https://github.com/asciinema/asciinema-server) (by
|
|
||||||
default to asciinema.org), where it can be watched and shared.
|
|
||||||
.PP
|
|
||||||
If the \f[I]filename\f[R] argument is given then the resulting recording
|
|
||||||
(called asciicast) is saved to a local file.
|
|
||||||
It can later be replayed with \f[B]asciinema play <filename>\f[R] and/or
|
|
||||||
uploaded to asciinema server with \f[B]asciinema upload <filename>\f[R].
|
|
||||||
.PP
|
|
||||||
\f[B]ASCIINEMA_REC=1\f[R] is added to recorded process environment
|
|
||||||
variables.
|
|
||||||
This can be used by your shell\[cq]s config file (\f[V].bashrc\f[R],
|
|
||||||
\f[V].zshrc\f[R]) to alter the prompt or play a sound when the shell is
|
|
||||||
being recorded.
|
|
||||||
.TP
|
|
||||||
Available options:
|
|
||||||
\
|
|
||||||
.RS
|
|
||||||
.TP
|
|
||||||
\f[V]--stdin\f[R]
|
|
||||||
Enable stdin (keyboard) recording (see below)
|
|
||||||
.TP
|
|
||||||
\f[V]--append\f[R]
|
|
||||||
Append to existing recording
|
|
||||||
.TP
|
|
||||||
\f[V]--raw\f[R]
|
|
||||||
Save raw STDOUT output, without timing information or other metadata
|
|
||||||
.TP
|
|
||||||
\f[V]--overwrite\f[R]
|
|
||||||
Overwrite the recording if it already exists
|
|
||||||
.TP
|
|
||||||
\f[V]-c, --command=<command>\f[R]
|
|
||||||
Specify command to record, defaults to \f[B]$SHELL\f[R]
|
|
||||||
.TP
|
|
||||||
\f[V]-e, --env=<var-names>\f[R]
|
|
||||||
List of environment variables to capture, defaults to
|
|
||||||
\f[B]SHELL,TERM\f[R]
|
|
||||||
.TP
|
|
||||||
\f[V]-t, --title=<title>\f[R]
|
|
||||||
Specify the title of the asciicast
|
|
||||||
.TP
|
|
||||||
\f[V]-i, --idle-time-limit=<sec>\f[R]
|
|
||||||
Limit recorded terminal inactivity to max \f[V]<sec>\f[R] seconds
|
|
||||||
.TP
|
|
||||||
\f[V]--cols=<n>\f[R]
|
|
||||||
Override terminal columns for recorded process
|
|
||||||
.TP
|
|
||||||
\f[V]--rows=<n>\f[R]
|
|
||||||
Override terminal rows for recorded process
|
|
||||||
.TP
|
|
||||||
\f[V]-y, --yes\f[R]
|
|
||||||
Answer \[lq]yes\[rq] to all prompts (e.g.\ upload confirmation)
|
|
||||||
.TP
|
|
||||||
\f[V]-q, --quiet\f[R]
|
|
||||||
Be quiet, suppress all notices/warnings (implies \f[B]-y\f[R])
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Stdin recording allows for capturing of all characters typed in by the
|
|
||||||
user in the currently recorded shell.
|
|
||||||
This may be used by a player (e.g.
|
|
||||||
asciinema-player (https://github.com/asciinema/asciinema-player)) to
|
|
||||||
display pressed keys.
|
|
||||||
Because it\[cq]s basically a key-logging (scoped to a single shell
|
|
||||||
instance), it\[cq]s disabled by default, and has to be explicitly
|
|
||||||
enabled via \f[B]\[en]stdin\f[R] option.
|
|
||||||
.SS play <\f[I]filename\f[R]>
|
|
||||||
.PP
|
|
||||||
Replay recorded asciicast in a terminal.
|
|
||||||
.PP
|
|
||||||
This command replays a given asciicast (as recorded by \f[B]rec\f[R]
|
|
||||||
command) directly in your terminal.
|
|
||||||
The asciicast can be read from a file or from \f[I]\f[VI]stdin\f[I]\f[R]
|
|
||||||
(`-'):
|
|
||||||
.PP
|
|
||||||
Playing from a local file:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play /path/to/asciicast.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Playing from HTTP(S) URL:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play https://asciinema.org/a/22124.cast
|
|
||||||
asciinema play http://example.com/demo.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Playing from asciicast page URL (requires
|
|
||||||
\f[V]<link rel=\[dq]alternate\[dq] type=\[dq]application/x-asciicast\[dq] href=\[dq]/my/ascii.cast\[dq]>\f[R]
|
|
||||||
in page\[cq]s HTML):
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play https://asciinema.org/a/22124
|
|
||||||
asciinema play http://example.com/blog/post.html
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Playing from stdin:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
cat /path/to/asciicast.cast | asciinema play -
|
|
||||||
ssh user\[at]host cat asciicast.cast | asciinema play -
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Playing from IPFS:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play dweb:/ipfs/QmNe7FsYaHc9SaDEAEXbaagAzNw9cH7YbzN4xV7jV1MCzK/ascii.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.TP
|
|
||||||
Available options:
|
|
||||||
\
|
|
||||||
.RS
|
|
||||||
.TP
|
|
||||||
\f[V]-i, --idle-time-limit=<sec>\f[R]
|
|
||||||
Limit replayed terminal inactivity to max \f[V]<sec>\f[R] seconds (can
|
|
||||||
be fractional)
|
|
||||||
.TP
|
|
||||||
\f[V]-s, --speed=<factor>\f[R]
|
|
||||||
Playback speed (can be fractional)
|
|
||||||
.RE
|
|
||||||
.TP
|
|
||||||
While playing the following keyboard shortcuts are available:
|
|
||||||
\
|
|
||||||
.RS
|
|
||||||
.TP
|
|
||||||
\f[I]\f[VI]Space\f[I]\f[R]
|
|
||||||
Toggle pause
|
|
||||||
.TP
|
|
||||||
\f[I]\f[VI].\f[I]\f[R]
|
|
||||||
Step through a recording a frame at a time (when paused)
|
|
||||||
.TP
|
|
||||||
\f[I]\f[VI]Ctrl+C\f[I]\f[R]
|
|
||||||
Exit
|
|
||||||
.RE
|
|
||||||
.PP
|
|
||||||
Recommendation: run `asciinema play' in a terminal of dimensions not
|
|
||||||
smaller than the one used for recording as there\[cq]s no
|
|
||||||
\[lq]transcoding\[rq] of control sequences for the new terminal size.
|
|
||||||
.SS cat <\f[I]filename\f[R]>
|
|
||||||
.PP
|
|
||||||
Print full output of recorded asciicast to a terminal.
|
|
||||||
.PP
|
|
||||||
While \f[B]asciinema play \f[R] replays the recorded session using
|
|
||||||
timing information saved in the asciicast, \f[B]asciinema cat \f[R]
|
|
||||||
dumps the full output (including all escape sequences) to a terminal
|
|
||||||
immediately.
|
|
||||||
.PP
|
|
||||||
\f[B]asciinema cat existing.cast >output.txt\f[R] gives the same result
|
|
||||||
as recording via \f[B]asciinema rec --raw output.txt\f[R].
|
|
||||||
.SS upload <\f[I]filename\f[R]>
|
|
||||||
.PP
|
|
||||||
Upload recorded asciicast to asciinema.org site.
|
|
||||||
.PP
|
|
||||||
This command uploads given asciicast (recorded by \f[B]rec\f[R] command)
|
|
||||||
to asciinema.org, where it can be watched and shared.
|
|
||||||
.PP
|
|
||||||
\f[B]asciinema rec demo.cast\f[R] + \f[B]asciinema play demo.cast\f[R] +
|
|
||||||
\f[B]asciinema upload demo.cast\f[R] is a nice combo if you want to
|
|
||||||
review an asciicast before publishing it on asciinema.org.
|
|
||||||
.SS auth
|
|
||||||
.PP
|
|
||||||
Link and manage your install ID with your asciinema.org user account.
|
|
||||||
.PP
|
|
||||||
If you want to manage your recordings (change title/theme, delete) at
|
|
||||||
asciinema.org you need to link your \[lq]install ID\[rq] with your
|
|
||||||
asciinema.org user account.
|
|
||||||
.PP
|
|
||||||
This command displays the URL to open in a web browser to do that.
|
|
||||||
You may be asked to log in first.
|
|
||||||
.PP
|
|
||||||
Install ID is a random ID (UUID
|
|
||||||
v4 (https://en.wikipedia.org/wiki/Universally_unique_identifier))
|
|
||||||
generated locally when you run asciinema for the first time, and saved
|
|
||||||
at \f[B]$HOME/.config/asciinema/install-id\f[R].
|
|
||||||
It\[cq]s purpose is to connect local machine with uploaded recordings,
|
|
||||||
so they can later be associated with asciinema.org account.
|
|
||||||
This way we decouple uploading from account creation, allowing them to
|
|
||||||
happen in any order.
|
|
||||||
.PP
|
|
||||||
Note: A new install ID is generated on each machine and system user
|
|
||||||
account you use asciinema on.
|
|
||||||
So in order to keep all recordings under a single asciinema.org account
|
|
||||||
you need to run \f[B]asciinema auth\f[R] on all of those machines.
|
|
||||||
If you\[cq]re already logged in on asciinema.org website and you run
|
|
||||||
`asciinema auth' from a new computer then this new device will be linked
|
|
||||||
to your account.
|
|
||||||
.PP
|
|
||||||
While you CAN synchronize your config file (which keeps the API token)
|
|
||||||
across all your machines so all use the same token, that\[cq]s not
|
|
||||||
necessary.
|
|
||||||
You can assign new tokens to your account from as many machines as you
|
|
||||||
want.
|
|
||||||
.PP
|
|
||||||
Note: asciinema versions prior to 2.0 confusingly referred to install ID
|
|
||||||
as \[lq]API token\[rq].
|
|
||||||
.SH EXAMPLES
|
|
||||||
.PP
|
|
||||||
Record your first session:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema rec first.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
End your session:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
exit
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Now replay it with double speed:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play -s 2 first.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Or with normal speed but with idle time limited to 2 seconds:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema play -i 2 first.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
You can pass \f[B]-i 2\f[R] to \f[B]asciinema rec\f[R] as well, to set
|
|
||||||
it permanently on a recording.
|
|
||||||
Idle time limiting makes the recordings much more interesting to watch,
|
|
||||||
try it.
|
|
||||||
.PP
|
|
||||||
If you want to watch and share it on the web, upload it:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema upload first.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
The above uploads it to <https://asciinema.org>, which is a default
|
|
||||||
asciinema-server (<https://github.com/asciinema/asciinema-server>)
|
|
||||||
instance, and prints a secret link you can use to watch your recording
|
|
||||||
in a web browser.
|
|
||||||
.PP
|
|
||||||
You can record and upload in one step by omitting the filename:
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema rec
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
You\[cq]ll be asked to confirm the upload when the recording is done, so
|
|
||||||
nothing is sent anywhere without your consent.
|
|
||||||
.SS Tricks
|
|
||||||
.TP
|
|
||||||
Record slowly, play faster:
|
|
||||||
First record a session where you can take your time to type slowly what
|
|
||||||
you want to show in the recording:
|
|
||||||
.RS
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema rec initial.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.PP
|
|
||||||
Then record the replay of `initial.cast' as `final.cast', but with five
|
|
||||||
times the initially recorded speed, with all pauses capped to two
|
|
||||||
seconds and with a title set as \[lq]My fancy title\[rq]::
|
|
||||||
.IP
|
|
||||||
.nf
|
|
||||||
\f[C]
|
|
||||||
asciinema rec -c \[dq]asciinema play -s 5 -i 2 initial.cast\[dq] -t \[dq]My fancy title\[dq] final.cast
|
|
||||||
\f[R]
|
|
||||||
.fi
|
|
||||||
.RE
|
|
||||||
.TP
|
|
||||||
Play from \f[I]\f[VI]stdin\f[I]\f[R]:
|
|
||||||
\
|
|
||||||
.RS
|
|
||||||
.PP
|
|
||||||
cat /path/to/asciicast.json | asciinema play -
|
|
||||||
.RE
|
|
||||||
.TP
|
|
||||||
Play file from remote host accessible with SSH:
|
|
||||||
\
|
|
||||||
.RS
|
|
||||||
.PP
|
|
||||||
ssh user\[at]host cat /path/to/asciicat.json | asciinema play -
|
|
||||||
.RE
|
|
||||||
.SH ENVIRONMENT
|
|
||||||
.TP
|
|
||||||
\f[B]ASCIINEMA_API_URL\f[R]
|
|
||||||
This variable allows overriding asciinema-server URL (which defaults to
|
|
||||||
https://asciinema.org) in case you\[cq]re running your own
|
|
||||||
asciinema-server instance.
|
|
||||||
.TP
|
|
||||||
\f[B]ASCIINEMA_CONFIG_HOME\f[R]
|
|
||||||
This variable allows overriding config directory location.
|
|
||||||
Default location is $XDG_CONFIG_HOME/asciinema (when $XDG_CONFIG_HOME is
|
|
||||||
set) or $HOME/.config/asciinema.
|
|
||||||
.SH BUGS
|
|
||||||
.PP
|
|
||||||
See GitHub Issues: <https://github.com/asciinema/asciinema/issues>
|
|
||||||
.SH MORE RESOURCES
|
|
||||||
.PP
|
|
||||||
More documentation is available on the asciicast.org website and its
|
|
||||||
GitHub wiki:
|
|
||||||
.IP \[bu] 2
|
|
||||||
Web: asciinema.org/docs/ (https://asciinema.org/docs/)
|
|
||||||
.IP \[bu] 2
|
|
||||||
Wiki:
|
|
||||||
github.com/asciinema/asciinema/wiki (https://github.com/asciinema/asciinema/wiki)
|
|
||||||
.IP \[bu] 2
|
|
||||||
IRC: Channel on Libera.Chat (https://web.libera.chat/gamja/#asciinema)
|
|
||||||
.IP \[bu] 2
|
|
||||||
Twitter: \[at]asciinema (https://twitter.com/asciinema)
|
|
||||||
.SH AUTHORS
|
|
||||||
.PP
|
|
||||||
asciinema\[cq]s lead developer is Marcin Kulik.
|
|
||||||
.PP
|
|
||||||
For a list of all contributors look here:
|
|
||||||
<https://github.com/asciinema/asciinema/contributors>
|
|
||||||
.PP
|
|
||||||
This Manual Page was written by Marcin Kulik with help from Kurt
|
|
||||||
Pfeifle.
|
|
||||||
@@ -1,345 +0,0 @@
|
|||||||
% ASCIINEMA(1) Version 2.0.1 | asciinema
|
|
||||||
|
|
||||||
|
|
||||||
NAME
|
|
||||||
====
|
|
||||||
|
|
||||||
**asciinema** - terminal session recorder
|
|
||||||
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
========
|
|
||||||
|
|
||||||
| **asciinema \-\-version**
|
|
||||||
| **asciinema** _command_ \[_options_] \[_args_]
|
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
===========
|
|
||||||
|
|
||||||
asciinema lets you easily record terminal sessions, replay
|
|
||||||
them in a terminal as well as in a web browser and share them on the web.
|
|
||||||
asciinema is Free and Open Source Software licensed under
|
|
||||||
the GNU General Public License v3.
|
|
||||||
|
|
||||||
|
|
||||||
COMMANDS
|
|
||||||
========
|
|
||||||
|
|
||||||
asciinema is composed of multiple commands, similar to `git`, `apt-get` or
|
|
||||||
`brew`.
|
|
||||||
|
|
||||||
When you run **asciinema** with no arguments a help message is displayed, listing
|
|
||||||
all available commands with their options.
|
|
||||||
|
|
||||||
|
|
||||||
rec [_filename_]
|
|
||||||
---
|
|
||||||
|
|
||||||
Record terminal session.
|
|
||||||
|
|
||||||
By running **asciinema rec [filename]** you start a new recording session. The
|
|
||||||
command (process) that is recorded can be specified with **-c** option (see
|
|
||||||
below), and defaults to **$SHELL** which is what you want in most cases.
|
|
||||||
|
|
||||||
You can temporarily pause the capture of your terminal by pressing
|
|
||||||
<kbd>Ctrl+\\</kbd>. This is useful when you want to execute some commands during
|
|
||||||
the recording session that should not be captured (e.g. pasting secrets). Resume
|
|
||||||
by pressing <kbd>Ctrl+\\</kbd> again. When pausing desktop notification is
|
|
||||||
displayed so you're sure the sensitive output won't be captured in the
|
|
||||||
recording.
|
|
||||||
|
|
||||||
Recording finishes when you exit the shell (hit <kbd>Ctrl+D</kbd> or type
|
|
||||||
`exit`). If the recorded process is not a shell then recording finishes when
|
|
||||||
the process exits.
|
|
||||||
|
|
||||||
If the _filename_ argument is omitted then (after asking for confirmation) the
|
|
||||||
resulting asciicast is uploaded to
|
|
||||||
[asciinema-server](https://github.com/asciinema/asciinema-server) (by default to
|
|
||||||
asciinema.org), where it can be watched and shared.
|
|
||||||
|
|
||||||
If the _filename_ argument is given then the resulting recording (called
|
|
||||||
[asciicast](doc/asciicast-v2.md)) is saved to a local file. It can later be
|
|
||||||
replayed with **asciinema play \<filename>** and/or uploaded to asciinema server
|
|
||||||
with **asciinema upload \<filename>**.
|
|
||||||
|
|
||||||
**ASCIINEMA_REC=1** is added to recorded process environment variables. This
|
|
||||||
can be used by your shell's config file (`.bashrc`, `.zshrc`) to alter the
|
|
||||||
prompt or play a sound when the shell is being recorded.
|
|
||||||
|
|
||||||
Available options:
|
|
||||||
|
|
||||||
:
|
|
||||||
|
|
||||||
`--stdin`
|
|
||||||
: Enable stdin (keyboard) recording (see below)
|
|
||||||
|
|
||||||
`--append`
|
|
||||||
: Append to existing recording
|
|
||||||
|
|
||||||
`--raw`
|
|
||||||
: Save raw STDOUT output, without timing information or other metadata
|
|
||||||
|
|
||||||
`--overwrite`
|
|
||||||
: Overwrite the recording if it already exists
|
|
||||||
|
|
||||||
`-c, --command=<command>`
|
|
||||||
: Specify command to record, defaults to **$SHELL**
|
|
||||||
|
|
||||||
`-e, --env=<var-names>`
|
|
||||||
: List of environment variables to capture, defaults to **SHELL,TERM**
|
|
||||||
|
|
||||||
`-t, --title=<title>`
|
|
||||||
: Specify the title of the asciicast
|
|
||||||
|
|
||||||
`-i, --idle-time-limit=<sec>`
|
|
||||||
: Limit recorded terminal inactivity to max `<sec>` seconds
|
|
||||||
|
|
||||||
`--cols=<n>`
|
|
||||||
: Override terminal columns for recorded process
|
|
||||||
|
|
||||||
`--rows=<n>`
|
|
||||||
: Override terminal rows for recorded process
|
|
||||||
|
|
||||||
`-y, --yes`
|
|
||||||
: Answer "yes" to all prompts (e.g. upload confirmation)
|
|
||||||
|
|
||||||
`-q, --quiet`
|
|
||||||
: Be quiet, suppress all notices/warnings (implies **-y**)
|
|
||||||
|
|
||||||
Stdin recording allows for capturing of all characters typed in by the user in
|
|
||||||
the currently recorded shell. This may be used by a player (e.g.
|
|
||||||
[asciinema-player](https://github.com/asciinema/asciinema-player)) to display
|
|
||||||
pressed keys. Because it's basically a key-logging (scoped to a single shell
|
|
||||||
instance), it's disabled by default, and has to be explicitly enabled via
|
|
||||||
**--stdin** option.
|
|
||||||
|
|
||||||
|
|
||||||
play <_filename_>
|
|
||||||
---
|
|
||||||
|
|
||||||
Replay recorded asciicast in a terminal.
|
|
||||||
|
|
||||||
This command replays a given asciicast (as recorded by **rec** command) directly in
|
|
||||||
your terminal. The asciicast can be read from a file or from *`stdin`* ('-'):
|
|
||||||
|
|
||||||
Playing from a local file:
|
|
||||||
|
|
||||||
asciinema play /path/to/asciicast.cast
|
|
||||||
|
|
||||||
Playing from HTTP(S) URL:
|
|
||||||
|
|
||||||
asciinema play https://asciinema.org/a/22124.cast
|
|
||||||
asciinema play http://example.com/demo.cast
|
|
||||||
|
|
||||||
Playing from asciicast page URL (requires `<link rel="alternate"
|
|
||||||
type="application/x-asciicast" href="/my/ascii.cast">` in page's HTML):
|
|
||||||
|
|
||||||
asciinema play https://asciinema.org/a/22124
|
|
||||||
asciinema play http://example.com/blog/post.html
|
|
||||||
|
|
||||||
Playing from stdin:
|
|
||||||
|
|
||||||
cat /path/to/asciicast.cast | asciinema play -
|
|
||||||
ssh user@host cat asciicast.cast | asciinema play -
|
|
||||||
|
|
||||||
Playing from IPFS:
|
|
||||||
|
|
||||||
asciinema play dweb:/ipfs/QmNe7FsYaHc9SaDEAEXbaagAzNw9cH7YbzN4xV7jV1MCzK/ascii.cast
|
|
||||||
|
|
||||||
Available options:
|
|
||||||
|
|
||||||
:
|
|
||||||
|
|
||||||
`-i, --idle-time-limit=<sec>`
|
|
||||||
: Limit replayed terminal inactivity to max `<sec>` seconds (can be fractional)
|
|
||||||
|
|
||||||
`-s, --speed=<factor>`
|
|
||||||
: Playback speed (can be fractional)
|
|
||||||
|
|
||||||
While playing the following keyboard shortcuts are available:
|
|
||||||
|
|
||||||
:
|
|
||||||
|
|
||||||
*`Space`*
|
|
||||||
: Toggle pause
|
|
||||||
|
|
||||||
*`.`*
|
|
||||||
: Step through a recording a frame at a time (when paused)
|
|
||||||
|
|
||||||
*`Ctrl+C`*
|
|
||||||
: Exit
|
|
||||||
|
|
||||||
Recommendation: run 'asciinema play' in a terminal of dimensions not smaller than the one
|
|
||||||
used for recording as there's no "transcoding" of control sequences for the new terminal
|
|
||||||
size.
|
|
||||||
|
|
||||||
|
|
||||||
cat <_filename_>
|
|
||||||
---
|
|
||||||
|
|
||||||
Print full output of recorded asciicast to a terminal.
|
|
||||||
|
|
||||||
While **asciinema play <filename>** replays the recorded session using timing
|
|
||||||
information saved in the asciicast, **asciinema cat <filename>** dumps the full
|
|
||||||
output (including all escape sequences) to a terminal immediately.
|
|
||||||
|
|
||||||
**asciinema cat existing.cast >output.txt** gives the same result as recording via
|
|
||||||
**asciinema rec \-\-raw output.txt**.
|
|
||||||
|
|
||||||
|
|
||||||
upload <_filename_>
|
|
||||||
------
|
|
||||||
|
|
||||||
Upload recorded asciicast to asciinema.org site.
|
|
||||||
|
|
||||||
This command uploads given asciicast (recorded by **rec** command) to
|
|
||||||
asciinema.org, where it can be watched and shared.
|
|
||||||
|
|
||||||
**asciinema rec demo.cast** + **asciinema play demo.cast** + **asciinema upload
|
|
||||||
demo.cast** is a nice combo if you want to review an asciicast before
|
|
||||||
publishing it on asciinema.org.
|
|
||||||
|
|
||||||
auth
|
|
||||||
----
|
|
||||||
|
|
||||||
Link and manage your install ID with your asciinema.org user account.
|
|
||||||
|
|
||||||
If you want to manage your recordings (change title/theme, delete) at
|
|
||||||
asciinema.org you need to link your "install ID" with your asciinema.org user
|
|
||||||
account.
|
|
||||||
|
|
||||||
This command displays the URL to open in a web browser to do that. You may be
|
|
||||||
asked to log in first.
|
|
||||||
|
|
||||||
Install ID is a random ID ([UUID
|
|
||||||
v4](https://en.wikipedia.org/wiki/Universally_unique_identifier)) generated
|
|
||||||
locally when you run asciinema for the first time, and saved at
|
|
||||||
**$HOME/.config/asciinema/install-id**. It's purpose is to connect local machine
|
|
||||||
with uploaded recordings, so they can later be associated with asciinema.org
|
|
||||||
account. This way we decouple uploading from account creation, allowing them to
|
|
||||||
happen in any order.
|
|
||||||
|
|
||||||
Note: A new install ID is generated on each machine and system user account you use
|
|
||||||
asciinema on. So in order to keep all recordings under a single asciinema.org
|
|
||||||
account you need to run **asciinema auth** on all of those machines. If you’re
|
|
||||||
already logged in on asciinema.org website and you run 'asciinema auth' from a new
|
|
||||||
computer then this new device will be linked to your account.
|
|
||||||
|
|
||||||
While you CAN synchronize your config file (which keeps the API token) across
|
|
||||||
all your machines so all use the same token, that’s not necessary. You can assign
|
|
||||||
new tokens to your account from as many machines as you want.
|
|
||||||
|
|
||||||
Note: asciinema versions prior to 2.0 confusingly referred to install ID as "API
|
|
||||||
token".
|
|
||||||
|
|
||||||
|
|
||||||
EXAMPLES
|
|
||||||
========
|
|
||||||
|
|
||||||
Record your first session:
|
|
||||||
|
|
||||||
asciinema rec first.cast
|
|
||||||
|
|
||||||
End your session:
|
|
||||||
|
|
||||||
exit
|
|
||||||
|
|
||||||
Now replay it with double speed:
|
|
||||||
|
|
||||||
asciinema play -s 2 first.cast
|
|
||||||
|
|
||||||
Or with normal speed but with idle time limited to 2 seconds:
|
|
||||||
|
|
||||||
asciinema play -i 2 first.cast
|
|
||||||
|
|
||||||
You can pass **-i 2** to **asciinema rec** as well, to set it permanently on a
|
|
||||||
recording. Idle time limiting makes the recordings much more interesting to
|
|
||||||
watch, try it.
|
|
||||||
|
|
||||||
If you want to watch and share it on the web, upload it:
|
|
||||||
|
|
||||||
asciinema upload first.cast
|
|
||||||
|
|
||||||
The above uploads it to <https://asciinema.org>, which is a
|
|
||||||
default asciinema-server (<https://github.com/asciinema/asciinema-server>)
|
|
||||||
instance, and prints a secret link you can use to watch your recording in a web
|
|
||||||
browser.
|
|
||||||
|
|
||||||
You can record and upload in one step by omitting the filename:
|
|
||||||
|
|
||||||
asciinema rec
|
|
||||||
|
|
||||||
You'll be asked to confirm the upload when the recording is done, so nothing is
|
|
||||||
sent anywhere without your consent.
|
|
||||||
|
|
||||||
|
|
||||||
Tricks
|
|
||||||
------
|
|
||||||
|
|
||||||
Record slowly, play faster:
|
|
||||||
|
|
||||||
: First record a session where you can take your time to type slowly what you want
|
|
||||||
to show in the recording:
|
|
||||||
|
|
||||||
asciinema rec initial.cast
|
|
||||||
|
|
||||||
Then record the replay of 'initial.cast' as 'final.cast', but with five times the
|
|
||||||
initially recorded speed, with all pauses capped to two seconds and with a title
|
|
||||||
set as "My fancy title"::
|
|
||||||
|
|
||||||
asciinema rec -c "asciinema play -s 5 -i 2 initial.cast" -t "My fancy title" final.cast
|
|
||||||
|
|
||||||
Play from *`stdin`*:
|
|
||||||
|
|
||||||
:
|
|
||||||
|
|
||||||
cat /path/to/asciicast.json | asciinema play -
|
|
||||||
|
|
||||||
Play file from remote host accessible with SSH:
|
|
||||||
|
|
||||||
:
|
|
||||||
|
|
||||||
ssh user@host cat /path/to/asciicat.json | asciinema play -
|
|
||||||
|
|
||||||
|
|
||||||
ENVIRONMENT
|
|
||||||
===========
|
|
||||||
|
|
||||||
**ASCIINEMA_API_URL**
|
|
||||||
|
|
||||||
: This variable allows overriding asciinema-server URL (which defaults to
|
|
||||||
https://asciinema.org) in case you're running your own asciinema-server instance.
|
|
||||||
|
|
||||||
**ASCIINEMA_CONFIG_HOME**
|
|
||||||
|
|
||||||
: This variable allows overriding config directory location. Default location
|
|
||||||
is $XDG\_CONFIG\_HOME/asciinema (when $XDG\_CONFIG\_HOME is set)
|
|
||||||
or $HOME/.config/asciinema.
|
|
||||||
|
|
||||||
|
|
||||||
BUGS
|
|
||||||
====
|
|
||||||
|
|
||||||
See GitHub Issues: <https://github.com/asciinema/asciinema/issues>
|
|
||||||
|
|
||||||
|
|
||||||
MORE RESOURCES
|
|
||||||
===============
|
|
||||||
|
|
||||||
More documentation is available on the asciicast.org website and its GitHub wiki:
|
|
||||||
|
|
||||||
* Web: [asciinema.org/docs/](https://asciinema.org/docs/)
|
|
||||||
* Wiki: [github.com/asciinema/asciinema/wiki](https://github.com/asciinema/asciinema/wiki)
|
|
||||||
* IRC: [Channel on Libera.Chat](https://web.libera.chat/gamja/#asciinema)
|
|
||||||
* Twitter: [@asciinema](https://twitter.com/asciinema)
|
|
||||||
|
|
||||||
|
|
||||||
AUTHORS
|
|
||||||
=======
|
|
||||||
|
|
||||||
asciinema's lead developer is Marcin Kulik.
|
|
||||||
|
|
||||||
For a list of all contributors look here: <https://github.com/asciinema/asciinema/contributors>
|
|
||||||
|
|
||||||
This Manual Page was written by Marcin Kulik with help from Kurt Pfeifle.
|
|
||||||
Reference in New Issue
Block a user