Refactor startup to not require files in /etc/skel/

This commit is contained in:
Héctor Molinero Fernández
2023-03-01 22:47:33 +01:00
parent 9cf354ff56
commit 9ddf1cdec5
6 changed files with 22 additions and 40 deletions

View File

@@ -426,6 +426,8 @@ ENV UNPRIVILEGED_USER_SHELL=/bin/bash
ENV XRDP_TLS_KEY_PATH=/etc/xrdp/key.pem
ENV XRDP_TLS_CRT_PATH=/etc/xrdp/cert.pem
ENV ENABLE_XDUMMY=false
ENV STARTUP=xfce4-session
ENV DESKTOP_SESSION=xubuntu
## Use Adwaita theme in QT applications
ENV QT_STYLE_OVERRIDE=Adwaita
@@ -491,11 +493,6 @@ COPY --chown=root:root ./config/pulse/ /etc/pulse/
RUN find /etc/pulse/ -type d -not -perm 0755 -exec chmod 0755 '{}' ';'
RUN find /etc/pulse/ -type f -not -perm 0644 -exec chmod 0644 '{}' ';'
# Copy skeleton files
COPY --chown=root:root ./config/skel/ /etc/skel/
RUN find /etc/skel/ -type d -not -perm 0755 -exec chmod 0755 '{}' ';'
RUN find /etc/skel/ -type f -not -perm 0644 -exec chmod 0644 '{}' ';'
# Copy scripts
COPY --chown=root:root ./scripts/bin/ /usr/local/bin/
RUN find /usr/local/bin/ -type d -not -perm 0755 -exec chmod 0755 '{}' ';'

View File

@@ -0,0 +1,20 @@
#!/bin/sh
if [ -z "${VGL_DISPLAY-}" ]; then
# Use the dummy X server if it is enabled
if [ "${ENABLE_XDUMMY:?}" = 'true' ]; then
export VGL_DISPLAY=:0.0
else
# Otherwise try to use the EGL backend
for card in /dev/dri/card*; do
if /opt/VirtualGL/bin/eglinfo -B "${card:?}" 2>/dev/null; then
export VGL_DISPLAY="${card:?}"
break
fi
done
# And fallback to DISPLAY if the EGL backend is not available
if [ -z "${VGL_DISPLAY-}" ] && [ -n "${DISPLAY-}" ]; then
export VGL_DISPLAY="${DISPLAY:?}"
fi
fi
fi

View File

@@ -1,3 +0,0 @@
#!/bin/sh
exec xfce4-session

View File

@@ -1,16 +0,0 @@
#!/bin/sh
export XDG_CACHE_HOME="${HOME:?}"/.cache
export XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg
export XDG_CONFIG_HOME="${HOME:?}"/.config
export XDG_CURRENT_DESKTOP=XFCE
export XDG_DATA_DIRS=/usr/share/xubuntu:/usr/share/xfce4:/usr/local/share:/usr/share
export XDG_DATA_HOME="${HOME:?}"/.local/share
export XDG_MENU_PREFIX=xfce-
export XDG_RUNTIME_DIR=/run/user/"${UNPRIVILEGED_USER_UID:?}"
export XDG_SESSION_DESKTOP=xubuntu
export XDG_SESSION_TYPE=x11
if [ -z "${VGL_DISPLAY-}" ] && [ -n "${DISPLAY-}" ]; then
export VGL_DISPLAY="${DISPLAY:?}"
fi

View File

@@ -81,22 +81,6 @@ if [ "${ENABLE_XDUMMY:?}" = 'true' ]; then
ln -s /etc/sv/xdummy /etc/service/
fi
# Define VGL_DISPLAY variable if it is not set
if [ -z "${VGL_DISPLAY-}" ]; then
# Use the dummy X server if it is enabled
if [ "${ENABLE_XDUMMY:?}" = 'true' ]; then
export VGL_DISPLAY=:0.0
# Otherwise try to use the EGL backend
else
for card in /dev/dri/card*; do
if /opt/VirtualGL/bin/eglinfo -B "${card:?}" 2>/dev/null; then
export VGL_DISPLAY="${card:?}"
break
fi
done
fi
fi
# Generate SSH keys if they do not exist
if [ ! -f /etc/ssh/ssh_host_ed25519_key ]; then
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' >/dev/null