This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
qingy
Qingy (Qingy Is Not GettY) is a replacement for getty. Written in C, it uses DirectFB to provide a GUI without the overhead of the X Windows System. It allows the user to log in and start the session of choice (text console, GNOME, KDE, wmaker, etc.).
Installation
USE flags
USE flags for sys-apps/qingy A DirectFB getty replacement
X
|
Add support for X11 |
crypt
|
Add support for encryption -- using mcrypt or gpg where applicable |
emacs
|
Add support for GNU Emacs |
gpm
|
Add support for sys-libs/gpm (Console-based mouse driver) |
pam
|
Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip |
static
|
!!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically |
Emerge
root #
emerge --ask qingy
Configuration
Keypair
qingy requires keypairs to run. To generate keys:
root #
qingy-keygen
inittab
After successful installation edit the /etc/inittab file and replace following section:
/etc/inittab
... # TERMINALS c1:12345:respawn:/sbin/agetty 38400 tty1 linux c2:2345:respawn:/sbin/agetty 38400 tty2 linux c3:2345:respawn:/sbin/agetty 38400 tty3 linux c4:2345:respawn:/sbin/agetty 38400 tty4 linux c5:2345:respawn:/sbin/agetty 38400 tty5 linux c6:2345:respawn:/sbin/agetty 38400 tty6 linux ...
with following entries:
/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 ...
Leave the 6-th terminal tty6 assigned to agetty. Pressing Ctrl+Alt+F6 will get the agetty spawned terminal, just in case something goes wrong at least one working terminal will be available.
Configuration file
This is default qingy's configuration as shipped with Gentoo:
/etc/qingy/settings
x_sessions = "/etc/X11/Sessions/" text_sessions = "/etc/qingy/sessions/" temp_files_dir = "/var/lib/misc" xinit = "/usr/bin/xinit" x_args = "-nolisten tcp -br" log_level = error log_facilities = console x_server_tty = qingy_tty pre_gui_script = "/etc/qingy/pre_GUI.sh" post_gui_script = "/etc/qingy/post_GUI.sh" themes_dir = "/usr/share/qingy/themes" theme = gentoo keybindings { prev_tty = "win" # switch to left tty next_tty = "menu" # switch to right tty poweroff = "ALT-p" # shutdown your system reboot = "ALT-r" # restart your system screensaver = "ALT-s" # activate screen saver sleep = "ALT-z" # put machine to sleep # kill = "CTRL-c" # kill qingy text_mode = "CTRL-ESC" # Revert to text mod }
Display managers
Remove xdm from the default startup level, otherwise it will fight with qingy for screen control at system boot. This sometimes results in nasty results.
root #
rc-update del xdm default
Starting qingy
Now either reboot the system or use following commands:
root #
init Q
root #
killall agetty
After successful authentication qingy will list contents of /etc/X11/Xsession/ directory:
Welcome, $USER, please select a session... (a) dwm (b) fvwm (c) Your .xsession (d) Text: Console Your choice (just press ENTER for 'Text: Console'):
Different Xsessions can be started in each tty, which works fine. Use the Ctrl+Alt+F1 through F6 key combinations to switch between different X sessions.
Troubleshooting
If qingy hangs making it impossible to login press Ctrl+Alt+F6 to get the agetty spawned terminal and login from there.