NCurses Display Manager
Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


NCurses Display Manager (NCDM) is, well, a display manager written in python. It also manages commandline sessions, so display or desktop probably is not the right word for the D part of the acronym. However, it is very much in an alpha state, so if you want to test it, put it on a computer where you're fine with it making mistakes.


  • Disable root login if needed
  • Allow select users to only log in once
  • Allow customization of session list on a per user basis. See sys.cfg for more details.
  • List CLI and GUI sessions in *.csv files with the format "Name","Command".
  • Autodetect available GUI sessions based on what is in /usr/share/xsessions and /etc/X11/sessions.
  • PAMless authentication.
  • List active sessions and switch between them.
  • Configure commands for hibernate, suspend, shutdown, and restart buttons
  • Color scheme configuration
  • Optional FBTerm and Consolekit support
  • Custom banner to welcome users
  • Always has an option for a login shell if cli.csv does not exist.
  • Allow setting background image for NCDM if fbterm is told to be used
  • Log program operation (useful for detecting bugs)


  • python-urwid
  • Core python modules: crypt, spwd, pwd, grp, os, re, subprocess, platform, glob, csv
  • xorg-xinit
  • xorg-sessreg
  • coreutils
  • grep
  • kbd (for opening a virtual terminal and launching the cli session on there using openvt)

Optional dependencies:

  • python-dbus
  • consolekit
  • fbterm
  • fbv