accetto / ubuntu-vnc-xfce-g3

Headless Ubuntu/Xfce containers with VNC/noVNC (G3v6).
MIT License
214 stars 62 forks source link

Fail to boot with Flatpak installed #63

Closed nyarau closed 3 months ago

nyarau commented 3 months ago

Container fails to boot with following log, if the image was extended with flatpak installed

mkdir: cannot create directory '/home/headless/.vnc': Permission denied
/dockerstartup/vnc_startup.rc: line 57: /home/headless/.vnc/passwd: No such file or directory
chmod: cannot access '/home/headless/.vnc/passwd': No such file or directory
/dockerstartup/vnc_startup.rc: line 65: /home/headless/.vnc/config: No such file or directory
/dockerstartup/vnc_startup.rc: line 99: /dockerstartup/vnc.log: Permission denied
/dockerstartup/vnc_startup.rc: line 127: /dockerstartup/novnc.log: Permission denied
/dockerstartup/startup.sh: line 25: kill: (19) - No such process

Tested with both accetto/debian-vnc-xfce-g3:latest (468d0a79fabe) and accetto/ubuntu-vnc-xfce-g3:latest (8a4a3b7b500f). This may be an issue of debian/ubuntu-vnc-xfce-g3 or its upstream, further investigation is needed.

nyarau commented 3 months ago

It is possible to install and run Flatpak CLI inside VNC desktop terminal, however Flatpak apps will fail to run because Flatpak (the underlying bubblewrap) requires Linux namespace to function but namespace isn't available inside Docker container.

F: Failed to run in transient scope: No systemd user session available, cgroups not available
F: Running /app/bin/apply_extra 
bwrap: No permissions to create new namespace, likely because the kernel does not allow non-privileged user namespaces. See <https://deb.li/bubblewrap> or <file:///usr/share/doc/bubblewrap/README.Debian.gz>.
Warning: While trying to apply extra data: apply_extra script failed, exit status 256

Alternative container runtime like sysbox may make it possible but I think it's out of the scope of this project.