mirror of https://github.com/fairyglade/ly.git
Remove big header about Codeberg migration
Signed-off-by: AnErrupTion <anerruption@disroot.org>
This commit is contained in:
parent
a8b8292318
commit
ef78ac28a4
105
readme.md
105
readme.md
|
@ -1,12 +1,13 @@
|
||||||
# Ly - a TUI display manager
|
# Ly - a TUI display manager
|
||||||
|
|
||||||
## Development is now continuing on [Codeberg](https://codeberg.org/AnErrupTion/ly), with the [GitHub](https://github.com/fairyglade/ly) repository becoming a mirror. Issues & pull requests on GitHub will be ignored from now on.
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
||||||
|
|
||||||
|
**Note**: Development happens on [Codeberg](https://codeberg.org/AnErrupTion/ly) with a mirror on [GitHub](https://github.com/fairyglade/ly).
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
- Compile-time:
|
- Compile-time:
|
||||||
- zig 0.14.0
|
- zig 0.14.0
|
||||||
- libc
|
- libc
|
||||||
|
@ -19,11 +20,13 @@ Ly is a lightweight TUI (ncurses-like) display manager for Linux and BSD.
|
||||||
- brightnessctl
|
- brightnessctl
|
||||||
|
|
||||||
### Debian
|
### Debian
|
||||||
|
|
||||||
```
|
```
|
||||||
# apt install build-essential libpam0g-dev libxcb-xkb-dev
|
# apt install build-essential libpam0g-dev libxcb-xkb-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
### Fedora
|
### Fedora
|
||||||
|
|
||||||
**Warning**: You may encounter issues with SELinux on Fedora.
|
**Warning**: You may encounter issues with SELinux on Fedora.
|
||||||
It is recommended to add a rule for Ly as it currently does not ship one.
|
It is recommended to add a rule for Ly as it currently does not ship one.
|
||||||
|
|
||||||
|
@ -32,6 +35,7 @@ It is recommended to add a rule for Ly as it currently does not ship one.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Support
|
## Support
|
||||||
|
|
||||||
The following desktop environments were tested with success:
|
The following desktop environments were tested with success:
|
||||||
|
|
||||||
[Wayland Environments](#supported-wayland-environments)
|
[Wayland Environments](#supported-wayland-environments)
|
||||||
|
@ -42,72 +46,86 @@ Ly should work with any X desktop environment, and provides
|
||||||
basic wayland support (sway works very well, for example).
|
basic wayland support (sway works very well, for example).
|
||||||
|
|
||||||
## systemd?
|
## systemd?
|
||||||
|
|
||||||
Unlike what you may have heard, Ly does not require `systemd`,
|
Unlike what you may have heard, Ly does not require `systemd`,
|
||||||
and was even specifically designed not to depend on `logind`.
|
and was even specifically designed not to depend on `logind`.
|
||||||
You should be able to make it work easily with a better init,
|
You should be able to make it work easily with a better init,
|
||||||
changing the source code won't be necessary :)
|
changing the source code won't be necessary :)
|
||||||
|
|
||||||
## Cloning and Compiling
|
## Cloning and Compiling
|
||||||
|
|
||||||
Clone the repository
|
Clone the repository
|
||||||
|
|
||||||
```
|
```
|
||||||
$ git clone https://codeberg.org/AnErrupTion/ly
|
$ git clone https://codeberg.org/AnErrupTion/ly
|
||||||
```
|
```
|
||||||
|
|
||||||
Change the directory to ly
|
Change the directory to ly
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cd ly
|
$ cd ly
|
||||||
```
|
```
|
||||||
|
|
||||||
Compile
|
Compile
|
||||||
|
|
||||||
```
|
```
|
||||||
$ zig build
|
$ zig build
|
||||||
```
|
```
|
||||||
|
|
||||||
Test in the configured tty (tty2 by default)
|
Test in the configured tty (tty2 by default)
|
||||||
or a terminal emulator (but authentication won't work)
|
or a terminal emulator (but authentication won't work)
|
||||||
|
|
||||||
```
|
```
|
||||||
$ zig build run
|
$ zig build run
|
||||||
```
|
```
|
||||||
|
|
||||||
**Important**: Running Ly in a terminal emulator as root is *not* recommended. If you
|
**Important**: Running Ly in a terminal emulator as root is _not_ recommended. If you
|
||||||
want to properly test Ly, please enable its service (as described below) and reboot
|
want to properly test Ly, please enable its service (as described below) and reboot
|
||||||
your machine.
|
your machine.
|
||||||
|
|
||||||
Install Ly for systemd-based systems (the default)
|
Install Ly for systemd-based systems (the default)
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installexe
|
# zig build installexe
|
||||||
```
|
```
|
||||||
|
|
||||||
Instead of DISPLAY_MANAGER you need to add your DM:
|
Instead of DISPLAY_MANAGER you need to add your DM:
|
||||||
|
|
||||||
- gdm.service
|
- gdm.service
|
||||||
- sddm.service
|
- sddm.service
|
||||||
- lightdm.service
|
- lightdm.service
|
||||||
|
|
||||||
```
|
```
|
||||||
# systemctl disable DISPLAY_MANAGER
|
# systemctl disable DISPLAY_MANAGER
|
||||||
```
|
```
|
||||||
|
|
||||||
Enable the service
|
Enable the service
|
||||||
|
|
||||||
```
|
```
|
||||||
# systemctl enable ly.service
|
# systemctl enable ly.service
|
||||||
```
|
```
|
||||||
|
|
||||||
If you need to switch between ttys after Ly's start you also have to
|
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
|
disable getty on Ly's tty to prevent "login" from spawning on top of it
|
||||||
|
|
||||||
```
|
```
|
||||||
# systemctl disable getty@tty2.service
|
# systemctl disable getty@tty2.service
|
||||||
```
|
```
|
||||||
|
|
||||||
### OpenRC
|
### OpenRC
|
||||||
|
|
||||||
**NOTE 1**: On Gentoo, Ly will disable the `display-manager-init` service in order to run.
|
**NOTE 1**: On Gentoo, Ly will disable the `display-manager-init` service in order to run.
|
||||||
|
|
||||||
Clone, compile and test.
|
Clone, compile and test.
|
||||||
|
|
||||||
Install Ly and the provided OpenRC service
|
Install Ly and the provided OpenRC service
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installexe -Dinit_system=openrc
|
# zig build installexe -Dinit_system=openrc
|
||||||
```
|
```
|
||||||
|
|
||||||
Enable the service
|
Enable the service
|
||||||
|
|
||||||
```
|
```
|
||||||
# rc-update add ly
|
# rc-update add ly
|
||||||
```
|
```
|
||||||
|
@ -116,6 +134,7 @@ You can edit which tty Ly will start on by editing the `tty` option in the confi
|
||||||
|
|
||||||
If you choose a tty that already has a login/getty running (has a basic login prompt),
|
If you choose a tty that already has a login/getty running (has a basic login prompt),
|
||||||
then you have to disable getty, so it doesn't respawn on top of ly
|
then you have to disable getty, so it doesn't respawn on top of ly
|
||||||
|
|
||||||
```
|
```
|
||||||
# rc-update del agetty.tty2
|
# rc-update del agetty.tty2
|
||||||
```
|
```
|
||||||
|
@ -123,6 +142,7 @@ then you have to disable getty, so it doesn't respawn on top of ly
|
||||||
**NOTE 2**: To avoid a console spawning on top on Ly, comment out the appropriate line from /etc/inittab (default is 2).
|
**NOTE 2**: To avoid a console spawning on top on Ly, comment out the appropriate line from /etc/inittab (default is 2).
|
||||||
|
|
||||||
### runit
|
### runit
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installexe -Dinit_system=runit
|
# zig build installexe -Dinit_system=runit
|
||||||
# ln -s /etc/sv/ly /var/service/
|
# ln -s /etc/sv/ly /var/service/
|
||||||
|
@ -145,6 +165,7 @@ you should disable the agetty-tty2 service like this:
|
||||||
```
|
```
|
||||||
|
|
||||||
### s6
|
### s6
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installexe -Dinit_system=s6
|
# zig build installexe -Dinit_system=s6
|
||||||
```
|
```
|
||||||
|
@ -160,6 +181,7 @@ Finally, enable the service:
|
||||||
```
|
```
|
||||||
|
|
||||||
### dinit
|
### dinit
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installexe -Dinit_system=dinit
|
# zig build installexe -Dinit_system=dinit
|
||||||
# dinitctl enable ly
|
# dinitctl enable ly
|
||||||
|
@ -170,8 +192,9 @@ In addition to the steps above, you will also have to keep a TTY free within `/e
|
||||||
To do that, change `ACTIVE_CONSOLES` so that the tty that ly should use in `/etc/ly/config.ini` is free.
|
To do that, change `ACTIVE_CONSOLES` so that the tty that ly should use in `/etc/ly/config.ini` is free.
|
||||||
|
|
||||||
### Updating
|
### Updating
|
||||||
|
|
||||||
You can also install Ly without overrding the current configuration file. That's called
|
You can also install Ly without overrding the current configuration file. That's called
|
||||||
*updating*. To update, simply run:
|
_updating_. To update, simply run:
|
||||||
|
|
||||||
```
|
```
|
||||||
# zig build installnoconf
|
# zig build installnoconf
|
||||||
|
@ -180,95 +203,109 @@ You can also install Ly without overrding the current configuration file. That's
|
||||||
You can, of course, still select the init system of your choice when using this command.
|
You can, of course, still select the init system of your choice when using this command.
|
||||||
|
|
||||||
## Arch Linux Installation
|
## Arch Linux Installation
|
||||||
|
|
||||||
You can install ly from the [`[extra]` repos](https://archlinux.org/packages/extra/x86_64/ly/):
|
You can install ly from the [`[extra]` repos](https://archlinux.org/packages/extra/x86_64/ly/):
|
||||||
|
|
||||||
```
|
```
|
||||||
# pacman -S ly
|
# pacman -S ly
|
||||||
```
|
```
|
||||||
|
|
||||||
## Gentoo Installation
|
## Gentoo Installation
|
||||||
|
|
||||||
You can install ly from the GURU repository:
|
You can install ly from the GURU repository:
|
||||||
|
|
||||||
Note: If the package is masked, you may need to unmask it using ~amd64 keyword:
|
Note: If the package is masked, you may need to unmask it using ~amd64 keyword:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# echo 'x11-misc/ly ~amd64' >> /etc/portage/package.accept_keywords
|
# echo 'x11-misc/ly ~amd64' >> /etc/portage/package.accept_keywords
|
||||||
```
|
```
|
||||||
|
|
||||||
1. Enable the GURU repository:
|
1. Enable the GURU repository:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# eselect repository enable guru
|
# eselect repository enable guru
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Sync the GURU repository:
|
2. Sync the GURU repository:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# emaint sync -r guru
|
# emaint sync -r guru
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Install ly from source:
|
3. Install ly from source:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# emerge --ask x11-misc/ly
|
# emerge --ask x11-misc/ly
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
You can find all the configuration in `/etc/ly/config.ini`.
|
You can find all the configuration in `/etc/ly/config.ini`.
|
||||||
The file is commented, and includes the default values.
|
The file is commented, and includes the default values.
|
||||||
|
|
||||||
## Controls
|
## Controls
|
||||||
|
|
||||||
Use the up and down arrow keys to change the current field, and the
|
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
|
left and right arrow keys to change the target desktop environment
|
||||||
while on the desktop field (above the login field).
|
while on the desktop field (above the login field).
|
||||||
|
|
||||||
## .xinitrc
|
## .xinitrc
|
||||||
|
|
||||||
If your .xinitrc doesn't work make sure it is executable and includes a shebang.
|
If your .xinitrc doesn't work make sure it is executable and includes a shebang.
|
||||||
This file is supposed to be a shell script! Quoting from xinit's man page:
|
This file is supposed to be a shell script! Quoting from xinit's man page:
|
||||||
|
|
||||||
> If no specific client program is given on the command line, xinit will look for a file in the user's home directory called .xinitrc to run as a shell script to start up client programs.
|
> If no specific client program is given on the command line, xinit will look for a file in the user's home directory called .xinitrc to run as a shell script to start up client programs.
|
||||||
|
|
||||||
On Arch Linux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this:
|
On Arch Linux, the example .xinitrc (/etc/X11/xinit/xinitrc) starts like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tips
|
## Tips
|
||||||
|
|
||||||
- The numlock and capslock state is printed in the top-right corner.
|
- The numlock and capslock state is printed in the top-right corner.
|
||||||
- Use the F1 and F2 keys to respectively shutdown and reboot.
|
- 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
|
- Take a look at your .xsession if X doesn't start, as it can interfere
|
||||||
(this file is launched with X to configure the display properly).
|
(this file is launched with X to configure the display properly).
|
||||||
|
|
||||||
## Supported Wayland Environments
|
## Supported Wayland Environments
|
||||||
- budgie
|
|
||||||
- cosmic
|
- budgie
|
||||||
- deepin
|
- cosmic
|
||||||
- enlightenment
|
- deepin
|
||||||
- gnome
|
- enlightenment
|
||||||
- hyprland
|
- gnome
|
||||||
- kde
|
- hyprland
|
||||||
- labwc
|
- kde
|
||||||
- niri
|
- labwc
|
||||||
- pantheon
|
- niri
|
||||||
- sway
|
- pantheon
|
||||||
- weston
|
- sway
|
||||||
|
- weston
|
||||||
|
|
||||||
## Supported X11 Environments
|
## Supported X11 Environments
|
||||||
- awesome
|
|
||||||
- bspwm
|
|
||||||
- budgie
|
|
||||||
- cinnamon
|
|
||||||
- dwm
|
|
||||||
- enlightenment
|
|
||||||
- gnome
|
|
||||||
- kde
|
|
||||||
- leftwm
|
|
||||||
- lxde
|
|
||||||
- mate
|
|
||||||
- maxx
|
|
||||||
- pantheon
|
|
||||||
- qwm
|
|
||||||
- spectrwm
|
|
||||||
- windowmaker
|
|
||||||
- xfce
|
|
||||||
- xmonad
|
|
||||||
|
|
||||||
|
- awesome
|
||||||
|
- bspwm
|
||||||
|
- budgie
|
||||||
|
- cinnamon
|
||||||
|
- dwm
|
||||||
|
- enlightenment
|
||||||
|
- gnome
|
||||||
|
- kde
|
||||||
|
- leftwm
|
||||||
|
- lxde
|
||||||
|
- mate
|
||||||
|
- maxx
|
||||||
|
- pantheon
|
||||||
|
- qwm
|
||||||
|
- spectrwm
|
||||||
|
- windowmaker
|
||||||
|
- xfce
|
||||||
|
- xmonad
|
||||||
|
|
||||||
## Additional Information
|
## Additional Information
|
||||||
|
|
||||||
The name "Ly" is a tribute to the fairy from the game Rayman.
|
The name "Ly" is a tribute to the fairy from the game Rayman.
|
||||||
Ly was tested by oxodao, who is some seriously awesome dude.
|
Ly was tested by oxodao, who is some seriously awesome dude.
|
||||||
|
|
Loading…
Reference in New Issue