Monday, May 01, 2006

My mum is using Linux!!!














My family is Chinese, and as my mum is the earlier generation in this region(Singapore/Malaysia to be specific), she is hardly English literate. Not least computer literate. But she does have one motivation to use the computer, that is to talk to my sister over skype. She is in M'sia & my sister & I are in Singapore. That is 530km away or a good 6 hours of drive at 110km/h.

So she was compelled to use a computer that I put up at her home running 24/7 and doubling up as some sort of a server. I have recently converted her windows pc to a Fedora Core 4. Few problems encountered were as follow:

1. Running Azureus with the correct java version. This is fixed by installing Sun's java & removing
the version of java that came with FC4.
2. Configuring VNC server for my remote access. Remote Desktop is built-into FC4 & what I needed
to set it up are:
a. Setting a password in Remote Desktop & disabling 'confirmation by user'.
b. Enabling VNC server in 'services'.
c. Adding 5900:tcp to selinux's firewall rules.
d. Getting ddclient to update the dynamic ip assigned by my isp to dyndns.org.

ddclient was also available from yum install, but I couldn't get it working right after few trials with the settings in the /etc/ddclient/conf. Eventually, found the dynamic dns updating feature in my netgear WGT624 router. And so ddclient is no longer needed & all I have to do is get the router to update it's ip to dyndns.org.

And so, now, my mum is learning to get used to the new interface of FC4 & using skype in Linux.

Also, it turns out that, when I do a VNC to that pc in M'sia from Singapore, FC4's vnc server is much more responsive than vnc server in windows. And that pc needed atleast 768MB+ to run without lag in windows. Now, it runs even smoother in FC4, with the same sets of softwares in both OSs.

With the last few glitches in FC5 I resolved today, soon I will be converting her pc to FC5, when I have the next chance to go back to her home in Malaysia.

Switching to Fedora Core 5.

Switching from Fedora Core 4 to Fedora Core 5 turns out to be not as straight forward as I have expected it to be.

On first installation, here are the few glitches that I didn't managed to resolve within the first couple of weeks. And it does look silly what I didn't do right previously, now that I found the fixes or solutions. Here are some of them:

1. The previous way of mounting FAT32 partitions for read/write access in Fedora Core 4 no longer work. After weeks of trial & error. Here is how it finally worked my case(not exactly sure what I did right this time, but it sure works):

/dev/hda1 /home/coyote/cdrive vfat rw,nouser,auto,uid=500,gid=500,umask=0000 0 0
/dev/hda5 /home/coyote/ddrive vfat rw,nouser,auto,uid=500,gid=500,umask=0000 0 0
/dev/hda6 /home/coyote/edrive vfat rw,nouser,auto,uid=500,gid=500,umask=0000 0 0

2. FC4 used to remember my desktop on every shutdown & now it no longer does in FC5. It took me weeks to figure out that, actually the options are present in 'System.Preferences.More Prefrences.Sessions'. Just enable saving of current session & also, add Azureus to the list of startup programs. Now, it will automatically starts Azureus, Gaim & Skype when the system bootsup.

3. The most teething problem it seemed, is getting ICA Client 9 to work with FC5. I need this to connect to my office network to do my work from home. Apparently ICA Client 9 needs libXm.so.3 while FC5 uses libXm.so.4. I have downloaded the following 'stud rpm' that make a symbolic link libXm.so.3 to libXm.so.4. That allows ICA client 9 to proceed & complete installation in FC5.

http://co-lo.night-shade.org.uk/packages/fedora/5/i386/libXm3-stub-1-0.i386.rpm

I have also downloaded the following 'stud rpm' that supposed sets the selinux context on all the ICA Clients libs, according to

http://support.citrix.com/forums/thread.jspa?forumID=16&threadID=74837

http://co-lo.night-shade.org.uk/packages/fedora/5/i386/ICAClient-selinuxfix-1-0.i386.rpm

Apparently, it still won't work for my case, until I set selinux enforcing = disable. Hopefully, this will be fixed in future releases of ICA Client.

4. Last but not least, FC5 allows the coexistence of multiple java platform by switching between them. It is unfortunate that Sun's java is not the defacto java that came with FC5 as it's not open source. And yet, most java applications like Azureus works well with Sun's Java. Following Stanon-Finley's guide for FC5 at

http://stanton-finley.net/fedora_core_5_installation_notes.html#Java

Here is what needed to enabled Sun's java support in FC5:

Downloading jre from Sun & do

chmod a+x on the *-rpm.bin

./*-rpm.bin

will install java the usual way.

Linking of java's plugin for Firefox 1.5.0.2 is done the usual ways as follow:

ln -s /usr/java/jre1.5.0_06/plugin/i386/ns7/libjavaplugin_oji.so
/usr/lib/firefox-1.5.0.2/plugins/libjavaplugin_oji.so

To enable switching between java different java plotforms, do the followings:

vi /etc/profile.d/java.sh

and add th following two lines into java.sh

export J2RE_HOME=/usr/java/jre1.5.0_06
export PATH=$J2RE_HOME/bin;$PATH

be sure to enter a carriage return after these lines.

Enter at terminal

source /etc/profile.d/java.sh

which java

The output should read

/usr/java/jre1.5.0_06/bin/java

Enter at termianl

/usr/sbin/alternatives --install /usr/bin/java java /usr/java/jre1.5.0_06/bin/java 2

/usr/sbin/altermatoves --config java

The output should read


There are 2 programs which provide 'java'.

Selection Command
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 2 /usr/java/jre1.5.0_06/bin/java

Enter to keep the current selection[+], or type selection number:
Select 2

to verify the current java platform selected, do

/usr/sbin/alternatives --display java

The output should reads:

java - status is manual.
link currently points to /opt/jre1.5.0_06/bin/java
/usr/lib/jvm/jre-1.4.2-gcj/bin/java - priority 1420
slave rmiregistry: /usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry
slave jre_exports: /usr/lib/jvm-exports/jre-1.4.2-gcj
slave jre: /usr/lib/jvm/jre-1.4.2-gcj
/opt/jre1.5.0_06/bin/java - priority 2
slave rmiregistry: (null)
slave jre_exports: (null)
slave jre: (null)
Current `best' version is /usr/lib/jvm/jre-1.4.2-gcj/bin/java.
Now, you are ready to use Sun's java for applications like Azureus.