KASM-5403 KASM-5399 fix chromium bug that will not launch if singleton locks...

This commit is contained in:
Ryan Kuba 2024-01-11 11:39:34 +00:00 committed by Justin Travis
parent 02549fa244
commit 24a9727ffe
58 changed files with 261 additions and 80 deletions

View File

@ -11,7 +11,7 @@ variables:
BASE_TAG: "develop" BASE_TAG: "develop"
USE_PRIVATE_IMAGES: 0 USE_PRIVATE_IMAGES: 0
KASM_RELEASE: "1.14.0" KASM_RELEASE: "1.14.0"
TEST_INSTALLER: "https://kasm-static-content.s3.amazonaws.com/kasm_release_1.14.0.7f3582.tar.gz" TEST_INSTALLER: "https://kasmweb-build-artifacts.s3.amazonaws.com/kasm_backend/1e99090dadb026f1e37e34e53334da20061bc21c/kasm_workspaces_feature_tester-1.15-pre-release_1.15.0.1e9909.tar.gz"
before_script: before_script:
- export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')" - export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')"

View File

@ -340,6 +340,15 @@ multiImages:
- src/ubuntu/install/langpacks/** - src/ubuntu/install/langpacks/**
- src/ubuntu/install/cleanup/** - src/ubuntu/install/cleanup/**
- src/alpine/install/** - src/alpine/install/**
- name: alpine-319-desktop
singleapp: false
base: core-alpine-319
dockerfile: dockerfile-kasm-alpine-319-desktop
changeFiles:
- dockerfile-kasm-alpine-319-desktop
- src/ubuntu/install/langpacks/**
- src/ubuntu/install/cleanup/**
- src/alpine/install/**
- name: brave - name: brave
singleapp: true singleapp: true
base: core-ubuntu-focal base: core-ubuntu-focal
@ -424,6 +433,19 @@ multiImages:
- src/ubuntu/install/cleanup/** - src/ubuntu/install/cleanup/**
- src/ubuntu/install/chromium/** - src/ubuntu/install/chromium/**
- src/ubuntu/install/slack/** - src/ubuntu/install/slack/**
- name: fedora-39-desktop
singleapp: false
base: core-fedora-39
dockerfile: dockerfile-kasm-fedora-39-desktop
changeFiles:
- dockerfile-kasm-fedora-39-desktop
- src/oracle/install/**
- src/ubuntu/install/thunderbird/**
- src/ubuntu/install/remmina/**
- src/ubuntu/install/firefox/**
- src/ubuntu/install/cleanup/**
- src/ubuntu/install/chromium/**
- src/ubuntu/install/slack/**
- name: kali-rolling-desktop - name: kali-rolling-desktop
singleapp: false singleapp: false
base: core-kali-rolling base: core-kali-rolling

View File

@ -188,7 +188,7 @@ ssh \
ready_check ready_check
# Pull tester image # Pull tester image
docker pull ${ORG_NAME}/kasm-tester:1.14.2 docker pull ${ORG_NAME}/kasm-tester:1.15.0
# Run test # Run test
cp /root/.ssh/id_rsa $(dirname ${CI_PROJECT_DIR})/sshkey cp /root/.ssh/id_rsa $(dirname ${CI_PROJECT_DIR})/sshkey
@ -210,7 +210,7 @@ docker run --rm \
-e REPO=workspaces-images \ -e REPO=workspaces-images \
-e AUTOMATED=true \ -e AUTOMATED=true \
-v $(dirname ${CI_PROJECT_DIR})/sshkey:/sshkey:ro ${SLIM_FLAG} \ -v $(dirname ${CI_PROJECT_DIR})/sshkey:/sshkey:ro ${SLIM_FLAG} \
kasmweb/kasm-tester:1.14.2 kasmweb/kasm-tester:1.15.0
# Shutdown Instances # Shutdown Instances
turnoff turnoff

View File

@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -14,10 +14,9 @@ ENV SKIP_CLEAN=true \
INST_DIR=$STARTUPDIR/install \ INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \ INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
/alpine/install/misc/install_tools.sh \ /alpine/install/misc/install_tools.sh \
/alpine/install/chromium/install_chromium.sh \
/alpine/install/firefox/install_firefox.sh \ /alpine/install/firefox/install_firefox.sh \
/alpine/install/remmina/install_remmina.sh \ /alpine/install/remmina/install_remmina.sh \
/alpine/install/gimp/gimp/install_gimp.sh \ /alpine/install/gimp/install_gimp.sh \
/alpine/install/ansible/install_ansible.sh \ /alpine/install/ansible/install_ansible.sh \
/alpine/install/terraform/install_terraform.sh \ /alpine/install/terraform/install_terraform.sh \
/alpine/install/thunderbird/install_thunderbird.sh \ /alpine/install/thunderbird/install_thunderbird.sh \
@ -38,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -14,10 +14,9 @@ ENV SKIP_CLEAN=true \
INST_DIR=$STARTUPDIR/install \ INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \ INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
/alpine/install/misc/install_tools.sh \ /alpine/install/misc/install_tools.sh \
/alpine/install/chromium/install_chromium.sh \
/alpine/install/firefox/install_firefox.sh \ /alpine/install/firefox/install_firefox.sh \
/alpine/install/remmina/install_remmina.sh \ /alpine/install/remmina/install_remmina.sh \
/alpine/install/gimp/gimp/install_gimp.sh \ /alpine/install/gimp/install_gimp.sh \
/alpine/install/ansible/install_ansible.sh \ /alpine/install/ansible/install_ansible.sh \
/alpine/install/terraform/install_terraform.sh \ /alpine/install/terraform/install_terraform.sh \
/alpine/install/thunderbird/install_thunderbird.sh \ /alpine/install/thunderbird/install_thunderbird.sh \
@ -38,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -0,0 +1,54 @@
ARG BASE_TAG="develop"
ARG BASE_IMAGE="core-alpine-319"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV DISTRO=alpine319
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
WORKDIR $HOME
### Envrionment config
ENV SKIP_CLEAN=true \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/alpine/install/tools/install_tools_deluxe.sh \
/alpine/install/misc/install_tools.sh \
/alpine/install/firefox/install_firefox.sh \
/alpine/install/remmina/install_remmina.sh \
/alpine/install/gimp/install_gimp.sh \
/alpine/install/ansible/install_ansible.sh \
/alpine/install/terraform/install_terraform.sh \
/alpine/install/thunderbird/install_thunderbird.sh \
/alpine/install/audacity/install_audacity.sh \
/alpine/install/blender/install_blender.sh \
/alpine/install/geany/install_geany.sh \
/alpine/install/inkscape/install_inkscape.sh \
/alpine/install/libre_office/install_libre_office.sh \
/alpine/install/pinta/install_pinta.sh \
/alpine/install/obs/install_obs.sh \
/alpine/install/filezilla/install_filezilla.sh \
/ubuntu/install/langpacks/install_langpacks.sh \
/ubuntu/install/cleanup/cleanup.sh"
# Copy install scripts
COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
chown 1000:0 $HOME && \
mkdir -p /home/kasm-user && \
chown -R 1000:0 /home/kasm-user && \
rm -Rf ${INST_DIR}
# Userspace Runtime
ENV HOME /home/kasm-user
WORKDIR $HOME
USER 1000
CMD ["--tail-log"]

View File

@ -25,7 +25,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -41,7 +41,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -41,7 +41,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -25,7 +25,6 @@ ENV SKIP_CLEAN=true \
/oracle/install/gimp/install_gimp.sh \ /oracle/install/gimp/install_gimp.sh \
/oracle/install/zoom/install_zoom.sh \ /oracle/install/zoom/install_zoom.sh \
/oracle/install/ansible/install_ansible.sh \ /oracle/install/ansible/install_ansible.sh \
/oracle/install/terraform/install_terraform.sh \
/oracle/install/telegram/install_telegram.sh \ /oracle/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \ /ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/slack/install_slack.sh \ /ubuntu/install/slack/install_slack.sh \
@ -37,7 +36,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -4,7 +4,7 @@ FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root USER root
ENV DISTRO=fedora37 ENV DISTRO=fedora38
ENV HOME /home/kasm-default-profile ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup ENV STARTUPDIR /dockerstartup
WORKDIR $HOME WORKDIR $HOME
@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -0,0 +1,54 @@
ARG BASE_TAG="develop"
ARG BASE_IMAGE="core-fedora-39"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV DISTRO=fedora39
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
WORKDIR $HOME
### Envrionment config
ENV SKIP_CLEAN=true \
KASM_RX_HOME=$STARTUPDIR/kasmrx \
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/oracle/install/tools/install_tools_deluxe.sh \
/oracle/install/misc/install_tools.sh \
/ubuntu/install/chromium/install_chromium.sh \
/ubuntu/install/firefox/install_firefox.sh \
/oracle/install/sublime_text/install_sublime_text.sh \
/oracle/install/vs_code/install_vs_code.sh \
/ubuntu/install/remmina/install_remmina.sh \
/oracle/install/only_office/install_only_office.sh \
/oracle/install/gimp/install_gimp.sh \
/oracle/install/zoom/install_zoom.sh \
/oracle/install/ansible/install_ansible.sh \
/oracle/install/terraform/install_terraform.sh \
/oracle/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/slack/install_slack.sh \
/ubuntu/install/cleanup/cleanup.sh"
# Copy install scripts
COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
chown 1000:0 $HOME && \
mkdir -p /home/kasm-user && \
chown -R 1000:0 /home/kasm-user && \
rm -Rf ${INST_DIR}
# Userspace Runtime
ENV HOME /home/kasm-user
WORKDIR $HOME
USER 1000
CMD ["--tail-log"]

View File

@ -24,7 +24,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -25,7 +25,6 @@ ENV SKIP_CLEAN=true \
/oracle/install/gimp/install_gimp.sh \ /oracle/install/gimp/install_gimp.sh \
/oracle/install/zoom/install_zoom.sh \ /oracle/install/zoom/install_zoom.sh \
/oracle/install/ansible/install_ansible.sh \ /oracle/install/ansible/install_ansible.sh \
/oracle/install/terraform/install_terraform.sh \
/oracle/install/telegram/install_telegram.sh \ /oracle/install/telegram/install_telegram.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \ /ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/cleanup/cleanup.sh" /ubuntu/install/cleanup/cleanup.sh"
@ -36,7 +35,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -38,7 +38,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -24,7 +24,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \
@ -52,4 +52,4 @@ ENV HOME /home/kasm-user
WORKDIR $HOME WORKDIR $HOME
USER 1000 USER 1000
CMD ["--tail-log"] CMD ["--tail-log"]

View File

@ -39,7 +39,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -37,7 +37,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -15,7 +15,7 @@ ENV DEBIAN_FRONTEND=noninteractive \
KASM_RX_HOME=$STARTUPDIR/kasmrx \ KASM_RX_HOME=$STARTUPDIR/kasmrx \
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \ DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
INST_DIR=$STARTUPDIR/install \ INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/ubuntu/install/tools/install_tools.sh \ INST_SCRIPTS="/ubuntu/install/tools/install_tools_deluxe.sh \
/ubuntu/install/firefox/install_firefox.sh \ /ubuntu/install/firefox/install_firefox.sh \
/ubuntu/install/spiderfoot/install_spiderfoot.sh \ /ubuntu/install/spiderfoot/install_spiderfoot.sh \
/ubuntu/install/cleanup/cleanup.sh" /ubuntu/install/cleanup/cleanup.sh"
@ -31,7 +31,7 @@ RUN chmod 755 $STARTUPDIR/custom_startup.sh
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -42,7 +42,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -43,7 +43,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -34,7 +34,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -49,7 +49,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -42,7 +42,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -34,7 +34,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -49,7 +49,7 @@ COPY ./src/ $INST_DIR
# Run installations # Run installations
RUN \ RUN \
for SCRIPT in $INST_SCRIPTS; do \ for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT}; \ bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \ done && \
$STARTUPDIR/set_user_permission.sh $HOME && \ $STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \ rm -f /etc/X11/xinit/Xclients && \

View File

@ -0,0 +1,7 @@
# About This Image
This Image contains a browser-accessible Alpine 3.19 Desktop with various productivity and development apps installed.
![Screenshot][Image_Screenshot]
[Image_Screenshot]: https://info.kasmweb.com/hubfs/dockerhub/image-screenshots/alpine-317-desktop.png "Image Screenshot"

View File

@ -0,0 +1,9 @@
# Live Demo
<a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank"><img src="https://info.kasmweb.com/hubfs/dockerhub/GIFs/ubuntu-jammy-desktop.gif" width="640" height="360"></a>
**Launch a real-time demo in a new browser window:** <a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank">Live Demo</a>.
<a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank"><img src="https://5856039.fs1.hubspotusercontent-na1.net/hub/5856039/hubfs/dockerhub/casting-buttons/UbuntuJammyDesktop.png" width="300" height="104"></a>
&lowast;*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*

View File

@ -0,0 +1 @@
Alpine 3.19 desktop for Kasm Workspaces

View File

@ -0,0 +1,7 @@
# About This Image
This Image contains a browser-accessible Fedora 39 Desktop with various productivity and development apps installed.
![Screenshot][Image_Screenshot]
[Image_Screenshot]: https://info.kasmweb.com/hubfs/dockerhub/image-screenshots/fedora-37-desktop.png "Image Screenshot"

View File

@ -0,0 +1,9 @@
# Live Demo
<a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank"><img src="https://info.kasmweb.com/hubfs/dockerhub/GIFs/ubuntu-jammy-desktop.gif" width="640" height="360"></a>
**Launch a real-time demo in a new browser window:** <a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank">Live Demo</a>.
<a href="https://app.kasmweb.com/#/cast/6708319219" target="_blank"><img src="https://5856039.fs1.hubspotusercontent-na1.net/hub/5856039/hubfs/dockerhub/casting-buttons/UbuntuJammyDesktop.png" width="300" height="104"></a>
&lowast;*Note: Demo is limited to 3 minutes and has upload/downloads restricted for security purposes.*

View File

@ -0,0 +1 @@
Fedora 39 desktop for Kasm Workspaces

View File

@ -1,5 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -ex
apk add --no-cache \ if grep -q v3.19 /etc/os-release; then
terraform apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ \
opentofu
else
apk add --no-cache \
terraform
fi

View File

@ -6,8 +6,7 @@ zypper install -yn \
terraform-provider-aws \ terraform-provider-aws \
terraform-provider-azurerm \ terraform-provider-azurerm \
terraform-provider-google \ terraform-provider-google \
terraform-provider-kubernetes \ terraform-provider-kubernetes
terraform-provider-openstack
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
zypper clean --all zypper clean --all
fi fi

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -ex
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y ansible dnf install -y ansible
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -ex
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y gimp dnf install -y gimp
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -7,7 +7,7 @@ if [ "$ARCH" == "amd64" ] ; then
exit 0 exit 0
fi fi
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y \ dnf install -y \
libreoffice-core \ libreoffice-core \
libreoffice-writer \ libreoffice-writer \

View File

@ -8,7 +8,7 @@ if [ "$ARCH" == "arm64" ] ; then
fi fi
curl -L -o only_office.rpm "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.$(arch).rpm" curl -L -o only_office.rpm "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors.$(arch).rpm"
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y only_office.rpm dnf localinstall -y only_office.rpm
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -21,7 +21,7 @@ version=4.12.2
# This path may not be accurate once arm64 support arrives. Specifically I don't know if it will still be under x64 # This path may not be accurate once arm64 support arrives. Specifically I don't know if it will still be under x64
wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.fc21.x86_64.rpm -O slack.rpm wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.fc21.x86_64.rpm -O slack.rpm
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y slack.rpm dnf localinstall -y slack.rpm
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -8,7 +8,7 @@ fi
rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/$(arch)/sublime-text.repo dnf config-manager --add-repo https://download.sublimetext.com/rpm/stable/$(arch)/sublime-text.repo
dnf install -y sublime-text dnf install -y sublime-text
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then

View File

@ -14,7 +14,7 @@ if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almali
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
fi fi
elif [[ "${DISTRO}" == @(fedora37|fedora38) ]]; then elif [[ "${DISTRO}" == @(fedora37|fedora38|fedora39) ]]; then
dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/fedora/hashicorp.repo
dnf install -y terraform dnf install -y terraform
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then

View File

@ -3,11 +3,11 @@ set -ex
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/x64/g') ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/x64/g')
wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm wget -q https://update.code.visualstudio.com/latest/linux-rpm-${ARCH}/stable -O vs_code.rpm
dnf localinstall -y vs_code.rpm dnf localinstall -y vs_code.rpm
else else
wget -q https://packages.microsoft.com/yumrepos/vscode/code-1.65.2-1646927812.el7.x86_64.rpm -O vs_code.rpm wget -q https://packages.microsoft.com/yumrepos/vscode/code-1.85.1-1702462241.el7.x86_64.rpm -O vs_code.rpm
yum localinstall -y vs_code.rpm yum localinstall -y vs_code.rpm
fi fi
mkdir -p /usr/share/icons/hicolor/apps mkdir -p /usr/share/icons/hicolor/apps
@ -20,7 +20,7 @@ chown 1000:1000 $HOME/Desktop/code.desktop
rm vs_code.rpm rm vs_code.rpm
# Conveniences for python development # Conveniences for python development
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y python3-setuptools python3-virtualenv dnf install -y python3-setuptools python3-virtualenv
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -8,7 +8,7 @@ fi
wget -q https://zoom.us/client/latest/zoom_$(arch).rpm wget -q https://zoom.us/client/latest/zoom_$(arch).rpm
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y zoom_$(arch).rpm dnf localinstall -y zoom_$(arch).rpm
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -63,6 +63,9 @@ chmod +x $HOME/Desktop/google-chrome.desktop
mv /usr/bin/google-chrome /usr/bin/google-chrome-orig mv /usr/bin/google-chrome /usr/bin/google-chrome-orig
cat >/usr/bin/google-chrome <<EOL cat >/usr/bin/google-chrome <<EOL
#!/usr/bin/env bash #!/usr/bin/env bash
if ! pgrep chrome > /dev/null;then
rm -f \$HOME/.config/google-chrome/Singleton*
fi
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/google-chrome/Default/Preferences sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/google-chrome/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/google-chrome/Default/Preferences sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/google-chrome/Default/Preferences
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then

View File

@ -9,8 +9,8 @@ if [[ "${DISTRO}" == @(debian|opensuse|ubuntu) ]] && [ ${ARCH} = 'amd64' ] && [
exit 0 exit 0
fi fi
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y chromium dnf install -y chromium
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
@ -105,6 +105,9 @@ fi
mv /usr/bin/${REAL_BIN} /usr/bin/${REAL_BIN}-orig mv /usr/bin/${REAL_BIN} /usr/bin/${REAL_BIN}-orig
cat >/usr/bin/${REAL_BIN} <<EOL cat >/usr/bin/${REAL_BIN} <<EOL
#!/usr/bin/env bash #!/usr/bin/env bash
if ! pgrep chromium > /dev/null;then
rm -f \$HOME/.config/chromium/Singleton*
fi
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/chromium/Default/Preferences sed -i 's/"exit_type":"Crashed"/"exit_type":"None"/' ~/.config/chromium/Default/Preferences
if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then if [ -f /opt/VirtualGL/bin/vglrun ] && [ ! -z "\${KASM_EGL_CARD}" ] && [ ! -z "\${KASM_RENDERD}" ] && [ -O "\${KASM_RENDERD}" ] && [ -O "\${KASM_EGL_CARD}" ] ; then
@ -121,7 +124,7 @@ if [ "${DISTRO}" != "opensuse" ] && ! grep -q "ID=debian" /etc/os-release && ! g
cp /usr/bin/chromium-browser /usr/bin/chromium cp /usr/bin/chromium-browser /usr/bin/chromium
fi fi
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
cat >> $HOME/.config/mimeapps.list <<EOF cat >> $HOME/.config/mimeapps.list <<EOF
[Default Applications] [Default Applications]
x-scheme-handler/http=${REAL_BIN}.desktop x-scheme-handler/http=${REAL_BIN}.desktop

View File

@ -4,7 +4,7 @@ set -ex
# Distro package cleanup # Distro package cleanup
if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then if [[ "${DISTRO}" == @(centos|oracle7) ]] ; then
yum clean all yum clean all
elif [[ "${DISTRO}" == @(almalinux8|almalinux9|fedora37|fedora38|oracle8|oracle9|rockylinux8|rockylinux9) ]]; then elif [[ "${DISTRO}" == @(almalinux8|almalinux9|fedora37|fedora38|fedora39|oracle8|oracle9|rockylinux8|rockylinux9) ]]; then
dnf clean all dnf clean all
elif [ "${DISTRO}" == "opensuse" ]; then elif [ "${DISTRO}" == "opensuse" ]; then
zypper clean --all zypper clean --all

View File

@ -13,8 +13,8 @@ set_desktop_icon() {
} }
echo "Install Firefox" echo "Install Firefox"
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y firefox p11-kit dnf install -y firefox p11-kit
else else
yum install -y firefox p11-kit yum install -y firefox p11-kit
@ -68,8 +68,8 @@ for LANG in ${LANGS}; do
done done
# Cleanup and install flash if supported # Cleanup and install flash if supported
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
fi fi
@ -101,14 +101,14 @@ else
fi fi
fi fi
if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
# Update firefox to utilize the system certificate store instead of the one that ships with firefox # Update firefox to utilize the system certificate store instead of the one that ships with firefox
rm -f /usr/lib/firefox/libnssckbi.so rm -f /usr/lib/firefox/libnssckbi.so
ln /usr/lib/$(arch)-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox/libnssckbi.so ln /usr/lib/$(arch)-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox/libnssckbi.so
fi fi
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(fedora37|fedora38|fedora39) ]]; then
preferences_file=/usr/lib64/firefox/browser/defaults/preferences/firefox-redhat-default-prefs.js preferences_file=/usr/lib64/firefox/browser/defaults/preferences/firefox-redhat-default-prefs.js
else else
preferences_file=/usr/lib64/firefox/browser/defaults/preferences/all-redhat.js preferences_file=/usr/lib64/firefox/browser/defaults/preferences/all-redhat.js
@ -121,7 +121,7 @@ else
fi fi
# Disabling default first run URL for Debian based images # Disabling default first run URL for Debian based images
if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
cat >"$preferences_file" <<EOF cat >"$preferences_file" <<EOF
pref("datareporting.policy.firstRunURL", ""); pref("datareporting.policy.firstRunURL", "");
pref("datareporting.policy.dataSubmissionEnabled", false); pref("datareporting.policy.dataSubmissionEnabled", false);
@ -132,8 +132,9 @@ pref("browser.aboutwelcome.enabled", false);
EOF EOF
fi fi
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
# Creating a default profile # Creating a default profile
chown -R root:root $HOME
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm" firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
# Generate a certdb to be detected on squid start # Generate a certdb to be detected on squid start
HOME=/root firefox --headless & HOME=/root firefox --headless &
@ -155,7 +156,7 @@ else
firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm" firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm"
fi fi
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
set_desktop_icon set_desktop_icon
fi fi
@ -163,13 +164,13 @@ fi
# based off the installation path. Because that path will be static for our deployments we can assume the hash # based off the installation path. Because that path will be static for our deployments we can assume the hash
# and thus assign our profile to the default for the installation # and thus assign our profile to the default for the installation
if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then if [[ "${DISTRO}" != @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
[Install4F96D1932A9F858E] [Install4F96D1932A9F858E]
Default=kasm Default=kasm
Locked=1 Locked=1
EOL EOL
elif [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38) ]]; then elif [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|opensuse|fedora37|fedora38|fedora39) ]]; then
cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL cat >>$HOME/.mozilla/firefox/profiles.ini <<EOL
[Install11457493C5A56847] [Install11457493C5A56847]
Default=kasm Default=kasm
@ -177,11 +178,16 @@ Locked=1
EOL EOL
fi fi
# Desktop Icon FIxes
if [ "${DISTRO}" == "fedora39" ]; then
sed -i 's#Icon=/usr/lib/firefox#Icon=/usr/lib64/firefox#g' $HOME/Desktop/firefox.desktop
fi
# Cleanup for app layer # Cleanup for app layer
chown -R 1000:0 $HOME chown -R 1000:0 $HOME
find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \; find /usr/share/ -name "icon-theme.cache" -exec rm -f {} \;
if [ -f $HOME/Desktop/firefox.desktop ]; then if [ -f $HOME/Desktop/firefox.desktop ]; then
chmod +x $HOME/Desktop/firefox.desktop chmod +x $HOME/Desktop/firefox.desktop
fi fi
chown -R 1000:1000 $HOME/.mozilla chown -R 1000:1000 $HOME/.mozilla

View File

@ -1,13 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -ex
if [[ "${DISTRO}" == @(centos|oracle7|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle7|oracle8|oracle9|rockylinux9|rockylinux8|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(oracle8|rockylinux8|almalinux8) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux8|almalinux8) ]]; then
dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret remmina-plugins-spice xdotool dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret remmina-plugins-spice xdotool
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
fi fi
elif [[ "${DISTRO}" == @(rockylinux9|oracle9|almalinux9|fedora37|fedora38) ]]; then elif [[ "${DISTRO}" == @(rockylinux9|oracle9|almalinux9|fedora37|fedora38|fedora39) ]]; then
dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret xdotool dnf install -y remmina remmina-plugins-rdp remmina-plugins-secret xdotool
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
@ -25,7 +25,7 @@ elif [ "${DISTRO}" == "opensuse" ]; then
fi fi
elif grep -q "ID=debian" /etc/os-release; then elif grep -q "ID=debian" /etc/os-release; then
apt-get update apt-get update
apt-get install -y remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice xdotool apt-get install -y remmina remmina-plugin-rdp remmina-plugin-secret xdotool
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
apt-get autoclean apt-get autoclean
rm -rf \ rm -rf \

View File

@ -12,11 +12,11 @@ version=$(curl -q https://slack.com/downloads/linux | grep page-downloads__hero_
echo Detected slack version $version echo Detected slack version $version
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|opensuse) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39|opensuse) ]]; then
wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.el8.x86_64.rpm wget -q https://downloads.slack-edge.com/releases/linux/${version}/prod/x64/slack-${version}-0.1.el8.x86_64.rpm
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf localinstall -y slack-${version}-0.1.el8.x86_64.rpm dnf localinstall -y slack-${version}-0.1.el8.x86_64.rpm
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all

View File

@ -6,7 +6,11 @@ ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
if [ "${ARCH}" == "arm64" ] ; then if [ "${ARCH}" == "arm64" ] ; then
apt-get update apt-get update
apt-get install -y telegram-desktop apt-get install -y telegram-desktop
cp /usr/share/applications/telegramdesktop.desktop $HOME/Desktop/telegram.desktop if grep -q bookworm /etc/os-release; then
cp /usr/share/applications/org.telegram.desktop.desktop $HOME/Desktop/telegram.desktop
else
cp /usr/share/applications/telegramdesktop.desktop $HOME/Desktop/telegram.desktop
fi
chmod +x $HOME/Desktop/telegram.desktop chmod +x $HOME/Desktop/telegram.desktop
else else
curl -L https://telegram.org/dl/desktop/linux -o /tmp/telegram.tgz curl -L https://telegram.org/dl/desktop/linux -o /tmp/telegram.tgz

View File

@ -2,8 +2,8 @@
set -ex set -ex
# Install # Install
if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(centos|oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(oracle8|rockylinux9|rockylinux8|oracle9|almalinux9|almalinux8|fedora37|fedora38|fedora39) ]]; then
dnf install -y thunderbird dnf install -y thunderbird
if [ -z ${SKIP_CLEAN+x} ]; then if [ -z ${SKIP_CLEAN+x} ]; then
dnf clean all dnf clean all
@ -48,7 +48,7 @@ Pin-Priority: 1001
fi fi
# Desktop icon # Desktop icon
if [[ "${DISTRO}" == @(fedora37|fedora38) ]]; then if [[ "${DISTRO}" == @(fedora37|fedora38|fedora39) ]]; then
cp /usr/share/applications/mozilla-thunderbird.desktop $HOME/Desktop/ cp /usr/share/applications/mozilla-thunderbird.desktop $HOME/Desktop/
chmod +x $HOME/Desktop/mozilla-thunderbird.desktop chmod +x $HOME/Desktop/mozilla-thunderbird.desktop
else else

View File

@ -1,5 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -ex set -ex
apt-get update apt-get update
apt-get install -y vlc git tmux apt-get install -y vlc git tmux

View File

@ -32,7 +32,7 @@ elif [[ "${DISTRO}" == @(centos|oracle7) ]]; then
wireguard-tools \ wireguard-tools \
zenity \ zenity \
jq jq
elif [[ "${DISTRO}" == @(fedora37|fedora38) ]] ; then elif [[ "${DISTRO}" == @(fedora37|fedora38|fedora39) ]] ; then
dnf install -y \ dnf install -y \
openresolv \ openresolv \
openvpn \ openvpn \