Thursday, July 15, 2010

noVNC: HTML5 VNC Client

I have been playing around with Chromium OS (Google Chrome OS). The only thing I can do with it is pretty much just browsing. So, I had to find a way to remote my desktop computer somehow. Mostly, I use VNC for remote desktop.
So, I have to be able to perform remote desktop via web browser (Chromium) using VNC protocol. Fortunately, there is noVNC, which requires python (for websocket) and flash. Excellent, those things are already available with my default Chromium OS.

Here is how I did it:

1. Download noVNC from here.

2. Extract that file:
$ tar zxvf kanaka-noVNC-xxx.tar.gz

3. Change to the directory created in step #2.

4. Now, you have to move *.html files and includes directory in the same locations as web.py (in util directory).

5. Run the websocket proxy with the proper arguments, in my case:
$ python wsproxy.py -f 5901 desktop_pc_ip:5900
# 5901 is the port that I will use for the web vnc client.
# 5900 is the VNC Server port running in the target computer.

6. Run the web server:
$ python web.py 8080 # 8080 is the web server port

7. Go to the (Chromium) browser and enter the following in the url:
"localhost:8080/vnc.html"

8. After the web vnc client appears in the browser, enter the following data:
host: 127.0.0.1
port: 5901 # check with the local port in step #5
password:
then click "connect" button, and everything should work fine.

Now, I can do some other stuff other than just browsing, with my Chromium OS.

Wednesday, July 14, 2010

Google Chrome OS

Yesterday, I decided to test Google Chrome OS on my Dell Mini 9. After looking here and there on the internet, I found a way to do it.

I am pretty much impressed with the boot time. It is so fast. Well, actually it is obvious. If you have any linux distro and remove all unnecessary modules, services, etc, you will get fast boot time. Or even if you build your own GNU-Linux OS, where you only select all needed elements, it will be really light weight and fast.

I took Chromium OS from here. Gunzipped that file and wrote that image file to my 4GB USB Flash, using dd. Something like the following:
$ sudo dd if=ChromiumOS_x86.img of=/dev/sdb bs=4M

Since I had no idea what the username and password were, I had to hack a bit by manually adding my username and password, via my existing Linux OS. So, no more issue with the user and password for logging in.

The good thing about that particular build of Chromium OS, it has support for Broadcom WLAN (mine is BCM4213). I just needed to run the following command:
$ sudo /etc/install_wl.sh

Go ahead and take a look inside that script. Pretty much just remount the partition to read/write, then add necessary broadcom module, and done.
After that, I had to restart the computer again.

After restart, there was a bit delay with the AP detection. I even had to go to the console (ctrl-alt-F2) and perform the following, just to be sure:
$ sudo iwlist wlan0 scan

This particular build requires internet connection even from the beginning, otherwise you can not do anything, and just stuck with the network connection screen (the very first screen it shows).

After entering proper network connection information and my google account, I ended up with the browser, Chromium of course, which already supports flash. Totally awesome for browsing.

So far I haven't seen, found any awesome stuff, other than the fast boot time. So, in my opinion, from what I experienced so far, this is only useful for those who have permanent (fast) internet connection and only use web for most of their activities. Nothing much you can play around from the OS (Linux) side either. It does not even have python installed.
I really hope for Google Chrome OS has more features in it, because otherwise, it will be just Linux kernel with X Server and Chromium Browser. Also, at least they shoudl have python installed in Google Chrome OS.

Before I ended this post, I would like to share my test on my wife's Lenovo Ideapad S10-2. I used the same usb flash to boot that laptop, and got also fast boot time, and wifi connection.
I read some reviews that for some (unsupported) hardware(s), user have extremely slow system. So, I am glad I have dell mini 9 and Lenovo Ideapad S10-2 which are working quite well with Chromium OS.

Monday, July 12, 2010

Restore a Screwed-Up Terminal

To restore a screwed-up terminal, for example after "cat" a binary file, use the following command in the shell:

$ reset

The above command will restore your terminal to default setting.