Search:  
Gentoo Wiki

Qingy


This article is part of the HOWTO series.
Installation Kernel & Hardware Networks Portage Software System X Server Gaming Non-x86 Emulators Misc

Contents

About

A getty is a Unix/Linux program that prints a login prompt at a tty, gets your username and password, and then starts the login process. The standard getty distributed with Gentoo is called agetty; when you switch to a virtual console (Ctrl+Alt+F1, Ctrl+Alt+F2, etc.), the program that prompts you for a username and password is agetty. Qingy (which stands for qingy is not getty) is a replacement for the standard getties like agetty. It is written in C and uses DirectFB to provide a graphical login screen without the overhead of running the X Window System. In addition to the ability to log a user into an fbdev-enabled text console, qingy is able to automatically start X11 and a graphical environment like Gnome or KDE upon login. This means that qingy is an effective replacement for Xfree-compatible login managers like GDM and KDM (which require that X11 is already started). For more information about qingy, visit the Qingy Homepage.

Requirements

FBDev Support enabled in the Kernel

DirectFB Library

With USE flags:

echo "dev-libs/DirectFB fbcon jpeg png truetype" >> /etc/portage/package.use

FBSet utility

The fbset (sys-apps/fbset) utility tests if a framebuffer is installed and lists you the available video modes.

Install it if needed

 emerge fbset

Test to see if framebuffer support is in the kernel correctly

fbset

If fbset lists nothing, then see the Framebuffer.

Installing

Qingy will need the direct framebuffer USE flag.

echo "sys-apps/qingy directfb" >> /etc/portage/package.use

Also ps2mouse support needs to be added to the make.conf to have mouse support in Qingy.

The INPUT_DEVICES section will need to have "ps2mouse" added.

emerge sys-apps/qingy

Configuring Qingy

When Qingy emerges, edit /etc/inittab and set Qingy as the login manager.

In the terminals section of the file, specify Qingy.

Terminal 6 is left here as the old 'agetty' for safety reasons - if something goes completely wrong with Qingy, you have a secure way to log in.

File: /etc/inittab
      # ...
      # TERMINALS
      c1:12345:respawn:/sbin/qingy tty1
      c2:12345:respawn:/sbin/qingy tty2
      c3:12345:respawn:/sbin/qingy tty3
      c4:12345:respawn:/sbin/qingy tty4
      c5:12345:respawn:/sbin/qingy tty5
      c6:12345:respawn:/sbin/agetty 38400 tty6 linux
      #c7:12345:respawn:/usr/bin/top tty8
      # ...

Take the graphical login manager ( GDM, KDM, XDM... ) out of the runlevels. This can be done by

rc-update del xdm

Adding Some Framebuffer Modes

To get Qingy to work with a non-standard resolution, i.e. 1400x1050, a new mode will need to be included. Likely it isn't already present, but look to see if there is a /etc/fb.modes file. To get the current settings with an fbdev-enabled kernel, log in as root and type:

fbset

Without any parameters fbset should display the current framebuffer mode. In a fbdev-enabled kernel, the output should look something:

      mode "1400x1050-77"
       # D: 147.037 MHz, H: 83.166 kHz, V: 77.436 Hz
       geometry 1400 1050 1400 1050 16
       timings 6801 168 32 16 4 168 4
       rgba 5/11,6/5,5/0,0/0
      endmode

In /etc/fb.modes add the video resolutions you wish to use. If /etc/fb.modes does not exist, create it and just copy and paste the result of fbset in it.

Last step is to edit (or create) /etc/directfbrc to set it to the preferred mode. Use the mode's name from /etc/fb.modes. Note that this has to be the same mode specified at boot, presumably the one fbset just printed out.

Example:

File: /etc/directfbrc
mode=1400x1050-77
depth=32

Notes

If you emerged qingy with the crypt-Useflag execute qingy-keygen (as root).

To see Qingy in action, simply reboot the system and see the Qingy login prompt, running at the desired resolution. Remember, if you've got any problems you can still resort to your fallback-console tty6.

You can also issue the following commands instead of rebooting for the changes to take effect.

# init Q
# killall agetty

Note: DirectFB is a bit tricky about version changes. For every update of DirectFB, you'll have to recompile apps depending on it (i.e., revdep-rebuild).


How to Choose the session...

...but the Mouse don't work? You could use your TAB (---->) Key, and switch to the session-Button. Choose the selected session with the first letter of it's name. For example: To switch to fluxbox put the "F"-Buttion. If you have two Text:-Sessions, you can push the "T"-Key twice.

Thanks

Thanks to feffi for his excellent Gentoo on Acer TM80x Howto. This Article was exported from its Styleguide Section.

Links

Internal

External

Retrieved from "http://www.gentoo-wiki.info/Qingy"

Last modified: Fri, 05 Sep 2008 23:31:00 +0000 Hits: 26,174