Enterprise Software

Record and share your terminal session with shelr.tv

Jack Wallen stumbles across an incredibly handy command line tool for recording your command-fu. If you're looking for interesting ways to train users on the Linux (or Mac) command line -- shelr is the tool for you!

I don't usually take up precious open source space here for anything other than my usual rantings and ravings. But recently I came across something so cool, I had to share it. This ultimate in coolness is shelr.tv. Essentially, this is the "Youtube" for the command line. In other words, you can show off your command line Kung Fu by recording what you're doing on the Linux terminal and uploading that recording to your account. All of this is done from the command line (of course), so no GUI applications needed.

But why is this so cool (and/or useful)? Simple -- imagine being able to record a training video from the command line and sending it to your peers, co-workers, or friends by simply issuing a few extra commands. It's not often you hear of command line training tools, but here it is. Or... you just want to show off a little command line magic on a site you know other command line artists will be viewing.

If you're curious, here's a sample test I created for TechRepublic-verse to enjoy.

Now, how do you accomplish this feat? Here are the install instructions for Ubuntu, Arch Linux, Gentoo, and OS X. I want to show you some more detailed instructions to install shelr on Linux Mint 12.

Step One: Install the necessary dependencies

There's really only one major dependency (which in and of itself has some dependencies). This dependency is rubygems. To install this piece of software, issue the following command:

sudo aptitude install rubygems

Now we'll install shelr using the gem command like so:

sudo gem install shelr

You are now ready to begin. But before you record that first proof of your command-fu, you should create an account on shelr.tv. It's free and you can even authenticate to shelr with your twitter account. Once you've done that, you will see a command on your account home page that looks like this

shelr setup 266aa53f0b4ede8ceedf3131b983456089

That string of characters associates your installed shelr tool with your account. Run the command (the one on your account page -- not the above command) and you are ready to start recording and sharing.

How to record and share

This is the easy part (as if any of it was difficult).

  1. Open up a terminal window
  2. Issue the command shelr record
  3. Give your recording a title and hit Enter
  4. Start showing off your command line fu
  5. When you're finished recording, hit Ctrl-d
  6. Once the command prompt is returned, issue the command 'shelr play last' (no quotes) to view your last recording
  7. To upload the last recording to your account, issue the command shelr push last

Now you can go to your account and click on the title of the recording to view it. You can share the link and even get embed code for various sites.

I love it when I find incredibly helpful tools like shelr. Not only does it help me help others, it offers yet another glimpse into a community of people with an incredible talent for making thing work for them in ways others have yet to imagine.

That's open source for ya, folks!


Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.


how one might install on CentOS 5.8? Could use the tool ... especially if viewers can copy and paste commands from the 'video' window into their terminal session! ;) Save a ton of long EMails! Thanks, in advance!


That is really good stuff. I plan to use with my students in my computational physics course (based on linux) at my University in Brazil. Thank you very much Jack!


Jack, shelr sounds awesome. It's super nice that they have streamlined the process of uploading the screencast and then making it available for someone to watch via a web link. On the other hand, if you didn't want to create an account you can achieve something similar with scriptreplay. I wrote a tutorial up on it a while back at http://dustymabe.com/2012/01/11/create-a-screencast-of-a-terminal-session-using-scriptreplay/ I also did a follow up at http://dustymabe.com/2012/04/15/terminal-screencast-revisit-log-output-from-a-multiplexed-terminal/ scriptreplay and script are most likely already on your linux box so give them a whirl and let me know what you think.. Dusty

Antono Vasiljev
Antono Vasiljev

Hello, Dusty. Really shelr uses script or ttyrec internally. You could ask why so. First 'script' is broken on BSD and OSX. So we use ttyrec there for recording. However all records converted to typescript format and replayed by shelr. Shelr also ships own scriptreplay implementation (koz it missing on BSD and OSX). scriptreplay is really easy (less than 10 lines in ruby) so we decided to reimplement it. Also, you can record and share terminal with `shelr` without account and even beside shelr.tv site. Just shelr dump RECORD_ID and send it by email.


Antono, Thanks for the insight.. I didn't know about ttyrec or that you could use shelr without an account. All these tools are useful for sharing.. Thanks again! Dusty

Editor's Picks