This is where Shelr comes in. To quote their about page "Shelr.tv allows you to record something interesting from your terminal and share it to your followers." This means you can upload a screen cast of your shell, and to add a dash of awesome, the uploaded video also allows for pause, rate changes in speed of playback and to be able to copy/paste from the video directly. Let me repeat that: Unlike a youtube video, or other screen sharing/casting program, you can copy/paste text of what happened in the shell demonstration when watching it later.
That's a pretty powerful video tool for teaching shell-fu. So let's get it installed on the demonstration instance (referred to here as demo server.) In Part 2 we set up a screen session that allowed multiple student connections to the teacher's demonstration. This is the place where we will install shelr to record our session for later use by students. Of course, you could install this on your local laptop/desktop and use it just the same. Instructions to install in linux (Ubuntu-specific as our demo server is Ubuntu) are pretty simple. Per the QuickStart section of the about page, add the repo/install the package of your distro and issue the following commands:
aptitude install ruby rubygems gem install shelr
Now when you want to record the shell session, you issue the command:
You will be asked to provide a title for your record and you're off to the races. Once finished an exit command or a control-d stops the recording and you can push that record up to the hosting with shelr, play it locally or dump the session as a json. Here's the help output of the shelr command:
Usage: shelr command [arg] COMMANDS: Recording: record - record new shellcast Publishing: push last - publish last record push last --private - publish private record push RECORD_ID - publish record with given id Getting record as json: dump last - dump last record as json to current dir dump RECORD_ID - dump any record as json to current dir Replaying: list - print list of records play last - play last local record play RECORD_ID - play local record play RECORD_URL - play remote record play dump.json - play local file dumped with `shelr dump` Setup: setup API_KEY [API_URL] - set your API key and API site backend [ttyrec|script] - setup recorder backend Visit: http://shelr.tv/ for more info.
You can sign in to shellr.tv with your Github, Google, Twitter or OpenID account and receive an API key to publish to their host with. Before uploading, you'll want to issue the following command with that key:
shelr setup <API_KEY>In the next installment, I will put all of the previous parts of this series together and demonstrate how to create a customized EMI in Eucalyptus to be launched on demand that will provide not only the host for the screen demonstration, but the IRC service (including MeetBot) and shelr capabilities as well.