Please report bugs/issues at git.enlightenment.org
Enlightenment is a Window Manager, Compositor and basic "Desktop Shell". It replaces your environment that runs your day to day GUI Desktop. It includes a built-in file manager, Launcher, Shelves, Settings dialogs, Menus, Audo Mixer controls and much much more.
It is primarly developed for X11, but does have an experimental Wayland mode
Things that need doing:
- libpam (Required on Linux, not BSD)
- libexif (exif metadata display support)
- bluez5 (BT support and l2ping tool)
- bc (For everything calculator)
- acpid (Unless your system doesn't have ACPI at all)
- packagekit (For packagekit module updates status)
- gdb (If you want automatic bactraces in ~/.e-crashdump.txt)
Compiling and Installing
Meson is the build system used for this project. For more information please see mesonbuild.com
You will need normal build tooling installed such as a compiler (gcc or clang for example), pkg-config, ninja, any relevant package-dev or package-devel packages if your distribution splits out development headers (e.g. libc6-dev) etc.
Depending on where dependencies (like efl) are installed, you might have to
PKG_CONFIG_PATH environment variable like:
Also note that some distributions like to add extra arch directories to your library locations so you might have to have more like:
You will need to enusre that the destination library directory (e.g.
/usr/local/lib is in your /etc/ld.so.conf or /etc/ld.so.conf.d/
files and after installing anything that installs libraries you
ldconfig. Please see relevant documentation on ldconfig and
ld.so.conf for your distribution.
You might also want to add the destination bin dir to your environment variable PATH (see documentation on your shell PATH variable) such as:
Normal compilation in /usr/local:
meson . build ninja -C build sudo ninja -C build install
For meson build generic options:
For a list of project specific options supported:
To set 1 or more project specific options:
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
To display current configuration:
meson configure build
The above will only work after at least the following is done:
meson . build
Quick build help
How clean out the build and config and start fresh:
rm -rf build
How to make a dist tarball and check its build: (must do it from git tree clone and commit all changes to git first)
ninja -C build dist
How to change prefix:
meson --prefix=/path/to/prefix . build
How to install in a specific destination directory for packaging:
DESTDIR=/path/to/destdir ninja -C build install
How to build with verbose output (full commands run):
ninja -C build -v
NOTE: If you install enlightenment to the default compile prefix
/usr/local) then you might want to ensure the session file is
accessible to your login manager (assuming you use one) by doing
sudo ln -s /usr/local/share/xsessions/enlightenment.desktop /usr/share/xsessions/enlightenment.desktop
You can also just set up a custom launcher script. Edit the
~/.xinitrc file in your home directory and have it have this content:
#!/bin/sh exec /usr/local/bin/enlightenment_start >& ~/.xsession-errors
You may also want your
~/.xsession file ot be the same, so make a
ln -s .xinitrc .xsession
/usr/local as well ans just modify based on your
install prefix location.
If you do not use a login manager you can just log into a text console
startx after the above
.xinitrc file is set up.
NOTE: If you do not want security issues make sure
sysactions.conf is in
PREFIX/etc/enlightenment) as this is the first
place it looks at. This file is intended to be customized by packagers and
system integrators to match your policies and scripts/tools. This also
system.conf in the same directory.
NOTE: To enable Wayland support (still considered experimental and not for regular end users) use the meson -Dwl=true option. To run Enlightenment in Eayland mode, just log on on any text VT and run enlightenment_start. If you wish to debug and see all the output try using something like screen then attaching to the remote screen session by sshing in etc.