https://github.com/tlater/blm
Bash login manager
https://github.com/tlater/blm
blm dialog login menus xsession
Last synced: 2 months ago
JSON representation
Bash login manager
- Host: GitHub
- URL: https://github.com/tlater/blm
- Owner: TLATER
- License: mit
- Created: 2015-06-26T23:31:31.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-05-13T02:09:06.000Z (almost 8 years ago)
- Last Synced: 2024-12-27T16:30:39.155Z (4 months ago)
- Topics: blm, dialog, login, menus, xsession
- Language: Makefile
- Size: 83 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# blm
A login manager written entirely in bash.## Setup
1. Disable any graphical login managers (many Linux distributions come with such preinstalled). Refer to the relevant documentation when in doubt.
2. Execute `echo 'exec bash blm' >> ~/.bash_profile` to enable launching the script on login. When using a non-bash login shell, refer to the relevant documentation.## Configuration
To configure which sessions can be launched from the manager, create
the relevant directories as specified in your configuration file.### Options:
| Option | Values | Default | Function |
|-----------|-------------------|----------------------|-------------------------------------------------------------------------------------|
| PS3 | string | "Select session: " | Specifies the prompt. |
| MODE | ("text"/"dialog") | "dialog" | Specifies the display mode. For mode "dialog" the dialog library must be installed. |
| XSESSIONS | path | "/etc/blm/xsessions" | The X sessions directory path (see [Sessions](#sessions)). |
| OSESSIONS | path | "/etc/blm/osessions" | The directory path for non-X sessions. |### Dialog-specific options:
| Option | Values | Default | Function |
|------------|--------|---------|------------------------------------|
| HEIGHT | number | 14 | The height of the dialog. |
| WIDTH | number | 55 | The width of the dialog. |
| ITEMHEIGHT | number | 6 | The height of items in the dialog. |### Sessions
There are 2 session types:- Xsessions :: Sessions launched using `xinit`. The file is executed
after X launches, much like the .xinit file when launching using
startx.
- Osessions :: Sessions launched using `exec`. These are shell scripts
that are executed. A simple example would be, for example, `exec
/bin/bash` for a normal tty.Menus are subdirectories of these directories. In these the items of
sub-menus can be specified.### Example
For example, by default the following structure would work:
```
.config/blm
├── blm.conf
├── osessions
│ ├── bash
│ ├── emacs
│ ├── remote
│ │ └── my.fav.server.net
│ └── shutdown
│ ├── reboot
│ └── shutdown
└── xsessions
├── awesome
└── Gnome
```