Nadrin edited this page Oct 21, 2011 · 14 revisions

xlsh - eXtended Login Shell

(c) 2011 Michał Siejak

A simple login shell with readline functionality and PAM integration.

  • When run stand-alone on a virtual console it can replace standard "login" program.
  • When run in cooperation with X daemon component (xlshd) it can replace XDM/GDM/KDM.


  • Small and simple, written entirely in C.
  • Easily hackable because of compact codebase (~1000 source lines).
  • Uses PAM for authorization and session management.
  • Ability to select non-default shell/window manager during logon.
  • Entirely keyboard driven display manager replacement (when used with xlshd) without the need for any fat libraries or GUI toolkits.
  • Defaults configured before compilation, some of them can be changed by setting few environment variables.
  • Single shell script file for customizing how xlshd launches xlsh.
  • Introduces a concept of "pre-login shell" known from GNU/HURD.
  • Only three important commands: 'login', 'reboot' and 'shutdown'.
  • New commands can be easily added (if you need any) by editing xlsh.c
  • Username autocompletion on TAB.
  • Zenburn color scheme by default (when run under X).