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

Xsession files not run because wrong conf #40

Closed Thanatermesis closed 4 years ago

Thanatermesis commented 4 years ago

grep etc /etc/entrance/entrance.conf

value "session_login" string: ""/etc"/entrance/Xsession";

There's a bug on this location (see the double quotes between /etc ?), this causes some xsession's to not be run (like pulseaudio),

Apparently this is caused by meson.build which replaces the identifier with adding unneeded quotes

wltjr commented 4 years ago

Hi, thanks for the report. Yes, you are correct that meson adds some unwanted quotes. I meant to look into an fix that but had not had the time. I will check in with the meson community and find a solution. Thanks!

wltjr commented 4 years ago

I am not sure if this is actually an issue, other than being less than ideal. When I look at the binary version of the configuration file, it does not show any breakage like in the text version of the config file.

FYI, while entrance does read /etc/entrance/entrance.conf it converts that to a binary in /var/cache/entrance/entrance.cfg or other location as specified during bulid. If you dump the binary, the path is correct.

# eet -d /var/cache/entrance/entrance.cfg config
group "Entrance_Config" struct {
    value "session_path" string: "/bin:/usr/bin:/usr/local/bin";
    value "vtnr" ushort: 7;
    value "xinit_path" string: "/usr/bin/X";
    value "xdisplay" string: ":0";
    value "xinit_args" string: "-nolisten tcp -br";
    value "xauth_path" string: "/usr/bin/xauth";
    value "xauth_file" string: "/var/run/entrance.auth";
    value "session_start" string: "/usr/bin/sessreg -a -l";
    value "session_login" string: "/etc/entrance/Xsession";

See that last line. Entrance uses the binary not the text. If the quotes in the text version were problematic, then it would show up in the binary config. You might want to dump your binary configuration and see if that variable is any different.

Nonetheless, I will see about eliminating the nested quotes. But that is more for human eyes, as it does not seem to be an issue as is now.

wltjr commented 4 years ago

FYI, you can confirm if the Xsessions file was run or not by the following.

$ grep "Entrance prepare session" ~/.entrance_session.log
Entrance prepare session

If you see that output from grep, then it ran the Xsessions file. If pulseaudio or other is not starting, that maybe a different issue. Do you have dbus running? Another ran into some issues in issue #38 regarding dbus and pulseaudio. Although, I am not clear on what the exact fix was for that issue.

Thanatermesis commented 4 years ago

What I exactly noticed is that pulseaudio was not run at start, then I noticed this Xsession entry wrong, after to fix manually the conf file, pulseaudio started correctly

Then I had another issue, where I cannot run "thunar" because of a wrong dbus connection, but here's an interesting part about it:

So here's some points about the previous facts:

wltjr commented 4 years ago

Thank you for the detailed information! That is very useful! The Xsession is interesting, as that does not cause any issues for me, but I will take your word that it did cause an issue for you. You are correct about e23 starting dbus, which actually, is a requirement of EFL. You cannot build newer EFL without dbus. I was already planning to interact with dbus for logind/elogind seat initiation and env variables. I will have to look into a solution for starting a dbus session, which seems to be unrelated to the Xsession file path in the configuration file from meson.