Terminal recording software isn’t too friendly to content producers, I’ve found. But there’s a Node.js implementation of a terminal recorder called ttystudio that showed promise even if it had not been touched for two years. I didn’t have to deal with weird system dependencies and configuration depending on my distro. I just ran
npm i and went to town.
ttystudio was really cool but I wasn’t really agreeing with the whole idea of recording the terminal in real-time. I wanted to have time to think about what I was typing, and then have the output GIF not show any disk-space-hogging pauses related to my doubt, indecision or intermittent typing accuracy.
ttystudio’s GIF weighs in at 84 frames and 3805 bytes, against
toughtty’s 38 frames and 2980 bytes for the same session. Also, if I sat and spent 15 minutes typing that
echo command, the metrics for
toughtty’s GIF would not change, whereas
ttystudio’s GIF would have grown beyond a reasonable size for use on the web. The only difference is that
ttystudio captures frames over time, whereas
toughtty captures frames in response to changes.
Throwing out recording in real-time does come with a caveat; You can’t add a pause in your GIF by just sitting back and waiting a moment. Want pauses added automatically without real-time recording? Well,
toughtty. I added a
--padding option that lets the user add padding frames one, two or ten at a time to allow the viewer to review key content.
I eat my own dogfood, so you can see GIFs produced by
toughtty on my Aloe article. If you want to record your terminal sessions and save them as GIFs, check out the README in the
toughtty source for installation and usage instructions.
*(I can’t believe that name wasn’t taken!)