Saturday, September 10, 2011

Running Skype on ChromeOs Notebook

Background
This provides a detailed tutorial level instructions for installing and running the most recent version of Skype on ChromeOs notebook. It has been tested and verified on the cr-48 ChromeOs notebook, but is expected to work equally well on all ChromeOs notebooks.

The ChromeOs notebooks provides unprecedented levels of security. Normally, most third party applications and utilities, if not specifically written as a ChromeOs applications, cannot be installed on this platform. However, it provides an option called Development Mode, which allows access to the underlying *nix shell. To install Skype, you need Development Mode settings. How to do this is described here

Developer information for chrome os devices.

Please read all the cautions there. While this may reduce the security a bit, many developers and users have been routinely running in this mode, to add minor utilities and features to the os.

Where to install Skype
Most all published articles on any external utility install describe using the normal internal directories, where the native *nix related modules are residing. The fundamental idea behind the ChromeOs security is using two partitions. One is for the execute-ables but that one is not writable. The other one is writable, but cannot be executed from. In order to install into this area, one needs to 'open up' the system, which I believe reduces the inherent security much more than is necessary, compared to the method described below.

In this method, the skype programs are installed into an sdcard, or usb stick, without changing the protection settings of the internal partitions. This also does not image partition in anyway. By simply removing the sdcard, the ChromeOs notebook can be made as it was originally. Since the size of the skype modules to be installed is <40MB, practically any size sdcard can be used.

Install steps
You can install the skype modules into the sdcard, while it is plugged into another computer, and then plugging the card into the cr-48, or you can install into the card, while on the cr-48. I followed the latter method.

1. If your notebook is not already in the Development Mode, get into that mode using the procedure described in the website above.

2. Download the static build of the latest skype (2.2 Beta when this was tested here) linux binary from the Skype site

Download Skype 2.2 Beta for Linux

At the download arrow, be sure to select the static.

The file would normally be in the Downloads folder on cr-48.

3. Get to the chronos shell of cr-48
ctl-alt-t
chronos

4A. Find out where your sdcard is, somewhere such as, /media/removable/long-string-id-name-of-your-card
cd to that direcory

move the downloaded module to this directory

4B. Remount sdcard or usb, executable, suid,
mount -o remount,exec,suid /media/removable/long-string-id-name

5. Extract all the files
tar jxvf skype_static-2.2.0.35.tar.bz2 (the last being the name of the downloaded module)

6. Get into new expanded directory
cd skype_static-2.2.0.35

7. Create 2 new directories here
mkdir Logs
mkdir .Skype

That completes the installation.

8. Now you can start skype by typing
echo YourSkypeId YourPassword | ./skype --pipelogin --dpath=./.Skype

Of course, you can make an alias, or a .sh file with the above line, to make starting easier every time.

The first start might give an error. Start again. I see this error after every reboot of cr-48, when skype is run the first time.

Of course, it will take some time for skype to import your address books and settings to this new install. Some tabs will open, and user interface is minimal but functional. Search for a contact or adding a new skype contact does not appear to work here.

Please post comments here. If I made a typo in making the commands or instructions here, please point out. This Blog is made after my successful install; I have not tested the steps as here, after writing this.

I will be interested if any steps to be made clearer, and your experience in trying this from your posts here.

Chacko