A lightweight TUI (ncurses-like) display manager for Linux and BSD (mirror of https://codeberg.org/fairyglade/ly).
Go to file
Aaron LI 4e69002432 util: Fix gethostname() and freeaddrinfo() calls
I was passing the wrong size to the 'gethostname()' call because the
'hostname' is now dynamically allocated and cannot use 'sizeof' to get
its size.  This mistake causes that the obtained hostname is empty.

The 'freeaddrinfo()' was placed at the wrong place.  Fix it.

Fallback to '_POSIX_HOST_NAME_MAX' if 'sysconf()' fails.

Always null-terminate the 'hostname'.
2018-10-06 19:46:58 +08:00
res removed config duplicate and added better defaults and documentation 2018-09-24 06:08:03 +00:00
src util: Fix gethostname() and freeaddrinfo() calls 2018-10-06 19:46:58 +08:00
sub completed 2018-09-23 18:03:00 +00:00
.gitignore completed 2018-09-23 18:03:00 +00:00
.gitmodules completed 2018-09-23 18:03:00 +00:00
LICENSE.md completed 2018-09-23 18:03:00 +00:00
README.md Minor fixes to spelling and filenames. (#64) 2018-09-27 11:40:43 +00:00
ly.service completed 2018-09-23 18:03:00 +00:00
makefile added version flag support 2018-10-05 17:42:20 +02:00
xsetup.sh completed 2018-09-23 18:03:00 +00:00

README.md

Ly - a TUI display manager

CodeFactor ly screenshot

Ly is a lightweight, TUI (ncurses-like) display manager for linux.

Dependencies

Make sure all the following packages are properly installed and configured on your linux distribution before going further:

  • a c99 compiler (tested with gcc and tcc)
  • a c standard library
  • make
  • linux-pam
  • xorg
  • xorg-xinit
  • xorg-xauth
  • mcookie
  • tput
  • shutdown

Cloning and Compiling

This repository uses submodules, so you must clone it like so

git clone --recurse-submodules https://github.com/cylgom/ly.git

To compile you just need to launch make in the created folder

make

Check if it works on the tty you configured (default is tty2). You can also run it in terminal emulators, but desktop environments won't start

sudo make run

Then, install Ly and the systemd service file

sudo make install

Now enable the systemd service to make it spawn on startup

sudo systemctl enable ly.service

If you need to switch between ttys after Ly's start you also have to disable getty on Ly's tty to prevent "login" from spawning on top of it

sudo systemctl disable getty@tty2.service

If messages from other services pop over the login prompt, edit open the configuration and make sure force_update is enabled

[box_main]
force_update=1

Configuration

All the configuration takes place in /etc/ly/config.ini. The file is commented, and includes useful defaults.

Controls

Use the up and down arrow keys to change the current field, and the left and right arrow keys to change the target desktop environment while on the desktop field (above the login field).

Tips

The numlock and capslock state is printed in the top-right corner. Use the F1 and F2 keys to respectively shutdown and reboot. Take a look at your .xsession if X doesn't start, as it can interfere (this filed is launched with X to configure the display properly).

Additional Information

The name "Ly" is a tribute to the fairy from the game Rayman. Ly was tested by oxodao, who is some seriously awesome dude. I wish to thank linux-pam, X11 and systemd developers for not providing anything close to a reference or documentation.