Package: light-locker
Version: 1.8.0-3
Severity: important
Control: affects -1 xpra
Thanks so much as always for your work to make Debian a great desktop
environment.
TL;DR of my bug report: if you have an xpra session running, a lock (either
one triggered automatically by timeout or running `light-locker-command -l`
on DISPLAY :0) will lock up both VT7 and VT8 in a pattern that seems like an
X session is being restarted over and over. Holding down C-A-F1 to get to
VT1 to race with it can get you back to a non-graphical login and you can
restart lightdm entirely, which does recover the situation, but I've found no
method to recover other than that.
I tried this against both these xpra packages (one from buster and one from
buster-backports); 2.4.3+dfsg1-1 and 3.0.4+dfsg1-1~bpo10+1
Here's the full details:
Note that the reportbug script included my
`/etc/xdg/autostart/light-locker.desktop` because I changed this one line to
get you more debug output, so the only change there is:
Exec=light-locker --debug
but note the problem occurs regardless of whether or not `--debug` is added
there.
First, the "working run-through":
Log in as normal. light-locker reports this in debug:
[main] light-locker.c:142 (08:57:43):initializing light-locker 1.8.0
[main] light-locker.c:164 (08:57:43):Platform:
gtk:3
systemd:yes
ConsoleKit: no
UPower: yes
[main] light-locker.c:196 (08:57:43):Features:
lock-after-screensaver: yes
late-locking: yes
lock-on-suspend:yes
lock-on-lid:yes
settings backend: GSETTINGS
[main] light-locker.c:198 (08:57:43):lock after screensaver 5
[main] light-locker.c:199 (08:57:43):late locking 0
[main] light-locker.c:200 (08:57:43):lock on suspend 1
[main] light-locker.c:201 (08:57:43):lock on lid 0
[main] light-locker.c:202 (08:57:43):idle hint 0
[init_session_id] gs-listener-dbus.c:2196 (08:57:43):Got session-id:
/org/freedesktop/login1/session/_368
[init_session_id] gs-listener-dbus.c:2206 (08:57:43):Got sd-session-id: 68
[init_seat_path] gs-listener-dbus.c:2287 (08:57:43): Got seat:
/org/freedesktop/DisplayManager/Seat0
[gs_listener_delay_suspend] gs-listener-dbus.c:449 (08:57:43): Delay suspend
[gs_listener_x11_acquire] gs-listener-x11.c:172 (08:57:43): ScreenSaver
Registered
[listener_dbus_handle_system_message] gs-listener-dbus.c:1343 (08:57:43):
obj_path=/org/freedesktop/DBus interface=org.freedesktop.DBus
method=NameAcquired destination=:1.7069
Run this command in a xterm:
$ light-locker-command -l
Lock works as completely expected. I am swtiched to vt8 with the lock
screen. If I use C-A-F7 to get back to v7 it tells me that the session is
locked, only way I can get back in is answsering prompt on vt8, and when I do
it puts me back unlocked into my xession vt7. Here is the debug output I get
from that operation:
[listener_dbus_handle_session_message] gs-listener-dbus.c:1010 (09:05:05):
Received Lock request
[gs_grab_grab_root] gs-grab-x11.c:647 (09:05:05):Grabbing the root
window
[gs_grab_get_keyboard] gs-grab-x11.c:153 (09:05:05): Grabbing keyboard
widget=11F
[gs_grab_get_mouse] gs-grab-x11.c:213 (09:05:05):Grabbing mouse
widget=11F
[gs_manager_create_windows_for_screen] gs-manager.c:548 (09:05:05):
Creating 2 windows for screen 0
[gs_manager_create_window_for_monitor] gs-manager.c:324 (09:05:05):
Creating window for monitor 0 [0,0] (1680x1050)
[gs_manager_create_window_for_monitor] gs-manager.c:324 (09:05:05):
Creating window for monitor 1 [1680,0] (1920x1200)
[update_geometry] gs-window-x11.c:197 (09:05:05):got geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:210 (09:05:05):using geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:197 (09:05:05):got geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:210 (09:05:05):using geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[gs_window_move_resize_window] gs-window-x11.c:243 (09:05:05): Move and/or
resize window on monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:197 (09:05:05):got geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:210 (09:05:05):using geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[gs_window_move_resize_window] gs-window-x11.c:243 (09:05:05): Move and/or
resize window on monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:197 (09:05:05):got geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:210 (09:05:05):using geometry for
monitor 0: x=0 y=0 w=1680 h=1050
[gs_window_move_resize_window] gs-window-x11.c:243 (09:05:05): Move and/or
resize window on monitor 0: x=0 y=0 w=1680 h=1050
[update_geometry] gs-window-x11.c:197 (09:05:05):got geometry for
monitor 1: x=1680 y=0 w=1920 h=1200