Add a service to initialise the user session and rename the xdummy service

This commit is contained in:
Héctor Molinero Fernández
2023-04-27 21:05:09 +02:00
parent dae5769065
commit fe0f37139f
13 changed files with 56 additions and 22 deletions

View File

@@ -86,9 +86,14 @@ if [ ! -d /run/user/"${UNPRIVILEGED_USER_UID:?}"/ ]; then
chown "${UNPRIVILEGED_USER_NAME:?}:" /run/user/"${UNPRIVILEGED_USER_UID:?}"/
fi
# Enable xdummy service if ENABLE_XDUMMY is true
if [ "${ENABLE_XDUMMY:?}" = 'true' ]; then
ln -s /etc/sv/xdummy /etc/service/
# Enable xrdp bootstrap service
if [ "${SERVICE_XRDP_BOOTSTRAP_ENABLED:?}" = 'true' ]; then
ln -s /etc/sv/xrdp-bootstrap "${SVDIR:?}"
fi
# Enable headless X server service
if [ "${SERVICE_XORG_HEADLESS_ENABLED:?}" = 'true' ]; then
ln -s /etc/sv/xorg-headless "${SVDIR:?}"
fi
# Generate SSH keys if they do not exist
@@ -120,4 +125,4 @@ openssl x509 -in "${XRDP_TLS_CRT_PATH:?}" -noout -fingerprint -sha256
env | grep -Ev '^(PWD|OLDPWD|HOME|USER|SHELL|TERM|([^=]*(PASSWORD|SECRET)[^=]*))=' | sort > /etc/environment
# Start runit
exec runsvdir -P /etc/service/
exec runsvdir -P "${SVDIR:?}"

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /usr/bin/chpst -u messagebus /usr/bin/dbus-daemon --system --nofork --nopidfile
exec chpst -u messagebus dbus-daemon --system --nofork --nopidfile

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /usr/sbin/sshd -D

View File

@@ -1,6 +1,9 @@
#!/bin/sh
sv start udevd >/dev/null || exit 1
set -eu
/usr/bin/udevadm trigger
exec sleep infinity
sv start udevd >/dev/null
exec 2>&1
udevadm trigger ||:
exec chpst -b udevadm-trigger perl -MPOSIX -e 'pause()'

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /lib/systemd/systemd-udevd

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /usr/lib/xorg/Xorg -noreset -nolisten tcp -logfile /var/log/xdummy.log :0.0
exec /usr/lib/xorg/Xorg -noreset -nolisten tcp -logfile /var/log/xorg-headless.log :0.0

View File

@@ -0,0 +1,10 @@
#!/bin/sh
set -eu
sv start xrdp >/dev/null
sv start xrdp-sesman >/dev/null
exec 2>&1
xrdp-sesrun -p "${UNPRIVILEGED_USER_PASSWORD?}" "${UNPRIVILEGED_USER_NAME:?}"
exec chpst -b xrdp-bootstrap perl -MPOSIX -e 'pause()'

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /usr/sbin/xrdp-sesman --nodaemon
exec xrdp-sesman --nodaemon

View File

@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
exec 2>&1
exec /usr/sbin/xrdp --nodaemon
exec xrdp --nodaemon