JezerM / sea-greeter

LightDM greeter made with WebKit2GTK
https://web-greeter-page.vercel.app
GNU General Public License v3.0
23 stars 1 forks source link

Hangs on boot, built manually on Arch Linux #4

Closed lakejason0 closed 1 year ago

lakejason0 commented 1 year ago

I followed the build tutorial, however after changing the greeter, lightdm shows nothing (not even the cursor) on boot. TTYs are still available so I had to change the greeter back through TTY. lightdm is 1.32.0-4.

JezerM commented 1 year ago

Could you post the greeter's log? You can find it in /var/log/lightdm/seat0-greeter.log (make sure you're using sea-grreeter as the default greeter). Also, you could try to run it in a normal session on your terminal: sea-greeter -d and see if there's any issue.

lakejason0 commented 1 year ago

Could you post the greeter's log? You can find it in /var/log/lightdm/seat0-greeter.log (make sure you're using sea-grreeter as the default greeter). Also, you could try to run it in a normal session on your terminal: sea-greeter -d and see if there's any issue.

I'll try it, but firstly I'd want to know how I should pack it...

JezerM commented 1 year ago

Pack it? Are you referring to the log? If so, just copy the file contents and paste it here. The same with the terminal log, run sea-greeter -d, check if everything is ok, close the greeter and copy-paste the terminal log.

lakejason0 commented 1 year ago

sea-greeter -d:

❯ sea-greeter -d
2023-01-26 14:12:02 [ DEBUG ] settings.c 398: Configuration loaded
Gtk-Message: 14:12:02.146: Failed to load module "appmenu-gtk-module"
2023-01-26 14:12:02 [ ERROR ] lightdm.c 718: Unable to determine socket to daemon

** (sea-greeter:8296): CRITICAL **: 14:12:02.155: lightdm_greeter_ensure_shared_data_dir_sync: assertion 'priv->connected' failed
[1]    8296 segmentation fault (core dumped)  sea-greeter -d
JezerM commented 1 year ago

Hmm, that's really weird. Could you try with G_MESSAGES_DEBUG=all sea-greeter -d?

lakejason0 commented 1 year ago

After installing the module:

❯ sea-greeter -d
2023-01-26 14:14:26 [ DEBUG ] settings.c 398: Configuration loaded
2023-01-26 14:14:26 [ ERROR ] lightdm.c 718: Unable to determine socket to daemon

** (sea-greeter:8941): CRITICAL **: 14:14:26.916: lightdm_greeter_ensure_shared_data_dir_sync: assertion 'priv->connected' failed
[1]    8941 segmentation fault (core dumped)  sea-greeter -d
❯ G_MESSAGES_DEBUG=all sea-greeter -d
2023-01-26 14:15:03 [ DEBUG ] settings.c 398: Configuration loaded
(sea-greeter:8992): GLib-GIO-DEBUG: 14:15:03.292: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
(sea-greeter:8992): GLib-GIO-DEBUG: 14:15:03.296: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
(sea-greeter:8992): GLib-GIO-DEBUG: 14:15:03.310: _g_io_module_get_default: Found default implementation dconf (DConfSettingsBackend) for ‘gsettings-backend’
(sea-greeter:8992): dconf-DEBUG: 14:15:03.310: watch_fast: "/org/appmenu/gtk-module/" (establishing: 0, active: 0)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.310: unwatch_fast: "/org/appmenu/gtk-module/" (active: 0, establishing: 1)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.311: watch_established: "/org/appmenu/gtk-module/" (establishing: 0)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.311: watch_fast: "/org/appmenu/gtk-module/" (establishing: 0, active: 0)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.311: unwatch_fast: "/org/appmenu/gtk-module/" (active: 0, establishing: 1)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.311: watch_established: "/org/appmenu/gtk-module/" (establishing: 0)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.313: watch_fast: "/org/appmenu/gtk-module/" (establishing: 0, active: 0)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.313: unwatch_fast: "/org/appmenu/gtk-module/" (active: 0, establishing: 1)
(sea-greeter:8992): dconf-DEBUG: 14:15:03.313: watch_established: "/org/appmenu/gtk-module/" (establishing: 0)
(sea-greeter:8992): GLib-DEBUG: 14:15:03.313: unsetenv() is not thread-safe and should not be used after threads are created
(sea-greeter:8992): Gtk-DEBUG: 14:15:03.313: Connecting to session manager
(sea-greeter:8992): Gtk-DEBUG: 14:15:03.314: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(sea-greeter:8992): Gtk-DEBUG: 14:15:03.314: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
** (sea-greeter:8992): DEBUG: 14:15:03.315: Connecting to display manager...
2023-01-26 14:15:03 [ ERROR ] lightdm.c 718: Unable to determine socket to daemon
(sea-greeter:8992): GLib-GIO-DEBUG: 14:15:03.315: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
** (sea-greeter:8992): DEBUG: 14:15:03.315: Loading users from org.freedesktop.Accounts
** (sea-greeter:8992): DEBUG: 14:15:03.315: User /org/freedesktop/Accounts/User1000 added

** (sea-greeter:8992): CRITICAL **: 14:15:03.322: lightdm_greeter_ensure_shared_data_dir_sync: assertion 'priv->connected' failed
[1]    8992 segmentation fault (core dumped)  G_MESSAGES_DEBUG=all sea-greeter -d
lakejason0 commented 1 year ago

1674714112394-min

JezerM commented 1 year ago

Ok, thanks. I already solved this crash issue in the latest commit (543276fce09d58f5221841ddfd9378b86b2592c3). You can compile it, install and try again with sea-greeter -d.

lakejason0 commented 1 year ago

I'll try it again, after confirming it alright I'll close it,

lakejason0 commented 1 year ago

Well it still hangs on boot, which is that it still shows blank screen on boot. However manually switching to Ctrl+Alt+F7 it shows up and works... for some reason.

JezerM commented 1 year ago

Hmm, can you provide the log in /var/log/lightdm/seat0-greeter.log? Also, you can follow the steps in this comment so the greeter's log can show more info.

lakejason0 commented 1 year ago

There isn't a file called /etc/lightdm/Xgreeter, and nothing is "wrong" in the log without the debug env.

2023-01-26 14:47:04 [ DEBUG ] settings.c 398: Configuration loaded
2023-01-26 14:47:32 [ DEBUG ] lightdm.c 739: LightDM API connected
2023-01-26 14:47:32 [ DEBUG ] main.c 37: Extension initialized
2023-01-26 14:47:32 [ DEBUG ] theme.c 312: Theme loaded
2023-01-26 14:47:32 [ DEBUG ] browser-web-view.c 124: Sea greeter started win: 1
JezerM commented 1 year ago

There isn't a file called /etc/lightdm/Xgreeter

Oh, yeah, I forgot to include it in this project xd

You can create it with the following content: (Also, make it executable with chmod +x)

#!/bin/bash
#
# LightDM wrapper to run around greeter X sessions.

xsetroot -cursor_name left_ptr

G_MESSAGES_DEBUG=all exec $@ 1>&2
lakejason0 commented 1 year ago

...It seems like the same issue of #3. Anyway, it kinda works now. Thank you!

2023-01-26 15:03:14 [ DEBUG ] settings.c 398: Configuration loaded
(sea-greeter:1005): GLib-GIO-DEBUG: 15:03:14.618: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
(sea-greeter:1005): GLib-DEBUG: 15:03:14.688: unsetenv() is not thread-safe and should not be used after threads are created
(sea-greeter:1005): Gtk-DEBUG: 15:03:14.689: Connecting to session manager
(sea-greeter:1005): Gtk-DEBUG: 15:03:14.689: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(sea-greeter:1005): Gtk-DEBUG: 15:03:14.689: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
(sea-greeter:1005): Gtk-DEBUG: 15:03:39.715: Failed to get an inhibit portal proxy: 为 org.freedesktop.portal.Desktop 调用 StartServiceByName 时出错:已到超时限制
(sea-greeter:1005): GLib-GIO-DEBUG: 15:03:39.727: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
** (sea-greeter:1005): DEBUG: 15:03:39.739: Connecting to display manager...
** (sea-greeter:1005): DEBUG: 15:03:39.739: Wrote 26 bytes to daemon
** (sea-greeter:1005): DEBUG: 15:03:39.739: Read 8 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:39.739: Read 160 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:39.739: Connected api=1 version=1.32.0 hide-users=false has-guest-account=false default-session=default show-manual-login=false show-remote-login=true
(sea-greeter:1005): GLib-GIO-DEBUG: 15:03:39.739: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
** (sea-greeter:1005): DEBUG: 15:03:39.741: Loading users from org.freedesktop.Accounts
** (sea-greeter:1005): DEBUG: 15:03:39.741: User /org/freedesktop/Accounts/User1000 added
** (sea-greeter:1005): DEBUG: 15:03:39.755: Ensuring data directory for user lakejason0
** (sea-greeter:1005): DEBUG: 15:03:39.755: Wrote 22 bytes to daemon
** (sea-greeter:1005): DEBUG: 15:03:39.755: Read 8 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:39.755: Read 36 bytes from daemon
2023-01-26 15:03:39 [ DEBUG ] lightdm.c 739: LightDM API connected
2023-01-26 15:03:39 [ DEBUG ] main.c 37: Extension initialized
2023-01-26 15:03:39 [ DEBUG ] theme.c 312: Theme loaded
(process:1067): GLib-GIO-DEBUG: 15:03:39.837: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
(process:1067): GLib-GIO-DEBUG: 15:03:39.838: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
(process:1067): GLib-GIO-DEBUG: 15:03:39.839: _g_io_module_get_default: Found default implementation networkmanager (GNetworkMonitorNM) for ?gio-network-monitor?
(process:1067): GLib-GIO-DEBUG: 15:03:39.842: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
(process:1067): GLib-GIO-DEBUG: 15:03:39.844: Failed to initialize portal (GPowerProfileMonitorPortal) for gio-power-profile-monitor: Not using portals
(process:1067): GLib-GIO-DEBUG: 15:03:39.844: _g_io_module_get_default: Found default implementation dbus (GPowerProfileMonitorDBus) for ?gio-power-profile-monitor?
(WebKitWebProcess:1068): GLib-GIO-DEBUG: 15:03:39.918: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
(WebKitWebProcess:1068): GLib-GIO-DEBUG: 15:03:39.968: Failed to initialize portal (GPowerProfileMonitorPortal) for gio-power-profile-monitor: Not using portals
(WebKitWebProcess:1068): GLib-GIO-DEBUG: 15:03:39.969: _g_io_module_get_default: Found default implementation dbus (GPowerProfileMonitorDBus) for ‘gio-power-profile-monitor’
(WebKitWebProcess:1068): GLib-GIO-DEBUG: 15:03:39.969: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
** (sea-greeter:1005): DEBUG: 15:03:40.133: Loading sessions from org.freedesktop.DisplayManager
** (sea-greeter:1005): DEBUG: 15:03:40.136: Loaded session /usr/share/xsessions/plasma.desktop (Plasma (X11), KDE Plasma)
** (sea-greeter:1005): DEBUG: 15:03:40.136: Loaded session /usr/share/wayland-sessions/plasmawayland.desktop (Plasma (Wayland), KDE Plasma)
2023-01-26 15:03:40 [ DEBUG ] browser-web-view.c 124: Sea greeter started win: 1
** (sea-greeter:1005): DEBUG: 15:03:40.367: Wrote 8 bytes to daemon
** (sea-greeter:1005): DEBUG: 15:03:40.369: Starting authentication for user lakejason0...
** (sea-greeter:1005): DEBUG: 15:03:40.369: Wrote 26 bytes to daemon
** (sea-greeter:1005): DEBUG: 15:03:40.374: Read 8 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:40.374: Read 40 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:40.374: Prompt user with 1 message(s)
** (sea-greeter:1005): DEBUG: 15:03:45.309: Providing response to display manager
** (sea-greeter:1005): DEBUG: 15:03:45.309: Wrote 24 bytes to daemon
** (sea-greeter:1005): DEBUG: 15:03:45.331: Read 8 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:45.331: Read 22 bytes from daemon
** (sea-greeter:1005): DEBUG: 15:03:45.331: Authentication complete for user lakejason0 with return code 0
** (sea-greeter:1005): DEBUG: 15:03:45.734: Starting session plasma
** (sea-greeter:1005): DEBUG: 15:03:45.734: Wrote 18 bytes to daemon