What is qingy?
Qingy is a replacement for getty and login-managers like slim, kdm gdm and so on, using DirectFB to provide a fast, nice GUI without the overhead of the X Window System. It allows users to log in and start the session of their choice (text console, gnome, kde, wmaker, etc.). Running several X sessions is also possible.
How to get qingy?
First you need a working DirectFB. I'm recommending Uvesafb.
A package is available in the [community] repo. To install:
# pacman -S qingy
Several extra themes are also available. In [community] repo, there is an Arch specific theme:
# pacman -S qingy-theme-arch
A package of several various themes is available in AUR:
Replace *getty with qingy
To use qingy, you'll need to edit /etc/inittab.
c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux c2:2345:respawn:/sbin/agetty -8 38400 vc/2 linux c3:2345:respawn:/sbin/agetty -8 38400 vc/3 linux c4:2345:respawn:/sbin/agetty -8 38400 vc/4 linux c5:2345:respawn:/sbin/agetty -8 38400 vc/5 linux c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux
c1:2345:respawn:/sbin/qingy tty1 c2:2345:respawn:/sbin/qingy tty2 c3:2345:respawn:/sbin/qingy tty3 c4:2345:respawn:/sbin/qingy tty4 c5:2345:respawn:/sbin/qingy tty5 c6:2345:respawn:/sbin/agetty -8 38400 vc/6 linux
Qingy's author suggest to keep agetty on a console (here on console 6) as a safety measure as qingy is still beta software.
Because qingy uses tty0-9 insead of vc/1-6 so you need add tty to /etc/securetty :
# # /etc/securetty # console vc/1 vc/2 vc/3 vc/4 vc/5 vc/6 tty0 tty1 tty2 tty3 tty4 tty5 tty6 tty7
You can configure qingy by editing /etc/qingy/settings.
The default settings for X specifics are fine so only edit them if you really know what you are doing.
# Full path to the X server #x_server = "/usr/bin/Xorg" # Full path to the 'xinit' executable xinit = "/usr/bin/xinit" # Parameter we should pass to the X server x_args = "-nolisten tcp -br"
I recommend to set
log_facilities = console, file
so you can look for errors in /var/log/qingy.log, too.
All other options are well explained.
If you want to start X with qingy you need to edit your .xsession.
Here a default .xsession for qingy.
#!/bin/sh exec <login-shell command> <window manager starter>
#!/bin/sh exec bash --login -c 'openbox-session'
The start of the window manager using a login shell is needed because qingy starts the X-session directly without the help of a shell. This causes issues like no umlauts in xterm and malfunction of control keys like "Home", "End", "Del" and so on in the terminal.
Adding a session entry
If you've changed the variable x_sessions or text_session in the config file of qingy replace the following pathes with the path you've set.
Text mode session
Therefore add a new file into /etc/qingy/sessions/ while the name of the file is the name of the entry.
The file should be a shell script for an example have a look into /etc/qingy/sessios/emacs.
X mode session
Create the folder /etc/X11/Sessions/ and save a new script file into it.
The name of the file is shown in the menu.
Synaptic touchpad and keyboard issue
Qingy (and quite possibly other DirectFB applicationss) has some issues using Synaptics touchpad. Also the keyboard can behave strangely (like if each keys were pressed twice).
This can be solved by adding:
to /etc/directfbrc. If the file does not exist, create it. This will enable you to use your touchpad, however some extra functionality like tapping or tap-dragging might not work.