From ddc861a5142b780de32122cb09495e1137260533 Mon Sep 17 00:00:00 2001 From: Ryan Kuba Date: Tue, 17 Jun 2025 14:52:13 +0000 Subject: [PATCH] selkies debian kde (#314) --- .editorconfig | 0 .github/ISSUE_TEMPLATE/issue.bug.yml | 0 .github/ISSUE_TEMPLATE/issue.feature.yml | 0 .github/workflows/call_issue_pr_tracker.yml | 0 .github/workflows/call_issues_cron.yml | 0 .github/workflows/permissions.yml | 0 Dockerfile | 4 +- Dockerfile.aarch64 | 4 +- Jenkinsfile | 4 +- jenkins-vars.yml | 4 +- root/defaults/autostart | 1 + root/defaults/startwm.sh | 60 +++++++++++++++++---- 12 files changed, 59 insertions(+), 18 deletions(-) mode change 100755 => 100644 .editorconfig mode change 100755 => 100644 .github/ISSUE_TEMPLATE/issue.bug.yml mode change 100755 => 100644 .github/ISSUE_TEMPLATE/issue.feature.yml mode change 100755 => 100644 .github/workflows/call_issue_pr_tracker.yml mode change 100755 => 100644 .github/workflows/call_issues_cron.yml mode change 100755 => 100644 .github/workflows/permissions.yml create mode 100644 root/defaults/autostart diff --git a/.editorconfig b/.editorconfig old mode 100755 new mode 100644 diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml old mode 100755 new mode 100644 diff --git a/.github/ISSUE_TEMPLATE/issue.feature.yml b/.github/ISSUE_TEMPLATE/issue.feature.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/call_issue_pr_tracker.yml b/.github/workflows/call_issue_pr_tracker.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/call_issues_cron.yml b/.github/workflows/call_issues_cron.yml old mode 100755 new mode 100644 diff --git a/.github/workflows/permissions.yml b/.github/workflows/permissions.yml old mode 100755 new mode 100644 diff --git a/Dockerfile b/Dockerfile index 51982170..547c4d1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-kasmvnc:debianbookworm +FROM ghcr.io/linuxserver/baseimage-selkies:debianbookworm # set version label ARG BUILD_DATE @@ -12,7 +12,7 @@ ENV TITLE="Debian KDE" RUN \ echo "**** add icon ****" && \ curl -o \ - /kclient/public/icon.png \ + /usr/share/selkies/www/icon.png \ https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png && \ echo "**** install packages ****" && \ apt-get update && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index fbe792af..01881f25 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-kasmvnc:arm64v8-debianbookworm +FROM ghcr.io/linuxserver/baseimage-selkies:arm64v8-debianbookworm # set version label ARG BUILD_DATE @@ -12,7 +12,7 @@ ENV TITLE="Debian KDE" RUN \ echo "**** add icon ****" && \ curl -o \ - /kclient/public/icon.png \ + /usr/share/selkies/www/icon.png \ https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png && \ echo "**** install packages ****" && \ apt-get update && \ diff --git a/Jenkinsfile b/Jenkinsfile index 7afa05b6..c81c76eb 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -30,8 +30,8 @@ pipeline { MULTIARCH='true' CI='true' CI_WEB='true' - CI_PORT='3000' - CI_SSL='false' + CI_PORT='3001' + CI_SSL='true' CI_DELAY='120' CI_DOCKERENV='TZ=US/Pacific' CI_AUTH='user:password' diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 180b5e1e..02ab1112 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -19,8 +19,8 @@ repo_vars: - MULTIARCH='true' - CI='true' - CI_WEB='true' - - CI_PORT='3000' - - CI_SSL='false' + - CI_PORT='3001' + - CI_SSL='true' - CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' diff --git a/root/defaults/autostart b/root/defaults/autostart new file mode 100644 index 00000000..ca916d09 --- /dev/null +++ b/root/defaults/autostart @@ -0,0 +1 @@ +exit 0 diff --git a/root/defaults/startwm.sh b/root/defaults/startwm.sh index e1ea0af6..3744da8d 100755 --- a/root/defaults/startwm.sh +++ b/root/defaults/startwm.sh @@ -1,21 +1,61 @@ #!/bin/bash -# Enable Nvidia GPU support if detected -if which nvidia-smi; then - export LIBGL_KOPPER_DRI2=1 - export MESA_LOADER_DRIVER_OVERRIDE=zink - export GALLIUM_DRIVER=zink -fi - -# Disable compositing and screen lock +# Disable compositing and screen locking if [ ! -f $HOME/.config/kwinrc ]; then kwriteconfig5 --file $HOME/.config/kwinrc --group Compositing --key Enabled false fi if [ ! -f $HOME/.config/kscreenlockerrc ]; then kwriteconfig5 --file $HOME/.config/kscreenlockerrc --group Daemon --key Autolock false fi + +# Power related setterm blank 0 setterm powerdown 0 -# Launch DE -/usr/bin/startplasma-x11 > /dev/null 2>&1 +# Direcotries +sudo rm -f /usr/share/dbus-1/system-services/org.freedesktop.UDisks2.service +mkdir -p "${HOME}/.config/autostart" "${HOME}/.XDG" "${HOME}/.local/share/" +chmod 700 "${HOME}/.XDG" +touch "${HOME}/.local/share/user-places.xbel" + +# Background perm loop +if [ ! -d $HOME/.config/kde.org ]; then + ( + loop_end_time=$((SECONDS + 30)) + while [ $SECONDS -lt $loop_end_time ]; do + find "$HOME/.cache" "$HOME/.config" "$HOME/.local" -type f -perm 000 -exec chmod 644 {} + 2>/dev/null + sleep .1 + done + ) & +fi + +# Create startup script if it does not exist (keep in sync with openbox) +STARTUP_FILE="${HOME}/.config/autostart/autostart.desktop" +if [ ! -f "${STARTUP_FILE}" ]; then + echo "[Desktop Entry]" > $STARTUP_FILE + echo "Exec=bash /config/.config/openbox/autostart" >> $STARTUP_FILE + echo "Icon=dialog-scripts" >> $STARTUP_FILE + echo "Name=autostart" >> $STARTUP_FILE + echo "Path=" >> $STARTUP_FILE + echo "Type=Application" >> $STARTUP_FILE + echo "X-KDE-AutostartScript=true" >> $STARTUP_FILE + chmod +x $STARTUP_FILE +fi + +# Check for any render nodes +for node in /dev/dri/renderD*; do + if [ -e "$node" ]; then + render_node_exists=true + break + fi +done +# Enable Zink support if detected +if [ "$render_node_exists" = true ] && [ "${DISABLE_ZINK}" == "false" ]; then + export LIBGL_KOPPER_DRI2=1 + export MESA_LOADER_DRIVER_OVERRIDE=zink + export GALLIUM_DRIVER=zink + unset LD_PRELOAD +fi + +# Start DE +dbus-launch /usr/bin/startplasma-x11 > /dev/null 2>&1