Skip to content

Ubuntu Installation

Nadrin edited this page Oct 20, 2011 · 5 revisions

Building and installing

First install all required packages:

$ sudo apt-get install build-essential git xdotool libreadline6-dev libpam0g-dev

Now clone the git repository:

$ git clone
$ cd xlsh

Before you proceed you may want to tweak include/config.h or Makefile to suit your needs. Please note that in this guide I assume default values. Now it's time to compile and install:

$ make
$ sudo make install

If everything during compilation went fine you should now have XLSH installed.

Configuring XLSH as /bin/login replacement

Edit /etc/init/ttyN.conf files (where N is a number from 1 to 6). Replace the line:

exec /sbin/getty -8 38400 ttyN


exec /sbin/getty -8 -n -l /usr/local/sbin/xlsh 38400 ttyN

Reboot to apply changes.

Configuring XLSH as display manager (LightDM) replacement

Create /etc/init/xlshd.conf file with the following contents:

# xlshd - eXtended Login Shell X11 daemon

description "xlsh X11 daemon"

start on runlevel [2345]
stop on runlevel [!2345]

expect fork

exec /usr/local/sbin/xlshd

Now set xlshd to be the default display manager (as root):

$ echo /usr/local/sbin/xlshd > /etc/X11/default-display-manager

Reboot to apply changes.

Configuring default X session

xlsh will, by default, execute /bin/sh .xsession if no other window manager is specified via an argument to login command. You will need to create this file in your home directory and set it readable to all.

Example .xsession file:

exec /bin/bash --login "$HOME/.xinitrc"

Example .xinitrc file (using Awesome WM):

setxkbmap pl
nvidia-settings -l
exec awesome
Something went wrong with that request. Please try again.