Thursday, June 26, 2008

XO Post Upgrade

When you run olpc-update to upgrade the software on your XO laptop, you lose some of your customizations (which I just did). Here's what I've customized so I have a quick reference to get it all back next time.

Set the timezone:

su
sugar-control-panel -s timezone 'America/Los_Angeles'

Set a root password:

su -l
passwd

This allows me to ssh to the XO (as root, I know, I know) which at least allows me to use my nice desktop keyboard and monitor to do most of the rest. I tried setting the user account password instead once, but it seems like Sugar wouldn't start after that. This page seems to indicate that you should be able to do that (now?) though. I'll have to try it again.

Set up quake terminal (scroll down the page a bit). I keep a copy of the quake_terminal.txt file in my home directory on the laptop. To set it up I just do this:

su -l
cp /home/olpc/quake_terminal.py /usr/share/sugar/shell/view/quake.py

Then apply this patch to /usr/share/sugar/shell/view/keyhandler.py:

--- keyhandler.py.beforequaketerm 2008-06-25 07:26:44.000000000 -0700
+++ keyhandler.py 2008-06-25 07:26:04.000000000 -0700
@@ -22,6 +22,8 @@ import subprocess
 import dbus
 import gtk
 
+import quake
+
 from hardware import hardwaremanager
 from model.shellmodel import ShellModel
 from sugar._sugarext import KeyGrabber
@@ -32,6 +34,7 @@ _BRIGHTNESS_MAX = 15
 _VOLUME_MAX = 100
 
 _actions_table = {
+    'Down'     : 'quake_term',
     'F1'             : 'zoom_mesh',
     'F2'             : 'zoom_friends',
     'F3'             : 'zoom_home',
@@ -87,6 +90,10 @@ class KeyHandler(object):
         for key in _actions_table.keys():
             self._key_grabber.grab(key)            
 
+    def handle_quake_term(self):
+        quake_term = quake.get_quake()
+        quake_term.toggle_visible()
+
     def _change_volume(self, step=None, value=None):
         hw_manager = hardwaremanager.get_manager()

Except diff and patch aren't installed on the XO by default. You can yum install patch as root to get patch. I haven't tracked down which rpm supplies diff yet, actually.

You probably don't have to restore mplayer if you install it according to these instructions.

A nice open source eBook reader is FBReader. Here's how to install an olpc version of FBReader:

wget http://imagic.weizmann.ac.il/~dov/olpc/fbreader-0.8.15-1.dov.i386.rpm
su
rpm -Uvh fbreader-0.8.15-1.dov.i386.rpm

I have to have my emacs on my XO:

su
yum install emacs

I've decided that Firefox is my favorite browser on the XO. To install, edit /etc/yum.repos.d/olpc-koji-update1.repo and remove firefox from the exclude= list. Then

yum install firefox

Or, you could try firefox 3. It seems like it'd be really nice since it uses less memory. I just installed it for the first time on the XO and I'll report back how it works. To install it download the Linux version from Mozilla and uncompress it in your /home/olpc directory like so:

tar -jxvf firefox-3.0.tar.bz2

Then run it from the command-line like this:

firefox/firefox &

It will take a loooong time to start. Accept the licence agreement and wait a bit more. Then you have some huge icons and fonts staring back at you. Type about:config in the address bar and hit tab a few times and then enter to get past the warning. Adjust the layout.css.dpi setting to be 134. I got that from this forum post. So far it seems pretty good. With Firefox 2 gmail was completely unusable except in basic HTML mode and with Firefox 3 it's almost doable when it's in its default javascripty mode.

And that's really all I've had to customize on this thing. Maybe someday I'll try Ubuntu or Debian on it, but so far the modified fedora 7 and Sugar work fine. Linux is Linux.

UPDATE: I forgot two things: flash and java (just follow the instructions on the wiki). Oh, and Firefox 3 is still working great.

MORE UPDATES: OK, with firefox 3, you can't just follow the instructions on the wiki for flash and java. You also have to do this (assuming you simply untarred firefox-3.0.tar.bz2 in your home directory like I directed above):

cd /home/olpc/firefox/plugins
ln -s /usr/lib/flash-plugin/libflashplayer.so
ln -s /usr/java/jre1.5.0_13/plugin/i386/ns7/libjavaplugin_oji.so

The version numbers might change for java, but otherwise, that's how you get the plugins to be found by firefox 3.

No comments: