selkies-project / docker-nvidia-egl-desktop

KDE Plasma Desktop container designed for Kubernetes, supporting OpenGL EGL and GLX, Vulkan, and Wine/Proton for NVIDIA GPUs through WebRTC and HTML5, providing an open-source remote cloud/HPC graphics or game streaming platform.
https://github.com/selkies-project/docker-nvidia-egl-desktop/pkgs/container/nvidia-egl-desktop
Mozilla Public License 2.0
227 stars 48 forks source link

The screen locker is broken and unlocking is not possible anymore #28

Closed elgalu closed 1 year ago

elgalu commented 1 year ago

When using NOVNC_ENABLE=true we get the screen locked after some time showing a black screen with The screen locker is broken and unlocking is not possible anymore does anyone knows how to get passed this? image

Using: ghcr.io/selkies-project/nvidia-egl-desktop:latest

ehfd commented 1 year ago

I was going to remove the locker altogether. In the backlogs.

elgalu commented 1 year ago

cool! do you know how can we remove it manually for now?

ehfd commented 1 year ago

https://www.simplified.guide/kde/lock-screen-configure For now.

elgalu commented 1 year ago

ok I was able to restore it via the command line and without rebooting:

kwriteconfig5 --file ~/.config/kscreenlockerrc --group Daemon --key Autolock false
killall ksmserver plasmashell
elgalu commented 1 year ago

https://github.com/selkies-project/docker-nvidia-egl-desktop/pull/31

ehfd commented 1 year ago

Unfortunately, this commit has an edge case; what if someone mounts a PersistentVolume or any other external filesystem in the home directory? Some careful examination is required to make this work in all cases.

We need something like this to configure globally in the system directories: https://www.reddit.com/r/kde/comments/r4yey1/systemwide_config_for_all_users/hmkz0g0/

Or, one other option is to (somehow) safely remove kscreenlocker without touching anything else.

ehfd commented 1 year ago

Or, one other option is to (somehow) safely remove kscreenlocker without touching anything else.

This is not possible. Global configuration is required.

ehfd commented 1 year ago

@elgalu

Could you do me a favor and see if after installing kubuntu-settings-desktop, then doing (with root) kwriteconfig5 --file /usr/share/kubuntu-default-settings/kf5-settings/kscreenlockerrc --group Daemon --key Autolock false works for you?

This is the default state:

root@xgl:/usr/share/kubuntu-default-settings/kf5-settings# cat kscreenlockerrc
[Daemon]
Autolock=true
Timeout=15

[Greeter]
WallpaperPlugin=org.kde.image

Should be changed to:

root@xgl:/usr/share/kubuntu-default-settings/kf5-settings# cat kscreenlockerrc
[Daemon]
Autolock=false
Timeout=15

[Greeter]
WallpaperPlugin=org.kde.image
ehfd commented 1 year ago

https://develop.kde.org/docs/administration/kiosk/introduction/#kde-action-restrictions

[KDE Action Restrictions][$i]
action/lock_screen=false

in /etc/xdg/kdeglobals might work systemwide. Not sure.

ehfd commented 1 year ago

https://github.com/selkies-project/docker-nvidia-egl-desktop/commit/a11e1581eb6de406d05324267db62782fd67fafe

I think this commit works. @elgalu Please close if it does and tag me if it doesn't.

ehfd commented 1 year ago

It should work. Please reopen if there are any issues.