Home Linux Community Community Blogs

Community Blogs

Making my own Desktop Manager: A Little Motivation

Realising what I've got myself in for, I'd thought I'd inspire myself with a couple of quick wins...

Firstly I got my ATI graphics card configured so I could start using it for some cool graphics.

I then created an account called 'wmtest' for use of testing my wm (genuis naming convention I know!) and configured it to load (i) xcompmgr, (ii) a program which will eventually become my Window Manager, and (iii) an xterm console which X will wait for until it shuts down.

For now, I decided my WM should be C based & use Cairo for my graphics. I drew a gradient-panel-window, stretched across the top of the screen. This will eventually become my status bar for my manager. 

150 lines later and when I logon as wmtest, I get a rather groovy page like this:

Another quick-win would be to use transset to make the windows slightly opaque and feh to set a background image.

$ transset 0.5

Then I clicked my the panel.

$ transset 0.2

Then I clicked on the terminal. 

$ feh --bg-center /path/to/wallpapers/arch-elegant.png 


Not bad for 150 lines of code! The transset steps will be replaced by xlib code which sets the _NET_WM_WINDOW_OPACIT Atom.

Now I've done that, it doesn't feel like such a big mountain anymore.. I'm ready for some more coding I think! :D

I've also created a photo gallery to showcase my development at various stages. It can be found here.

Also... I need a really awesome name for my wm.. I'm open to suggestions (and yes I know awesome is already taken!!!)



SSH as an alternative to VPN

I wanted to have access to my work PC (Windows XP) from my laptop at home(openSUSE) I had access to a VPN server, but connections were not always reliable. Hence I looked out for alternatives and found this method from some blog posts. I have been working with this setup for a long time and its been 100% reliable than the VPN method that I used before. The method is simple, secure and uses SSH to setup a tunnel between the local and remote machines

The basic requirements are

  • An account on an SSH server (or you could setup one on your work PC)
  • Work PC is a Windows machine with remote desktop enabled.
  • Both machines are on the same network and have static IP addresses

On my openSUSE laptop, I use the following command

ssh -C -L 3389:workpc:3389 vimal@ssh-server

#substitute workpc and ssh-server for IP addresses if they are not in /etc/hosts

After logging in with my password, I use krdc and connect to an remote desktop session(rdp) using localhost:3389 for server and port. After reviewing the keyboard and display settings, I can logon to my work PC. Its that simple.

To avoid typing the ssh command everytime, I created a script called connectwork in my bin directory and made it executable with

chmod u+x ~/bin/connectwork

Now I just need to call connectwork everytime I wish to connect and login to my work computer.

ssh -C -L 3389:workpc:3389 vimal@ssh-server


En quete de solutions...

Aventure dans le merveilleux monde de la virtualisation!

J'avais un probleme a resoudre.. 

Mon PVR prend de l'age et n'a que 60Go de capacite ce qui fais que je suis constamment en train de faire le menage du disque dur du PVR.  Comme nous somme en fin d'annee scolaire et que le temp passez devant le televiseur empietais de plus en plus sur le temp necessaire au etudes de mes deux filles, j'ai passez une entente avec elles.  J'allais enregistrer la totalite de leurs emission favorites qu'elle allaient pouvoir regarder plus tard.

J'ai donc fais l'acquisition  d'un bidule de capture video analog USB Trident Tv-Box dans le buts de me concocte un PVR logiciel a base de Linux de type mythTV ou qqchose de ce genre.  J'ai rapidement fait deux constats:

 1 - Le bidule ne fonctionne finalement que en USB 2.0

 2 - Il n'y a aucun pilote de disponible pour Linux ou BSD pour le machin



My Thumb Drive Toolbox

A very handy thing to have when running around solving issues on your friends' or relatives' corrupted MS Windows installations is a thumb drive with bootable installation of SLAX Linux on it. I never leave home without mine. 

It's also great to have if you're stuck with only MS Windows at the workplace. You can boot SLAX into RAM on your work computer and get a blazing fast Linux fix while at work.Check with your IT boss before doing that, though... just in case.


There is so much you can do with SLAX on that sick Windows system. You can debug. You can access the Internet for information. You can access and backup important data to CD/DVD from an unbootable Windows system. The list of useful things you can do goes on...

Just to be fair, while SLAX is my favorite "pocket" distro for this usage, Puppy Linux works equally well for this purpose. Flash drives are so cheap nowadays, get both and play around with them.


SLAX Linux Homepage -->

Puppy Linux Homepage -->


Here's a brief how-to for getting SLAX on your thumb drive:

1) Most thumb drives will come out-of-the-box already partitioned and formatted with the FAT16 file system (required by SLAX). If yours isn't already formatted or if it's an older one that you want to wipe first, you can use the excellent application Parted from the command line. If you're uncomfortable with the command line, you can use Gparted, which is included in most Gnome-based distros.

 # parted /dev/(your device - sd*)

It is IMPORTANT that you tell the parted application which device you want to work with. WARNING: if you forget this step, parted may choose your 1st hard drive to work on. That would be UGLY. Pay attention when using apps like this as root.

Once you've entered the above command, the parted dialog will begin:


You can type "help" at this point and parted will give you a brief synopsis of its command structure and usage.You can see the entire parted user's manual at this site -->

(parted) mkpartfs primary fat16 1.024 2100

The command "mkpartfs" and its modifiers does the following based on my example above: It creates a primary partition using the FAT16 file system starting at 1.024M and ending at 2100M on the thumb drive.

Of course, your drive may be different, so you should use the fdisk command to determine what your drive's specs are:

# fdisk -l /dev/(your device - sd*)

Here's a screenshot of what fdisk and the initial parted command looks like in Konsole:


OK. Your thumb drive should be all set at this point, so onto the next step.


2) Download SLAX and perform the md5sum check on the download to check its integrity:

$ md5sum slax-6.x.x.tar

If all is well with the download, you can extract it directly to the thumb drive or to its current location. Copy/Paste the "boot" and "slax" directories onto your thumb drive (if you didn't extract it directly in the previous step).

From the command line as root, navigate to the boot directory that you just placed on the thumb drive. Run the following command:

# sh

This will make your new SLAX installation bootable.


3) All done. Reboot your system and choose the USB drive as the boot device. Your SLAX system should boot off your thumb drive now. Try the "Run SLAX in RAM" option if you have enough resources to do so. It is REALLY FAST when running in RAM.


That's about all there is to it, folks. Most of what I did here using the command line, you can also do from graphical frontends to these same apps (fdisk, parted, untar, etc.). If you're a GUI person, do what's most comfortable for you.


Until next time...

V.T. Eric Layton

***Tempus Fugits***



Real Time Collaboration With Openfire

So Openfire is one of those REALLY cool projects that I have happened to stumble across recently. It’s a real time collaboration server program that has made my neighbors and I very happy.

My wife and her friends approached me a few months ago after a huge catfight with some other friends of theirs. They wanted a private place they could chat, swap files, and be happy. This is where Openfire and its sister project Sparkweb came into my life.

The set up of Openfire is relatively straightforward. I built it from source, choosing not to go with a precompiled binary. For Openfire, all you really need is the latest version of Java, MySQL, and an XMPP client like Pidgin or Spark. You could use their built in database but from first hand experience you’re better off with MySQL, PostreSQL, etc. Later I’ll add create instructions for getting a basic Openfire Server up and running.

Now, Openfire's great for stuff around the office or in my case around the neighbor hood. But lets say some one goes on holiday in Florida (like one of them did). This is where Sparkweb comes in really handy. It allows anyone to login via the web browser.  Or in my case, I got sick of trying to get certain XMPP clients to work so I installed LAMP and use Sparkweb to chat.

Aside from the really cool fact that you could be the next Yahoo! of the neighborhood or office its free, open source, and stable.  Administering it is a breeze. All the setup and admin functions are web based. I love the fact that you can install plug-ins that allow you to do virtually everything from broadcasting messages, transferring files, and integration with other networks.



Mutt like evolution keybindings

Date: May 20th 2009
Full Entry: Mutt like keybindings for Evolution

In preparation for connecting to (im guessing here) an Exchange server at my new job I am switching from my beloved Mutt to Evolution. The absolute first thing I noticed about Evolution that I disliked was the keybindings for things like deleting messages, replying to messages and creating a new message. After some digging in the UI I could not find any place to change them. Some more sleuthing turned up some XML files down in /usr/share/evolution/$VERSION/ui. (more…)


I Just Lost

I'm sorry... But I had to announce it.

 Thanks to this post:

 I just lost.

 Don't know what I'm talking about? Take a quick look here:

I am truly sorry that I just introduced you into a life long game of dissapointment. 

Back on topic next post.





Google Chrome browser gets ‘V8′ engine

Google  announced some upgrades to its Web browser, Chrome, which originally was released about 8 months ago.

Google says the upgrades mostly focus on speed, which comes from a new browser “engine,” which Google calls “V8. The browser tops others because it is able to handle complex Web pages with lots of Java Script very quickly.”

Gentoo and BSD (a primer)

One of the best things from a metadistribution like Gentoo is its approach to upgrades and management

I've started using UNIX systems with Minix and Xenix, in '92-'93 I was rolling my Slackware distro with a brand new kernel called Linux, nobody knows it but it was fine and I was happy with it, never tried other Unices and neither worked with others. After a short period I've started on working with UNIX systems heavily and I've seen a lot of them, one of the biggest complaints were the system upgrades... oh what a mess.

While using Microsoft operating systems, upgrades were not even considered but after facing UNIX and some development movement due to Linux grow I was thinking upgrades are one of the most important parts of an entire system, one of my biggest concerns was:

"ok now I've a full upgraded/stable/configured system, it was a pain to get everything working but now it's fine, how can i maintain it stable forever ?"

Each time a major release came out configuration and reinstallation problems were the most common

After few years, I think '94-'95 I've tried something from the BSD world, I didn't remember what (think OpenBSD), one of my biggest problems there was: "where are my applications ? how can I install packages ?". Hell there weren't available in my system CD and I was searching for them across the net; after few good docs I've learned about package distribution and how my system can handle upgrades, it was a revelation to see source code packages (builds), download the source, auto-patch, compile and then install. The best thing I've ever seen and I was thinking something like: "oh damn, I wish to have something like this for Linux as well".

After it I've started using Linux from scratch approach (LSB), it was nice but each "major" upgrade was still a pain and I still need to patch and control everything by hand... since a day, a strange day, I was googling around and I saw the latest distribution of the day, it was called Gentoo. I've learned about Gentoo because one of the lead BSD developers ported its experience to Linux, I was following BSD (still I'm on it) and learned about this new distro.

I've tried it for a while and I was so impressed about portage and meta-packages, so I've decided to use it as my Main distro (I'm writing this blog from a Gentoo desktop system). Other features like code optimization and C compiler flags scared me for a while but now I'm fine and I can live with them

Here's how I've approached Gentoo, still using it since a lot of time and still happy with it



Enigma machines and the second world war

UK Snubs Support For Home of WWII Enigma

I usually don't post news and neither rumours, I prefer to keep this blog as geekly as possible but when I've read this article I was so disappointed and I've decided to report it as well, please follow other posts if you're interested in tech things.

I'm a retrocomputing maniac, I love old mainframes, computers and each piece of equipment that represents the latest technology (of the period), I also love history and when technology meets history you'll ever find a retrocomputing guy

Enigma was one of the key factors for Second World War (from my point of view), a device with some aura all around, a mix between technology and magic. There were exaggerating things around it, from films to strange stories but it's nice and happy to talk about it.

Since this device is one of my favorites I was angry after reading this article so I've decided to share with you. 

 The article is here:

What do you think about it ?



Titling... testing blog service.
Page 132 of 160

Upcoming Linux Foundation Courses

  1. LFS201 Essentials of System Administration
    12 Jan » 30 Mar - Online Self-Paced
  2. LFD331 Developing Linux Device Drivers
    01 Jun » 05 Jun - Virtual (GUARANTEED TO RUN)
  3. LFD320 Linux Kernel Internals and Debugging
    08 Jun » 12 Jun - San Jose - CA + Virtual (GUARANTEED TO RUN)

View All Upcoming Courses

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board