Brain Dump

A place to store my random thoughts and anything else I might find useful.

Replacing default desktop manager with qingy on Ubuntu intrepid

Posted by mzanfardino on January 30, 2009

I often find that I want to login to a text console as opposed to my GUI. I use Ubuntu 8.10 (intrepid ibex) with gnome which uses gdm desktop manager by default. I’ve found in the past while working with gentoo that I can replace the GUI login provided by kdm, gdm, etc. with qingy which uses framebuffer video support to provide a nice splash screen without the overhead of a full-blown GUI.

With the introduction of upstart as a replacement for inittab in ubuntu there are different steps to making qingy work and the qingy (and other) sites suggest. First, install qingy (this part hasn’t changed!). I installed from repos, but you can download and install from the qingy home page (http://qingy.sourceforge.net/). the repos will place the quingy binary in /usr/sbin. Next, edit /etc/event.d/tty1. Comment out the statement # exec /sbin/getty 38400 tty1 and add a new statement exec /usr/sbin/qingy tty1. This will alter tty1 from loading getty to qingy. NOTE: Many how-to’s suggest replacing getty with qingy for all but one tty. I do not feel this is necessary, as I’m merely using qingy as a replacement for gdm and I only need one instance of this.

Next, disable your desktop manager. I’ve stated that I use gdm so if you are using kde or xdm (or something else entirely) you may have to figure out the best way to do this. The easiest way to disable gdm is by using bum (boot-up manager GUI). This will likely have to be installed using your favorite installation method. I use sudo aptitude install bum from the command line. Once running, locate GNOME Display Manager and un-check it. If you click apply the GUI session will end! You have been warned!

At this point you should be able to boot your machine and find that you have a nifty splash screen with options to start different sessions, among them will be text-console.

Note: you will likely want to change some of the default configuration for qingy. For instance, by default qingy will launch your GUI session in the open tty (tty1 in this case). If, like me, you are used to seeing the GUI on tt7, you have to change /etc/qingy/settings x_server_tty = unused_tty. There are many other settings that can be adjusted in the setting files as well.

Also, you can find a nice selection of themes for qingy on freshmeat (http://themes.freshmeat.net)

*** HEADS UP ***
Now, this is where things got a little frustrating for me. When I logged into a gnome session, I discovered that my audio was not initializing. I could not playback audio or work with audio in any way. I did not get any specific errors: dmesg, /var/log/syslog and /var/log/messages did not reveal any obvious errors. I tested audio from a text-console and found that I could playback mp3 files using mpg321 or ximp3 (both console based mp3 players), but only if I run these apps as sudo.

This gave me the vital clue that helped to solve the problem with gnome. It turns out that my user account was not a member of the audio group that is installed when ubuntu was installed. It’s apparently not necessary when you use gdm as your desktop manager. By adding my user to the audio group I was able to playback audio from text-console without the need of sudo *and* when I logged into my gnome session audio was working!

In addition to audio not working, nm-applet (the panel NetworkManager icon control) is also not working.  This item took a little more effort to resolve, as it’s not a simple matter of adding a user account to a group.  The way I resolved this might not be the correct method, so please do your own research! However, I found that if I modified a number of files in /etc/dbus-1/system.d/ I could make it work.  Specifically I modified the following files:

  1. /etc/dbus-1/system.d/ConsoleKit.conf
  2. /etc/dbus-1/system.d/NetworkManager.conf
  3. /etc/dbus-1/system.d/nm-applet.conf
  4. /etc/dbus-1/system.d/nm-avahi-autoipd.conf
  5. /etc/dbus-1/system.d/ nm-dhcp-client.conf
  6. /etv/dbus-1/system.d/nm-dispatcher.conf
  7. /etc/dbus-1/system.d/ nm-system-settings.conf

For each of these files I copied the policy user section “root” and changed the user to my user account.

TO REPEAT: This may *not* be the correct way to do this, but in the end it worked.

Another issue I had was with the use of encfs which I used for directory encryption. I found that until I added my user account to the fuse group I was unable to mount my encrypted directories.

I suspect that there are other issues as well with this approach.

If you have any suggestions or comments regarding this method vs. some other method, please post here or provide a link to the suggestion.

Advertisements

7 Responses to “Replacing default desktop manager with qingy on Ubuntu intrepid”

  1. Zeke said

    Is this plagiarism? Plagiarism is theft.
    http://warming-the-innards.blogspot.com/2009/01/replacing-default-desktop-manager-with.html

    http://www.google.com/blogger_dmca.html

  2. mzanfardino said

    Evidently I am not the only one from whom Colin Deslage has plagiarized. There are at least two other people who he’s blatantly cut-and-paste blog entries from. Kudos to Zeke for pointing this out, as it appears he’s also responsible for identifying at least one other instance of Colin Deslage plagiarizing other’s work.

  3. Keith said

    Your walkthrough doesn’t deal with this, but perhaps you can tell me if you’ve noticed any problems with usplash once you’re using DirectFB. On my laptop I use ecrypted LVM, and out of the box, the password negotiation is mediated through usplash.

    Unfortunately, usplash will not present itself in framebuffered video modes, and so I have to watch the HDD activity light and enter my passphrase “blind”. Once booted, everything is fine, but not being able to see the login is rather a handicap.

    • mzanfardino said

      I’m afraid I haven’t much more experience with this than what I’ve tried to outline in this blog. I can tell you that I too use file system encryption, however I configure it manuall (that is, during the install). I created a single large lvn partition which I then partitions for root and swap. I then encrypted the lvn partition. I usually by-pass usplash in grub as I like to observe the boot text. I’m prompted for my decryption password during the initial stages of the boot, then it progresses until it tries to mount tty1. This is where Qingy takes over.

      I’m surprised though that Qingy interferes with the usplash screen though, as this should simply mask the initial boot log and should provide for the password for cryptsetup during the boot regardless of Qingy. However, as I have said, I build my partition tables by hand and configure them myself, so maybe the default configuration does have some conflict I’m not aware of.

      Good luck with it and if you figure it out, please feel free to post your results/comments here.

  4. Chris Giles said

    I found out elsewhere that the “nm-applet” problem you’ve mentioned can be prevented by manually running “ck-launch-session” beforehand.

  5. mzanfardino said

    NOTE: I have found that if I remove network-manager and network-manager-gnome and replace them with wicd, as well as replace dhcp3-client with dhcpcd I am able to get networking (wired and wifi) to work from the terminal, thus eliminating the issue with nm-applet, etc. More notes on this to come.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: