Monday, December 27, 2010

Fast user switching in Centos Gnome desktop

Several people have posted wonderful blog entries on how to get the user switching option turned on for Gnome desktop so that when you lock the screen, someone else who would use the computer can log in without logging you out.

The blog I followed can be found here. (complete with screen-shots (= )

However, because of the way that the gnome desktop configuration is set up, this only sets this option for the user you were logged in as when you went through this exercise.

Ok, so I was going to give the file to edit, but as I went looking through gconf-editor some more, I noticed the following:

if you run gconf-editor as root, you will be able to set Default and Mandatory Keys that effect all users.  Default = users can edit/change these; Mandatory = locked down to sys admin setting.  Once you have chosen keys that should be mandatory/default, you then have to open another window to edit them (one for default, one for mandatory), where you can set the values you want.  You can find more information about these settings here.

So, to have user_switch_enabled set to true for all users (aka, someone else can log in when you have locked the screen), here's what I did (screen-shots to follow):

1. as root, run: gconf-editor &
2. Expand Apps, click on gnome-screensaver
3. find user_switch_enabled, right-click, choose "Set as mandatory"
4. Ctrl+M
5. expand tree on left, set "user_switch_enabled"
6. close editors

(note: "yum install gconf-editor" if your system complains in step 1 above)

You may have to log out of the user you were on for the changes to take effect.  At this point, if the screen is locked by one user, another user is still able to log in and use the system.  If the account you're switching to is not currently logged in, you'll get the standard prompt screen.  Otherwise, you'll get the prompt from the locked screen.  Everything each user was doing will be saved just as they left it.

(After this, I'll be posting more as I dig into GNOME and other desktops.  If there is something you'd like to find out about, leave a comment and I'll see what I can do.  I hope to expand this to include most major linux releases and desktops, but we'll see.)

Sunday, December 26, 2010

Setting up Mach build environment

So, clearly taking me a bit longer to get this going than I thought it would.  So here's the first tidbit I can give pretty quickly: I'm working on setting up a build environment using mach (stands for Make A CHroot).  This is a nifty tool to work in a clean build environment, and can be found here.  Basically, it will pull the packages you need to be able to get a clean build for whatever software you're working with.  If you are missing a dependancy, it will pull it automagically, if it can be found in the repos.  It also allows you to be able to build software for any version that is supported (ls /etc/mach/dists.d/ to get an idea).

Anyway, I'm just going through setting this up again, on a Centos 5 system that I'm planning on using for builds, and wanted to make a few notes, since the documentation still makes you dig a bit:

Steps followed so far:

1. set up yum for epel repo
2. run: yum install mach
3. add build user(s) to the mach group (ie: usermod -G mach <username>)
4. run: mach -r <root> setup build
5. go check irc or something (approx 5 mins)

remember that the root name needs to have an extension after the architechture, since that is what it is looking for in the /etc/mach/dists.d/ config files (separate file for each major os version).  For instance, the base centos 5 root that I just created wouldn't work as "centos-5-i386", it had to be "centos-5-i386-os".

Also, something else that should be mentioned is that it doesn't look like this package currently is able to perform builds for ubuntu/debian packages, but it does support apt-get, so maybe a config file could be created?

Monday, November 15, 2010


Welcome to The Memory Leak.

Over the last 10 years I've worked in many areas of IT, including systems and database administration, software build and deploy systems, QA automation engineer, and software & database developer. 

This blog is where I record what I've done, in the hopes that I can remember things that worked, and possibly benefit someone else.  Other topics that I want to record may show up on occasion.

You can reach me on