Obsidian-StudiosInc / entrance

General purpose Display Manager built on the Enlightenment Foundation Libraries (EFL)
GNU General Public License v3.0
23 stars 10 forks source link

Almost working on Debian Bookworm (testing as of 2022) ... login fails. #52

Closed alexolivan closed 1 year ago

alexolivan commented 2 years ago

Hi!

I'm building a Debian system using enlightenment, and I'm trying to build and install everything not packaged by Debian maintainers. So far, so good, I've most of the system complete (I've got problems with EDI and some other tools)

Entrance, though, is a major challenge for my skills... here's where I'm stuck on:

Maybe someone with experience in recent Debianish (Mint, Ubuntu, etc..) could help figure out what I'm missing.

Build yeld something like this (from log):

Configuring config.h using configuration
Configuring entrance.conf using configuration
Configuring entrance using configuration
Program msgfmt found: YES (/usr/bin/msgfmt)
Program msginit found: YES (/usr/bin/msginit)
Program msgmerge found: YES (/usr/bin/msgmerge)
Program xgettext found: YES (/usr/bin/xgettext)
Build targets in project: 10
NOTICE: Future-deprecated features used:
 * 0.56.0: {'dependency.get_pkgconfig_variable', 'meson.source_root', 'gui_app arg in executable'}

Found ninja-1.11.0 at /usr/bin/ninja
Failed to guess install tag for /usr/local/etc/entrance/entrance.conf
Failed to guess install tag for /usr/local/etc/pam.d/entrance
Failed to guess install tag for /usr/local/etc/entrance/Xsession

And install log looks like that:

# List of files installed by Meson
# Does not contain files installed by custom scripts.
/usr/local/lib/x86_64-linux-gnu/entrance/entrance_client
/usr/local/sbin/entrance
/usr/local/share/entrance/themes/default.edj
/usr/local/share/locale/es/LC_MESSAGES/entrance.mo
/usr/local/share/locale/fr/LC_MESSAGES/entrance.mo
/usr/local/share/locale/de/LC_MESSAGES/entrance.mo
/usr/local/share/locale/hu/LC_MESSAGES/entrance.mo
/usr/local/etc/entrance/entrance.conf
/usr/local/etc/pam.d/entrance
/usr/local/etc/entrance/Xsession
/usr/local/etc/pam.d
/usr/local/etc/entrance
/usr/local/share/locale/hu/LC_MESSAGES
/usr/local/share/locale/hu
/usr/local/share/entrance/themes
/usr/local/share/entrance
/usr/local/lib/x86_64-linux-gnu/entrance

Cheers!

wltjr commented 1 year ago

The lack of a background, and also inability to log in, is due to failure of communication between the client and server, and no, this is not X server/client, this is EFL ecore client/server. The UI is basically the client, so lack of a background, is the client failing to connect to server to know which background was used in the configuration file, and similar with log in.

Changes in EFL long ago broke this, and I have never been able to track down the issue, nor others. I am unsure if it is some sort of race condition, but the socket file used for communication disappears. Its possible this is an issue in EFL and not entrance specific. I am unaware of any other consumers, applications using ecore client/server, beyond the tests in EFL which all pass, so those do not show any breakage in ecore client/server. It could be something specific to EFL vs Entrance.

Beyond that issue, also hindering further development is the Wayland issue, which to replace X some compositor must be added for EFL to render to screen; EFL's compositor is in Enlightenment not EFL. Not to mention proper logind/elogind integration, which I have never managed due in part to poor upstream documentation, so entrance does not have proper seat management. That is necessary to properly replace the EOL consolekit. So there are multiple issues effecting further development, on top of me needing to redo my dev env, move stuff to docker containers for portable ci testing, etc.

alexolivan commented 1 year ago

Hi.

Thank you for your feedback. So I guess that, being many problems around could be the cause that, while most of the desktop is packaged in Debian repo, entrance isn't, as an indication that it is better to forget about it for the average Debian user in the time being.

Thank you for your work. Best regards.

wltjr commented 11 months ago

Looks like starting it with the -n or --nodaemon option gets entrance fully running again. I will be removing the problematic code and closing #34 when that is done.

alexolivan commented 11 months ago

Hi ... Awesome news!

Hopefully, if the issue is fixed, Debian packagers/maintainers may eventually notice it and bring Entrance to the repos in future Debian releases. Sadly I think this will take years, but, OTOH, if Entrance makes to Debian repo beside the other Display Managers, then it will bring it into Ubuntu, Mint and all other Debian-based distros... I think it would help to put Enlightenment to the place it deserves among the other Desktop Environments :-)

Cheers!

wltjr commented 11 months ago

Yes, I just need to remove the daemonization code, most will use s-s-d or & to background it so no need, and that is what causes the problem. Enlightenment isn't really liked in the e community, and raster wants to make E into a login manager which would make entrance irrelevant, though that idea has not materialized in many years, and I don't know how well using E to log into other desktops might work. Not sure what the future for entrance will be, but it should work fine now, I reverted back to using it instead of lightdm, and I have full session control.