JezerM / web-greeter

A modern, visually appealing greeter for LightDM.
https://web-greeter-page.vercel.app
GNU General Public License v3.0
216 stars 12 forks source link

Web-greeter fails to start on openSUSE tumbleweed #54

Closed Iznoanygod closed 2 years ago

Iznoanygod commented 2 years ago

Environment

Bug description

web-greeter doesn't launch no matter how it is launched. Its probably a library issue? Tried using --debug, but it doesn't change anything

Traceback (most recent call last):
  File "/usr/lib64/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib64/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/lib/web-greeter/__main__.py", line 121, in <module>
    import globales
  File "/usr/lib/web-greeter/globales.py", line 3, in <module>
    from bridge import Config, Greeter, ThemeUtils
  File "/usr/lib/web-greeter/bridge/__init__.py", line 154, in <module>
    from .Greeter import Greeter
  File "/usr/lib/web-greeter/bridge/Greeter.py", line 33, in <module>
    gi.require_version('LightDM', '1')
  File "/usr/lib64/python3.10/site-packages/gi/__init__.py", line 126, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace LightDM not available
JezerM commented 2 years ago

Hmm, perhaps you didn't install the liblightdm-gobject package. Try to install the following packages and try again: liblightdm-gobject-1-0, gobject-introspection.

Iznoanygod commented 2 years ago

The libraries were already installed, so it seems like its a linking issue

Loading repository data...
Reading installed packages...
'gobject-introspection' is already installed.
No update candidate for 'gobject-introspection-1.74.0-2.1.x86_64'. The highest available version is already installed.
'liblightdm-gobject-1-0' is already installed.
No update candidate for 'liblightdm-gobject-1-0-1.30.0-9.6.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.
JezerM commented 2 years ago

I tried openSUSe tumbleweed in a VM to trace this error. I found that it is an openSUSE bug related to the liblightdm-gobject-1 package; the most important component in this package is missing from the repository: /usr/lib/girepository-1.0/LightDM-1.typelib. This file determines the gobject namespace for LightDM, but it is missing on openSUSE, hence this error occurs.

Files listed in liblightdm-gobject VoidLinux's package:

Captura de Pantalla 2022-10-16 a la(s) 13 41 54

Files listed in liblightdm-gobject-1 openSUSE's package:

Captura de Pantalla 2022-10-16 a la(s) 13 42 44

Luckily, there is another package that provides it: typelib-1_0-LightDM-1. Just install this package and web-greeter should work~ I will add this to the README.

Iznoanygod commented 2 years ago

we-greeter is able to launch, but it is having issues running a theme that should work. I'm trying out the Aether theme and it's having some issues. Ran it with web-greeter --debug and got this

2022-10-17 00:59:48 [ ERROR ] acpi - acpi.py:20 : __init__ | ACPI: acpi_listen does not exists
2022-10-17 00:59:48 [ DEBUG ] Greeter - Greeter.py:116 : __init__ | LightDM API connected
2022-10-17 00:59:48 [ WARNING ] config - config.py:180 : load_theme_config | Theme config was not loaded
        index.yml file not found
2022-10-17 00:59:48 [ DEBUG ] config - config.py:181 : load_theme_config | Using default theme config
2022-10-17 00:59:48 [ DEBUG ] browser - browser.py:189 : create_windows | Browser Window created
2022-10-17 00:59:48 [ DEBUG ] screensaver - screensaver.py:57 : set_screensaver | Screensaver timeout se
2022-10-17 00:59:48 [ DEBUG ] browser - browser.py:252 : init | Initializing Browser Window
2022-10-17 00:59:48 [ DEBUG ] browser - browser.py:272 : load_theme | Theme loaded
2022-10-17 00:59:48 [ DEBUG ] browser - browser.py:234 : show | Web Greeter started win: 10936
2022-10-17 00:59:48 [ DEBUG ] browser - browser.py:238 : run | Web Greeter started
2022-10-17 00:59:48 [ ERROR ] web-greeter://app//usr/share/web-greeter/themes/Aether/dist/js/Aether.js 22: TypeError: Cannot read property 'get_str' of undefined

I'm not sure if this is an issue in Aether or the web-greeter but the greeter works in other distros so I'm guessing there's still something borked

JezerM commented 2 years ago

Which Aether version are you using? The NoiSek one? Or my fork?

The original Aether theme, the NoiSek one, hasn't been updated since 2020 and so it's still using deprecated API that doesn't work on web-greeter/nody-greeter/sea-greeter. I recommend you to use my fork, which fixes this issue and some others related to old libraries.

I made a PR last year, but it hasn't received a response yet.

Iznoanygod commented 2 years ago

Ah there's the issue. I blindly copied the git clone line, forgot that I need to change to your fork. Fixed, TY