JezerM/web-greeter

web-greeter keeps on restarting in fedora 34

Closed this issue · 12 comments

Hello,

So i built web-greeter no problem. Running web-greeter in debug mode loads the greeter fine, but if I replace the greeter-session option in the lighdm.conf file, light dm keeps looping, like it stays on a black screen, but i notice my curson go from pointer to spinner constantly, I tried to log in via ttyl but i keep getting kicked because lightdm keeps boot looping. I set my greeter session to web-greeter.

Anyone know why this is? I have the same issue in plasma x11 and gnome x11

Could you provide the log inside /var/log/lightdm/seat0-greeter.log?

Could you provide the log inside /var/log/lightdm/seat0-greeter.log?

image

it has nothing else in the log

Wow, that's empty... It should at least show some errors.

Could you provide also /var/log/lightdm/lightdm.log?

Normally, this happens because of the greeter just crashing and LightDM trying to run the greeter over and over again.

So, from what you said, it works on a session, but not from LightDM. That means the python dependencies are only available from the user, but not from the root.

Therefore, you could try to install the python dependencies globally, with sudo, if they aren't.

Wow, that's empty... It should at least show some errors.

Could you provide also /var/log/lightdm/lightdm.log?

Normally, this happens because of the greeter just crashing and LightDM trying to run the greeter over and over again.

So, from what you said, it works on a session, but not from LightDM. That means the python dependencies are only available from the user, but not from the root.

Therefore, you could try to install the python dependencies globally, with sudo, if they aren't.
image

I did run the requirement.py via sudo. I copied and pasted the command in readme

image

Wow, that's empty... It should at least show some errors.

Could you provide also /var/log/lightdm/lightdm.log?

Normally, this happens because of the greeter just crashing and LightDM trying to run the greeter over and over again.

So, from what you said, it works on a session, but not from LightDM. That means the python dependencies are only available from the user, but not from the root.

Therefore, you could try to install the python dependencies globally, with sudo, if they aren't.

Here is the debug working:

image

Hmm... Try to run web-greeter as root, and provide the errors.

NOTE: --no-sandbox error is expected with root

Hmm... Try to run web-greeter as root, and provide the errors.

NOTE: --no-sandbox error is expected with root

I get this error:

image

It doesnt even open up a debug window

Wow... Sadly, there's no information I can rely on to help you. It works fine on user, but not on LightDM and root. So, it could be that some things aren't installed globally and so web-greeter crashes. However, you said everything is installed, and on root too.

The information you provided me is not so helpful. If you want to give helpful info, follow these steps:

  • Set greeter-session=web-greeter inside /etc/lightdm/lightdm.conf
  • Open a VT, like VT1 or VT2, log in with your user or root, and prepare one of these commands (with root privilegies):
    • systemctl stop lightdm.service
    • service lightdm stop
  • Restart lightdm.service from your actual session (this will close your session).
  • Wait some seconds until you see LightDM trying to run web-greeter over and over again.
  • Open your VT and run one of the previous commands to stop LightDM. This will allow you to navigate freely without LightDM interrupting you.
  • Go to /var/log/lightdm and copy these files (or the entire directory) to your home directory or wherever you want:
    • lightdm.log
    • seat0-greeter.log
  • Change your greeter-session to some greeter that actually works, and restart lightdm.

After you log in to your session, check the log you copied and provide it here. These logs will contain the actual behavior of LightDM and all the errors web-greeter could have.

Tried Fedora inside a VM, and web-greeter didn't work. Seems the problem is Qt5-WebEngine, which fails at:

self.profile = QWebEngineProfile.defaultProfile()

However... I don't know why this happens. web-greeter works when logged in inside Fedora with web-greeter --debug, and also with lightdm --test-mode, but not with LightDM itself.

For now, I don't know how to fix this issue :c

Hi, @Root-voidX, finally after a long time, I found the cause of the problem. Turns out that Fedora runs the LightDM environment with root privilegies, which breaks everything since browsers can't run as root. So I just added a simple patch that forces web-greeter to run with the --no-sandbox flag if you're using Fedora.

You could try to build the latest commit in the master branch 60f0d1f, and tell me if it works~

Hi, @Root-voidX, finally after a long time, I found the cause of the problem. Turns out that Fedora runs the LightDM environment with root privilegies, which breaks everything since browsers can't run as root. So I just added a simple patch that forces web-greeter to run with the --no-sandbox flag if you're using Fedora.

You could try to build the latest commit in the master branch 60f0d1f, and tell me if it works~

Hey sorry for the delay, I will try it with new commit. Thanks for looking into it. This should work on latest fedora too =)