From 9646fdc377a0e12e2409c66050a5d52c80af407f Mon Sep 17 00:00:00 2001 From: bluesky <379865549@qq.com> Date: Thu, 5 Sep 2024 10:58:31 +0800 Subject: [PATCH] feat: add deepin-dde20 for webtop --- .github/workflows/build-webtop.yml | 12 ++- webtop/deepin/dde20/Dockerfile | 74 +++++++++++++++++++ webtop/deepin/dde20/root/defaults/startwm.sh | 21 ++++++ .../dde20/root/usr/local/bin/wrapped-chromium | 15 ++++ 4 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 webtop/deepin/dde20/Dockerfile create mode 100755 webtop/deepin/dde20/root/defaults/startwm.sh create mode 100755 webtop/deepin/dde20/root/usr/local/bin/wrapped-chromium diff --git a/.github/workflows/build-webtop.yml b/.github/workflows/build-webtop.yml index 7b0782a..c3f8378 100644 --- a/.github/workflows/build-webtop.yml +++ b/.github/workflows/build-webtop.yml @@ -27,8 +27,13 @@ jobs: - name: Build images run: | - cd webtop/debian/gxde - docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:debian-gxde . + # pushd webtop/debian/gxde + # docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:debian-gxde . + # popd + + pushd webtop/deepin/dde20 + docker buildx build --load --platform linux/amd64 -t ${{ env.owner }}/webtop:deepin-dde20 . + popd - name: Login to Docker Hub uses: docker/login-action@v3 @@ -38,4 +43,5 @@ jobs: - name: Docker image push run: | - docker push ${{ env.owner }}/webtop:debian-gxde + # docker push ${{ env.owner }}/webtop:debian-gxde + docker push ${{ env.owner }}/webtop:deepin-dde20 diff --git a/webtop/deepin/dde20/Dockerfile b/webtop/deepin/dde20/Dockerfile new file mode 100644 index 0000000..66861e8 --- /dev/null +++ b/webtop/deepin/dde20/Dockerfile @@ -0,0 +1,74 @@ +FROM chenchongbiao/baseimage-kasmvnc:deepinapricot + +# set version label +ARG BUILD_DATE +ARG VERSION +LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" +LABEL maintainer="thelamer" + +# title +ENV TITLE="Debian dde" + +RUN \ + echo "**** add icon ****" && \ + curl -o \ + /kclient/public/icon.png \ + https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/webtop-logo.png && \ + echo "**** install packages ****" && \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y --no-install-recommends \ + udisks2 || rm -v /var/lib/dpkg/info/udisks2.postinst && \ + dpkg --configure udisks2 && \ + DEBIAN_FRONTEND=noninteractive \ + apt-get install -y --no-install-recommends \ + chromium \ + chromium-l10n \ + libqt5core5a \ + dde-control-center \ + dde-clipboard \ + dde-desktop \ + dde-dock \ + dde-file-manager \ + dde-kwin \ + dde-launcher \ + dde-qt5integration \ + deepin-artwork \ + deepin-default-settings \ + deepin-desktop-base \ + deepin-wallpapers \ + fonts-noto \ + startdde \ + dde-calendar \ + deepin-album \ + deepin-calculator \ + deepin-draw \ + deepin-editor \ + deepin-image-viewer \ + deepin-movie \ + deepin-music \ + deepin-system-monitor \ + deepin-screen-recorder \ + deepin-terminal \ + deepin-voice-note && \ + echo "**** application tweaks ****" && \ + sed -i \ + 's#^Exec=.*#Exec=/usr/local/bin/wrapped-chromium#g' \ + /usr/share/applications/chromium.desktop && \ + sed -i -E 's/#[[:space:]]?(zh_CN.UTF-8[[:space:]]+UTF-8)/\1/g' /etc/locale.gen && \ + locale-gen && \ + DEBIAN_FRONTEND=noninteractive dpkg-reconfigure locales && \ + echo "**** cleanup ****" && \ + apt-get autoclean && \ + rm -rf \ + /config/.cache \ + /var/lib/apt/lists/* \ + /var/tmp/* \ + /tmp/* + +# add local files +COPY /root / + +# ports and volumes +EXPOSE 3000 +VOLUME /config diff --git a/webtop/deepin/dde20/root/defaults/startwm.sh b/webtop/deepin/dde20/root/defaults/startwm.sh new file mode 100755 index 0000000..6f28910 --- /dev/null +++ b/webtop/deepin/dde20/root/defaults/startwm.sh @@ -0,0 +1,21 @@ +#!/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 +# 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 +setterm blank 0 +setterm powerdown 0 + +# Launch DE +/usr/bin/startdde > /dev/null 2>&1 diff --git a/webtop/deepin/dde20/root/usr/local/bin/wrapped-chromium b/webtop/deepin/dde20/root/usr/local/bin/wrapped-chromium new file mode 100755 index 0000000..bfad4da --- /dev/null +++ b/webtop/deepin/dde20/root/usr/local/bin/wrapped-chromium @@ -0,0 +1,15 @@ +#! /bin/bash + +BIN=/usr/bin/chromium + +# Cleanup +if ! pgrep chromium > /dev/null;then + rm -f $HOME/.config/chromium/Singleton* +fi + +# Run normally on privved containers or modified un non priv +if grep -q 'Seccomp:.0' /proc/1/status; then + ${BIN} --password-store=basic "$@" +else + ${BIN} --password-store=basic --no-sandbox --test-type "$@" +fi