Почему световой шкаф держит экран черным после разблокировки?

Полностью исправленная машина Xubuntu 16.04 с недавно созданным пользователем не позволит мне разблокировать после использования световой шкафчик для блокировки моего экрана (независимо от того, была ли блокировка активирована вручную или через таймаут). Экран остается черным (но включенным) при правильном вводе пароля

Убивающий световой шкаф от tty1 покажет рабочий стол (и, следовательно, предотвратит дальнейшую блокировку).

экран остается black

включена / отключена блокировка в настройках светового шкафа и amp; в настройках питания (без изменений) используется xscreensaver вместо световой шкафчик (работает), если проблема связана с приостановкой или закрытием крышки (это не так), однако после приостановки черный экран показывает сообщение This session is locked: You will be redirected to the unlock dialog automatically in a few seconds - без какого-либо переадресации (f6), только показывает (безвредные, ожидаемые) сообщения о модуле kwallet pam, пропустил проверенный журнал dpkg для обновлений между «сработал» и «не работает», он больше не работает »(никто не подозревает) и загрузил предыдущее ядро ​​(проблема сохраняется). По сравнению с сеансовым световой шкафчиком и вручную запущен один (без разницы) добавленный пользователь в группу nopasswdlogin (затем появляется черный экран сразу после блокировки не только после ввода пароля)

Какие дополнительные шаги могут оказаться полезными при определении того, как это исправить?

Журнал отладки:

$ export LC_ALL=C; light-locker --debug & ( sleep 5; echo "## Locking now"; light-locker-command --lock; sleep 10; echo "### 10 seconds have passed - entering password now"; sleep 10; echo "### 10 more seconds have passwd - Killing"; killall light-locker; sleep 5; echo "### Killed now" ) [1] 23463 [gs_debug_init] gs-debug.c:106 (00:08:32): Debugging enabled [main] light-locker.c:142 (00:08:32): initializing light-locker 1.7.0 [main] light-locker.c:144 (00:08:32): lock after screensaver 10 [main] light-locker.c:145 (00:08:32): late locking 0 [main] light-locker.c:146 (00:08:32): lock on suspend 1 [main] light-locker.c:147 (00:08:32): lock on lid 0 [main] light-locker.c:148 (00:08:32): idle hint 1 [query_session_id] gs-listener-dbus.c:2088 (00:08:32): org.freedesktop.login1.NoSessionForPID raised: PID 23463 does not belong to any known session [init_session_id] gs-listener-dbus.c:2180 (00:08:32): Got session-id: (null) [query_sd_session_id] gs-listener-dbus.c:2164 (00:08:32): Couldn't determine our own sd session id: No such process [init_session_id] gs-listener-dbus.c:2185 (00:08:32): Got sd-session-id: (null) [init_seat_path] gs-listener-dbus.c:2262 (00:08:32): Got seat: /org/freedesktop/DisplayManager/Seat0 [gs_listener_delay_suspend] gs-listener-dbus.c:449 (00:08:32): Delay suspend [gs_listener_x11_acquire] gs-listener-x11.c:172 (00:08:32): ScreenSaver Registered [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:32): obj_path=/org/freedesktop/DBus interface=org.freedesktop.DBus method=NameAcquired destination=:1.316 ## Locking now [gs_grab_grab_root] gs-grab-x11.c:647 (00:08:37): Grabbing the root window [gs_grab_get_keyboard] gs-grab-x11.c:153 (00:08:37): Grabbing keyboard widget=E3 [gs_grab_get_mouse] gs-grab-x11.c:213 (00:08:37): Grabbing mouse widget=E3 [gs_manager_create_windows_for_screen] gs-manager.c:548 (00:08:37): Creating 1 windows for screen 0 [gs_manager_create_window_for_monitor] gs-manager.c:324 (00:08:37): Creating window for monitor 0 [0,0] (1600x900) [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37): Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37): Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37): Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900 [gs_manager_timed_switch] gs-manager.c:445 (00:08:37): Start switch to greeter timer [gs_window_xevent] gs-window-x11.c:369 (00:08:37): not raising our windows [window_map_event_cb] gs-manager.c:233 (00:08:37): Handling window map_event event [gs_listener_resume_suspend] gs-listener-dbus.c:513 (00:08:37): Resume suspend: fd=14 [manager_maybe_grab_window] gs-manager.c:204 (00:08:37): Moving grab to 0x5595f8d5a290 [gs_grab_move_keyboard] gs-grab-x11.c:450 (00:08:37): Moving keyboard grab from E3 to 3A0000C [gs_grab_move_keyboard] gs-grab-x11.c:457 (00:08:37): *** doing X server grab [gs_grab_release_keyboard] gs-grab-x11.c:279 (00:08:37): Ungrabbing keyboard [gs_grab_get_keyboard] gs-grab-x11.c:153 (00:08:37): Grabbing keyboard widget=3A0000C [gs_grab_move_keyboard] gs-grab-x11.c:479 (00:08:37): *** releasing X server grab [gs_grab_move_mouse] gs-grab-x11.c:395 (00:08:37): Moving pointer grab from E3 to 3A0000C [gs_grab_move_mouse] gs-grab-x11.c:402 (00:08:37): *** doing X server grab [gs_grab_release_mouse] gs-grab-x11.c:320 (00:08:37): Ungrabbing pointer [gs_grab_get_mouse] gs-grab-x11.c:213 (00:08:37): Grabbing mouse widget=3A0000C [gs_grab_move_mouse] gs-grab-x11.c:425 (00:08:37): *** releasing X server grab [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:37): obj_path=/org/freedesktop/login1 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37): Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:197 (00:08:37): got geometry for monitor 0: x=0 y=0 w=1600 h=900 [update_geometry] gs-window-x11.c:210 (00:08:37): using geometry for monitor 0: x=0 y=0 w=1600 h=900 [gs_window_move_resize_window] gs-window-x11.c:243 (00:08:37): Move and/or resize window on monitor 0: x=0 y=0 w=1600 h=900 [gs_listener_send_lock_session] gs-listener-dbus.c:180 (00:08:38): Send lock session [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:38): obj_path=(null) interface=(null) method=(null) destination=:1.316 [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/session/c12 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340. This is normally a bug in some application using the D-Bus library. [query_session_active] gs-listener-dbus.c:1124 (00:08:39): Couldn't allocate the dbus message [listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:39): systemd notified ActiveSession 0 [listener_session_switched_cb] gs-monitor.c:298 (00:08:39): Session switched: 0 [gs_manager_stop_switch] gs-manager.c:456 (00:08:39): Stop switch to greeter timer [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/session/c12 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/user/_108 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340. This is normally a bug in some application using the D-Bus library. [query_session_active] gs-listener-dbus.c:1124 (00:08:39): Couldn't allocate the dbus message [listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:39): systemd notified ActiveSession 0 [listener_session_switched_cb] gs-monitor.c:298 (00:08:39): Session switched: 0 [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:39): obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.login1.Session method=Lock destination=(null) ### 10 seconds have passed - entering password now [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51): obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.login1.Session method=Unlock destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51): obj_path=/org/freedesktop/login1/session/c13 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51): obj_path=/org/freedesktop/login1/session/c5 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) [listener_dbus_handle_system_message] gs-listener-dbus.c:1330 (00:08:51): obj_path=/org/freedesktop/login1/seat/seat0 interface=org.freedesktop.DBus.Properties method=PropertiesChanged destination=(null) process 23463: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../dbus/dbus-message.c line 1340. This is normally a bug in some application using the D-Bus library. [query_session_active] gs-listener-dbus.c:1124 (00:08:51): Couldn't allocate the dbus message [listener_dbus_handle_system_message] gs-listener-dbus.c:1361 (00:08:51): systemd notified ActiveSession 0 [listener_session_switched_cb] gs-monitor.c:298 (00:08:51): Session switched: 0 [xroot_filter] gs-listener-x11.c:124 (00:08:52): ScreenSaver stopped ### 10 more seconds have passwd - Killing ### Killed now

. Применяя это к известной системе, получаем:

$ comm -3 <(grep -iv grab good | sed 's/[0-9:]\+/[NN]/g;s/[ \t]\+/ /g' | sort) <(grep -iv grab bad | sed 's/[0-9:]\+/[NN]/g;s/[ \t]\+/ /g' | sort) | head -n2 [init_session_id] gs-listener-dbus.c[NN] ([NN])[NN] Got session-id[NN] (null) [init_session_id] gs-listener-dbus.c[NN] ([NN])[NN] Got session-id[NN] /org/freedesktop/login[NN]/session/c[NN]

И действительно, что-то кажется быть очень неудобным в настройке сеанса:

$ loginctl session-status Could not get properties: No such process
7
задан 17 October 2017 в 02:41

3 ответа

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

light-locker зависит от dbus, предоставляя IPC. dbus зависит от systemd-logind, предоставляя информацию session. systemd-logind зависит от /proc, предоставляя информацию process.

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

$ file /sbin/init
/sbin/init: symbolic link to /lib/systemd/systemd
$ mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=2,gid=1337)

И нельзя ожидать, что:

hidepid на самом деле не совместим с systemd. Прости. [..] В любом случае, закрытие, поскольку это не было вызвано systemd. - Lennart Poettering

И нельзя ожидать, что:

Частичное решение, поскольку оно связано с раскрытием информации.

Разрешить непривилегированные программы (такие как systemd, после удаления привилегий) для доступа к информации о других пользователях в /proc.

$ sudo mount -o remount,hidepid=0 /proc
 # and fix /etc/fstab accordingly

Частичное решение 2

Частичное решение, потому что systemd может ломаться и в других местах, а не только для входа в систему.

Добавить systemd-logind в соответствующую группу, наиболее удобно достигается добавлением службы Drop-In.

$ addgroup showpid
$ adduser myuser showpid
$ sudo mount -o remount,hidepid=2,gid=showpid /proc
 # and fix /etc/fstab accordingly
$ echo -e '[Service]\nSupplementaryGroups=showpid' | sudo tee /etc/systemd/system/systemd-logind.service.d/10-showpid.conf
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-logind
[d23 ] После решения Partial Solution 2 сообщение Got session-id: (null) должно выглядеть больше как Got session-id: /org/freedesktop/login1/c7, а световой шкаф будет способен правильно общаться через dbus.

Что я должен был сделать, выясните это быстрее?

light-locker зависит от dbus, предоставляя IPC. Документируйте первый раз вопрос более точно, поэтому сортировка журналов / отчетов IDS по времени быстро выявит соответствующую причину. dbus зависит от systemd-logind, предоставляя информацию session.
4
ответ дан 22 May 2018 в 17:55

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

light-locker зависит от dbus, предоставляя IPC. dbus зависит от systemd-logind, предоставляя информацию session. systemd-logind зависит от /proc, предоставляя информацию process.

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

$ file /sbin/init /sbin/init: symbolic link to /lib/systemd/systemd $ mount | grep proc proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=2,gid=1337)

И нельзя ожидать, что:

hidepid на самом деле не совместим с systemd. Прости. [..] В любом случае, закрытие, поскольку это не было вызвано systemd. - Lennart Poettering

И нельзя ожидать, что:

Частичное решение, поскольку оно связано с раскрытием информации.

Разрешить непривилегированные программы (такие как systemd, после удаления привилегий) для доступа к информации о других пользователях в /proc.

$ sudo mount -o remount,hidepid=0 /proc # and fix /etc/fstab accordingly

Частичное решение 2

Частичное решение, потому что systemd может ломаться и в других местах, а не только для входа в систему.

Добавить systemd-logind в соответствующую группу, что наиболее удобно достигается добавлением службы Drop-In.

$ addgroup showpid $ adduser myuser showpid $ sudo mount -o remount,hidepid=2,gid=showpid /proc # and fix /etc/fstab accordingly $ echo -e '[Service]\nSupplementaryGroups=showpid' | sudo tee /etc/systemd/system/systemd-logind.service.d/10-showpid.conf $ sudo systemctl daemon-reload $ sudo systemctl restart systemd-logind

После решения Partial Solution 2 сообщение Got session-id: (null) должно выглядеть больше как Got session-id: /org/freedesktop/login1/c7, а световой шкаф будет способен правильно общаться через dbus.

Что я должен был сделать, выясните это быстрее?

light-locker зависит от dbus, предоставляя IPC. Документируйте первый раз вопрос более точно, поэтому сортировка журналов / отчетов IDS по времени быстро выявит соответствующую причину. dbus зависит от systemd-logind, предоставляя информацию session.
4
ответ дан 18 July 2018 в 05:54

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

light-locker зависит от dbus, предоставляя IPC. dbus зависит от systemd-logind, предоставляя информацию session. systemd-logind зависит от /proc, предоставляя информацию process.

TL; DR: light-locker сохраняет экран черным, если systemd не может читать / proc

$ file /sbin/init /sbin/init: symbolic link to /lib/systemd/systemd $ mount | grep proc proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=2,gid=1337)

И нельзя ожидать, что:

hidepid на самом деле не совместим с systemd. Прости. [..] В любом случае, закрытие, поскольку это не было вызвано systemd. - Lennart Poettering

И нельзя ожидать, что:

Частичное решение, поскольку оно связано с раскрытием информации.

Разрешить непривилегированные программы (такие как systemd, после удаления привилегий) для доступа к информации о других пользователях в /proc.

$ sudo mount -o remount,hidepid=0 /proc # and fix /etc/fstab accordingly

Частичное решение 2

Частичное решение, потому что systemd может ломаться и в других местах, а не только для входа в систему.

Добавить systemd-logind в соответствующую группу, наиболее удобно достигается добавлением службы Drop-In.

$ addgroup showpid $ adduser myuser showpid $ sudo mount -o remount,hidepid=2,gid=showpid /proc # and fix /etc/fstab accordingly $ echo -e '[Service]\nSupplementaryGroups=showpid' | sudo tee /etc/systemd/system/systemd-logind.service.d/10-showpid.conf $ sudo systemctl daemon-reload $ sudo systemctl restart systemd-logind

После решения Partial Solution 2 сообщение Got session-id: (null) должно выглядеть больше как Got session-id: /org/freedesktop/login1/c7, а световой шкаф будет способен правильно общаться через dbus.

Что я должен был сделать, выясните это быстрее?

light-locker зависит от dbus, предоставляя IPC. Документируйте первый раз вопрос более точно, поэтому сортировка журналов / отчетов IDS по времени быстро выявит соответствующую причину. dbus зависит от systemd-logind, предоставляя информацию session.
4
ответ дан 24 July 2018 в 18:28

Другие вопросы по тегам:

Похожие вопросы: