An entrancing login manager


Author: Preston St. Pierre

Entrance is an X-based login manager designed to be extremely customizable to allow for maximum aesthetic value. According to the project’s Web site, Entrance “takes beauty and customization to levels that KDM and GDM can only dream about, without the bloat.”

A login manager is a graphical replacement for a text login prompt that typically is started automatically at boot time through system scripts. Once a user enters a name and password, the login manager initiates the window manager and any applications specified by configuration files. Login managers usually display the current date and time, and provide users with several options, such as what window manager to initiate or whether to shut down or reboot the computer.

Historically the default login manager for the X Window System has been XDM. It is bundled with the X Window System server on all graphical Linux distros’ desktops. Configuring XDM typically requires using the command line, and it offers limited options for changing its appearance.

GDM and KDM, developed by the GNOME and KDE teams respectively, are a step above XDM. Both can be configured graphically and allow the use of themes. They also provide users with more options than XDM, including the ability to choose a different window manager each time.

Entrance is similiar to GDM and KDM. It is currently designed for local use, though it lacks the network support of the others, meaning you can’t log in to a remote X client and have it manage you session with Entrance. Support for the X Display Manager Control Protocol (XDMCP) is on the to-do list.

Entrance provides many of the options that KDM and GDM support, including choosing sessions and shutting down or rebooting. Entrance, however, provides a much more appealing interface.

Installing Entrance can be tedious. Currently there is no Entrance Debian or RPM binary package. If you’re running Gentoo, you’re in luck, but everyone else should install Entrance off CVS.

Installing Entrance under Gentoo

Gentoo offers an Ebuild for Entrance, along with a lot of masked dependencies. Gentoo users can install Entrance by executing the following:

echo "media-libs/edje ~x86" >> /etc/portage/package.keywords
echo "dev-libs/embryo ~x86" >> /etc/portage/package.keywords
echo "dev-libs/eet ~x86" >> /etc/portage/package.keywords
echo "x11-libs/evas ~x86" >> /etc/portage/package.keywords
echo "dev-db/edb ~x86" >> /etc/portage/package.keywords
echo "x11-libs/ecore ~x86" >> /etc/portage/package.keywords
echo "x11-libs/esmart ~x86" >> /etc/portage/package.keywords
echo "media-libs/epsilon ~x86" >> /etc/portage/package.keywords
echo "media-libs/epeg ~x86" >> /etc/portage/package.keywords
echo "x11-misc/entrance ~x86" >> /etc/portage/package.keywords
echo "media-libs/imlib2 ~x86" >> /etc/portage/package.keywords
emerge entrance

Then edit rc.conf and change the DisplayManager variable value to Entrance:

Finally, add XDM to the default runlevel (the script is named XDM, as that is the default login manager, but it is configured to use the DisplayManager variable):
rc-update add xdm default

Next time you reboot Entrance should start.

To have Entrance automatically start you have to edit /etc/inittab. Look for an option to set the default runlevel near the top of the file. Make sure it looks like
id:5:initdefault:. Add the following, modifying it to point to the directory where the Entrance daemon (entranced) binary is. If you already have a similiar line, simply change the path. We use entranced instead of simply entrance because entrance needs an X server to already be running.
x:5:respawn:/usr/bin/entranced -nodaemon

True to its claim of extensive customizability, Entrance provides a configuration file with many options. Most of the default values are fine. To begin configuring Entrance, run edb_gtk_ed /etc/entrance_config.db as root from inside a GUI. A window should appear sporting a list of options.

The easiest change we can make is to modify the theme, which determines the look and feel of Entrance. To choose a theme, change the /entrance/themes key from the configuration window to the one you wish to run, including the extension. You can download themes as files with an .eet extension. Copy them into /usr/share/entrance/themes. Themes are rather scarce, but there are some at, and there is a winter theme here.

To test Entrance, run the following from a GUI:
entrance -T

To test a theme, run:
entrance -T -t testtheme

If you want to use a different mouse pointer, perhaps from, you can do so by adding an option. Click the Add button and enter /entrance/pointer as the key, then set the value to a path to an image on your hard drive. You can use any image, although one in PNG format is probably best, since PNG supports transperency.

As far as the sessions go, you should add a session for each window manager installed. The session named “default” reads the value from the users local .xsession file, or from the Xsession value set in rc.conf in Gentoo, and starts the window manager set there.

Other values you may wish to modify are the order and titles of the sessions, how the date is displayed (look at the man page of strftime for options), and the welcome message. You can look at all the options by scrolling through the list.

Entrance is still a work in progress. Many features have yet to be implemented, and work is beginning on revamping the config system. An official beta has yet to be released. Nevertheless, if you need a login manager to impress your friends, Entrance is the way to go.