Archive for the ‘Linux’ Category

SCIM - Installing Wijesekara Sinhala Input in Ubuntu Edgy

Monday, February 26th, 2007

Guys at the LKLUG has done a great job regarding the sinhala support for linux. Not only they designed a new open source font, they have also coded the rendering engine and an input method. To enable sinhala support just follow the guidelines in http://sinhala.linux.lk/.

However, the default input method is a phonetic based one which is really good if you have no experience in sinhala typing. But since I’m pretty much familiar with the wijesekara keyboard, I wanted to go for it. The SCIM itself doesn’t have a wijesekara input driver. First thing I had to do was installing m17n. I just apt-get the package and it worked. Then, I re logged into linux, there were plenty of languages in SCIM. So, I choose m17n-si-wijesekara. It’s fine but there were quite a lot of errors. So, I downloaded the development version of the keyboard from http://cvs.m17n.org/viewc…..b/si-wijesekera-preedit.mim. Then I copied that file to /usr/share/m17n/ and restarting the Xorg got me the nice wijesekara keyboard.

Here are some screenshots :

Chat with Nuwan

Chat with Chathu.. lol..

Another eye candy gadget to my linux box - Installing Cairo-Dock/Gnome-Dock in Ubuntu Edgy 6.10

Wednesday, February 21st, 2007

After install all those eye candy stuff, beryl, gdesklets and everything else, it looked quite nice. Amazingly, there weren’t any memory killers or frequent crashing apps. However, there is no doubt that apple Mac OS was/is the best eye candy OS ever. I don’t have to tell you that one of the most appealing applets is the icon doc at the bottom of the screen. So, since lot of people have their eyes on this, those are ported to many platforms (rather recoded not ported).

Now, It’s time for me to go for something instead of modeling the gnome panel itself. cairo-dock, it’s my choice. Installing cairo-dock quite easy if you have all the development libraries. There is no need for me to explain all the steps there - Just follow this link : http://ubuntuforums.org/showthread.php?t=302570. He has explained it step by step. The installation/compilation will go smoothly.

However even after you compiled the application, unfortunately there will be some errors. The first one is icons. Probably, what you’ll get will be some blank icons. The SVG files inside the tar ball doesn’t show up correctly. You might be already knowing that SVG files are text files. So, what you have to do is open the icons in ‘vi’ or ‘gedit’ or whatever, then just look at the source of the image. Most probably around the bottom of the file, there will be a link to a PNG file. Actually there will be two links linking to the same file. Just change the link to a valid path for a PNG image. Then you are ready to go.Recompile the application, then just run it. Then with any luck you’ll see the icons ;-)

Ah! I forgot to tell you about changing the icons/launchers. You have to change the g_aIcons array. It’s at the beginning of the file. The first parameter is the image, then the Text displayed, and finally the command. Make the display text as short as possible, otherwise those will overlap with each other and it’ll look kinda fuzzy or more to the point ugly.

After all things you have a working cairo-dock. Then the next step is to add it to the startup. I used the gnome session control panel, but however since I’m also loading beryl at the startup, cairo-dock used to crash. So, I removed this from the startup, and changed the beryl loading script(Look at my beryl installation post). So, the final script looks like this.


#!/bin/sh
beryl-manager
sleep 7
beryl&
sleep 7
/media/sda5/Software/cairo/cairo-dock/start-cairo-dock.sh

Now try restarting the Xorg, it’ll work like a pro. Even, it works as it should be, there are few problems regarding this. I usually use Alt + F4 to quit applications. So, when I keep quiting applications, if I pressed one more additional Alt + F4, damn… the cairo-dock will get closed and also if you pressed the “Show Desktop” button the cairo-dock will get minimized.

So, what do we do now? Don’t worry I have a small(small as in very small) hack to get rid of that problem. Open cairo-dock.c in vi(or whatever). Search for “gtk_window_new”(There is only one instance. It’ll be around the line 1180-1190). Change the second parameter of the function to “GTK_WINDOW_POPUP”. So, the line should look like this :


pWindow = gtk_window_new (GTK_WINDOW_POPUP);

Then, recompile the code and restart the dock. And finally you have another cool gadget to impress the people :D.

New ALSA Drivers(1.0.14rc2) for Intel-HDA

Thursday, February 15th, 2007

When I installed linux on my laptop, sound card worked satisfactorily(when compared with most of my friends’ laptops) at the first try. However, compared with windows, the sound volume is very low, and the internal mic is not working.

So, today I downloaded ALSA drivers(1.0.14rc2), compiled and installed. Wow! not only the mic is working, but also the volume level is damn good. Except just compiling and installing drivers I had to append ‘options snd-hda-intel model=laptop’ line to /etc/modprobe.d/alsa-base. Then restarting the computer solved all problems with sound.

Enhance Apt-Get downloading using an external download accelerator(axel/prozilla/aget)

Wednesday, February 14th, 2007

The Apt-Get in debian systems use their own downloading system to download packages from the internet. It supports file resuming and pipelining. However, it doesn’t support downloading using multiple threads, and it won’t allow you to external applications to download.

However, the http downloader is a separate application(/usr/lib/apt/methods/http) from apt-get, and the apt-get spawns the executable to download the files. Those two programs communicate via stdin and stdout. I have written a new downloading application which can communicate with the apt-get. So, I just copied the executable to /usr/lib/apt/methods/http. The new application spawns another program(In my case a shell script) with two arguments; the url and the local file.

So, after all my shell script calls a python script. My program doesn’t call the python script directly because when the python scripts gives some output to stdout/stderr the apt-get program crashes. So, my shell script redirects the all output to /dev/null. Then, the python script will get the url, do a HEAD request, get the file size. If the file size is less than 100K, it’ll execute wget, if not it’ll execute axel. So, the files will get downloaded and apt-get will install the software.

The apt-get update command fetches many small files from the same server. Since the original downloader uses pipelining, it’s much faster. I have to modify my code to do something about pipelining.

Files :

scripts.tar.gz

apt.tar.gz

Get things working under beryl

Thursday, February 8th, 2007

Beryl is working, nice interface, another way to impress people who are saying/thinking that linux is only a black terminal(small white letters in a black screen in their words). But a small problem, some of the useful programs are not working properly.

VLC - The videos are not played properly. Change your video output redering from Default to X11 Video output. oh! You have to enable Advanced options.

Window Focusing - One annoying thing about beryl was when i started a new application/window, it didn’t get focus. In the beryl settings, General settings change the focus mode to ‘none’.

Netbeans 5.5 - Disable beryl just for now ;-). Haven’t tried anything yet.

AiGLX, XGL and Beryl

Wednesday, February 7th, 2007

The eye candy Linux desktops, of course way better than windows. I have seen many you tube clips on both compiz and beryl working, do I have to tell you.. those are awsome. So, however inspired by those I decided to give it a try(It was several months ago).

My Linux distribution was ubuntu 6.06. First I installed XGL and change the gdm.conf-custom file to load the XGL with gdm. Then I installed compiz. Nothing to bother at all, only few simple apt-gets and just two or three lines of config files, I have compiz running with XGL. However, since my graphic card is Intel 945GM, I’m using i915(i810) drivers. XGL is bit slow with that. However, this worked nicely without any bugs.

Then, the next thing any person would do is try to optimiz compiz, so you can get a better speed. But how? “Using Google”. Most of the sites said that the best option for my graphics card is AiGLX and Beryl. So, I installed AiGLX first, then beryl. For some reason it didn’t work and more annoyingly my sound card went out. Everytime I start the GDM with AiGLX, it crashes. So, I decided to uninstall that. Oppsss… a small problem. I can’t find the AiGLX package. Oppsss.. a big problem, AiGLX is inside the core of Xorg, it’s not a seperate module as XGL. Now, what do I do? Either I have to reinstall Xorg from the old repositories or disable AiGLX. So, I disabled AiGLX and activated XGL again. Damn.. XGL is not working either now. So, what else? I disabled the both turned back to the old ubuntu human theme.

After all those sort of stuffs, very recently(about three days ago) I formated the old ubuntu 6.06 and installed 6.10. Then I decided to give it a try again. Since, I have some bad experience with AiGLX, I tried to run Beryl with XGL. So, I installed XGL. Installed Beryl. This time, I created a seperate session for XGL, and created a small script ‘/usr/local/bin/startberyl.sh’. The content is :
#!/bin/bash
beryl-manager
sleep 5
beryl

This is not the normal procedure. I just did that on my own to get things easier. So, I logged out, then logged into the XGL session. Then went to the terminal and typed ’startberyl.sh’ and wow finally Beryl is running under XGL. However, It doesn’t sloved my problem completely. It’s still slow. However, I didn’t want to install AiGLX again, I have to statisfy with what I have. I put the script as a startup program. After working few minutes, I restarted the computer. When I rebooted the computer, wow…. It’s working really smoothly. I can’t believe XGL is running this fast. Then, I realized the secret. I forgot to set the XGL as the default session, so what I have done is booted the default gnome session, but how does the beryl is working? It needs either XGL or AiGLX. oh! Ubuntu edgy comes with AiGLX built-in support. wow!! it’s cool. Everything is working perfectly now. Beryl with AiGLX - After all It’s just matter of installing beryl and emerald-themes(for a ubuntu(6.10) edgy user).

Downloading DVD iso

Wednesday, January 31st, 2007

Yesterday, I tried to download debian DVD images from their site. One image is about 4 GB which is bigger than 2^32 bytes. So, here is the problem; since all the download accelerators use 32 bit integers for the file size, it doesnt work at all. I tried prozilla and axel. Then I also tried to wget the file into my server, split it and download the files. Wget doesn’t work either.

I sent an email to LKLUG and one of them suggested to use jigdo. But It takes hell of a lot of time to download it file by file. The other solution is to use bittorrent, but I have port limitation problems. So, the only solution left is to download and modify the source code of an accelerator. I downloaded the axel code, but It’s seems bit messy to change it. So, I decided to code my own one to download it. It’s time to start coding again.

wget hack

Tuesday, December 19th, 2006

Today, I recursively downloaded a web site to my web server using wget, and for some reason it didn’t work well. Some of the immediate files are missing. After running through the original site source, I realized that it’s about the files inside the style sheets. So, I made some quick modifications to the wget source.

It’s just a hack to get my download working, however it will also work on some other sites as well(I hope ;-)). errr…. Sorry about the quality of code.

Unfortunately, I lost the original source code(I have no intention to download it again using my dialup; ah! I forgot to tell you, I’m enjoying the vacation at home; Ratnapura), so I can’t create patch files. wget version is 1.10.1. Download recur.c and html-url.c.