mirror of
https://github.com/kasmtech/workspaces-core-images.git
synced 2024-11-21 23:13:08 +01:00
KASM-2193 Update images to be based on Ubuntu 20.04
This commit is contained in:
parent
7fae990199
commit
c4cadd428c
129
.gitlab-ci.yml
129
.gitlab-ci.yml
@ -35,6 +35,26 @@ build_ubuntu_bionic:
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_ubuntu_focal:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_cuda_bionic:
|
||||
stage: build
|
||||
script:
|
||||
@ -49,6 +69,20 @@ build_cuda_bionic:
|
||||
except:
|
||||
- schedules
|
||||
|
||||
build_cuda_focal:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
|
||||
build_nvidia_focal:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -60,7 +94,7 @@ build_nvidia_focal:
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_ROLLING_BRANCH --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg BG_IMG=bg_bionic.png -f dockerfile-kasm-core-nvidia .
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-nvidia-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core-nvidia .
|
||||
tags:
|
||||
- aws-autoscale
|
||||
only:
|
||||
@ -83,6 +117,23 @@ build_remnux_bionic:
|
||||
except:
|
||||
- schedules
|
||||
|
||||
build_remnux_focal:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="remnux/remnux-distro:focal" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_BRANCH
|
||||
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH
|
||||
only:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
except:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
|
||||
build_kali_rolling:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -137,6 +188,23 @@ build_ubuntu_bionic_dev:
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_ubuntu_focal_dev:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
stage: build
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_cuda_bionic_dev:
|
||||
stage: build
|
||||
@ -147,6 +215,15 @@ build_cuda_bionic_dev:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
|
||||
build_cuda_focal_dev:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_BRANCH
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
|
||||
build_nvidia_focal_dev:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -174,6 +251,17 @@ build_remnux_bionic_dev:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
|
||||
build_remnux_focal_dev:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="remnux/remnux-distro:focal" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_BRANCH
|
||||
tags:
|
||||
- aws-autoscale
|
||||
except:
|
||||
- develop
|
||||
- /^release\/.*$/
|
||||
|
||||
build_kali_rolling_dev:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -219,6 +307,23 @@ build_ubuntu_bionic_scheduled:
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_ubuntu_focal_scheduled:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
variables:
|
||||
BUILD_PLATFORMS: "linux/amd64,linux/arm64"
|
||||
script:
|
||||
# get qemu ready
|
||||
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# prep the buildx env
|
||||
- docker buildx create --use
|
||||
# build for multiple architectures
|
||||
- docker buildx build --push --platform $BUILD_PLATFORMS -t ${ORG_NAME}/core-ubuntu-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-ubuntu-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="ubuntu:20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
only:
|
||||
- schedules
|
||||
tags:
|
||||
- aws-autoscale
|
||||
|
||||
build_cuda_bionic_schedules:
|
||||
stage: build
|
||||
script:
|
||||
@ -228,6 +333,15 @@ build_cuda_bionic_schedules:
|
||||
only:
|
||||
- schedules
|
||||
|
||||
build_cuda_focal_schedules:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="nvidia/cuda:11.6.0-devel-ubuntu20.04" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_focal.png -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-cuda-focal-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-cuda-focal:$SANITIZED_ROLLING_BRANCH
|
||||
only:
|
||||
- schedules
|
||||
|
||||
build_nvidia_focal_schedules:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -254,6 +368,17 @@ build_remnux_bionic_schedules:
|
||||
only:
|
||||
- schedules
|
||||
|
||||
build_remnux_focal_schedules:
|
||||
stage: build
|
||||
script:
|
||||
- docker build -t ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH --build-arg START_PULSEAUDIO=1 --build-arg BASE_IMAGE="remnux/remnux-distro:focal" --build-arg START_XFCE4=1 --build-arg BG_IMG=bg_remnux.png --build-arg EXTRA_SH=remnux.sh -f dockerfile-kasm-core .
|
||||
- docker push ${ORG_NAME}/core-remnux-focal-private:$SANITIZED_ROLLING_BRANCH
|
||||
- docker push ${ORG_NAME}/core-remnux-focal:$SANITIZED_ROLLING_BRANCH
|
||||
tags:
|
||||
- aws-autoscale
|
||||
only:
|
||||
- schedules
|
||||
|
||||
build_kali_rolling_schedules:
|
||||
stage: build
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
@ -297,4 +422,4 @@ update_readmes:
|
||||
- $README_PASSWORD
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [core-centos-7, core-kali-rolling, core-remnux-bionic, core-cuda-bionic, core-ubuntu-bionic, core-nvidia-focal]
|
||||
- KASM_IMAGE: [core-centos-7, core-kali-rolling, core-remnux-bionic, core-remnux-focal, core-cuda-bionic, core-cuda-focal, core-ubuntu-bionic, core-ubuntu-focal, core-nvidia-focal]
|
||||
|
@ -1,9 +1,9 @@
|
||||
![Logo][logo]
|
||||
# Workspaces Core Images
|
||||
This repository contains the base or **"Core"** images from which all other Workspaces images are derived.
|
||||
These images are based off popular linux distributions and container the wiring necessary to work within the Kasm platform.
|
||||
These images are based off popular linux distributions and contain the wiring necessary to work within the Kasm platform.
|
||||
|
||||
While these image are primarily built to run inside the Kasm platform, it can also be executed manually. Please note that certain functionality, such as audio, uploads, downloads, and microphone passthrough are only available within the Kasm platform.
|
||||
While these images are primarily built to run inside the Kasm platform, they can also be executed manually. Please note that certain functionality, such as audio, uploads, downloads, and microphone passthrough are only available within the Kasm platform.
|
||||
|
||||
```
|
||||
sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/<image>:<tag>
|
||||
|
@ -1,14 +1,10 @@
|
||||
ARG BASE_IMAGE="ubuntu:18.04"
|
||||
ARG BASE_IMAGE="ubuntu:20.04"
|
||||
FROM $BASE_IMAGE AS install_tools
|
||||
ARG DISTRO=ubuntu
|
||||
|
||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||
LABEL "com.kasmweb.image"="true"
|
||||
|
||||
### Install common tools
|
||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||
RUN bash $INST_SCRIPTS/tools/install_tools.sh && rm -rf $INST_SCRIPTS/tools/
|
||||
|
||||
### Environment config
|
||||
ARG START_XFCE4=0
|
||||
ARG START_PULSEAUDIO=0
|
||||
@ -54,6 +50,15 @@ EXPOSE $VNC_PORT \
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME/Desktop
|
||||
|
||||
### Install common tools
|
||||
COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/
|
||||
RUN bash $INST_SCRIPTS/tools/install_tools.sh && rm -rf $INST_SCRIPTS/tools/
|
||||
|
||||
### Install wmctrl needed for the maximize script
|
||||
RUN apt install wmctrl
|
||||
|
||||
### Copy over the maximization script to our startup dir for use by app images.
|
||||
COPY ./src/ubuntu/install/maximize_script $STARTUPDIR/
|
||||
|
||||
### Install custom fonts
|
||||
COPY ./src/ubuntu/install/fonts $INST_SCRIPTS/fonts/
|
||||
|
@ -13,7 +13,7 @@ RUN tar -xzf kasm-squid-builder_ubuntu.tar.gz -C /
|
||||
|
||||
FROM install_tools
|
||||
|
||||
MAINTAINER Kasm Tech "info@kasmweb.com"
|
||||
LABEL "org.opencontainers.image.authors"='Kasm Tech "info@kasmweb.com"'
|
||||
LABEL "com.kasmweb.image"="true"
|
||||
LABEL "com.kasmweb.gpu_acceleration_egl"="nvidia"
|
||||
|
||||
@ -62,6 +62,12 @@ EXPOSE $VNC_PORT \
|
||||
WORKDIR $HOME
|
||||
RUN mkdir -p $HOME/Desktop
|
||||
|
||||
### Install wmctrl needed for the maximize script
|
||||
RUN apt install wmctrl
|
||||
|
||||
### Copy over the maximization script to our startup dir for use by app images.
|
||||
COPY ./src/ubuntu/install/maximize_script $STARTUPDIR/
|
||||
|
||||
# NVIDIA SETUP
|
||||
RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && \
|
||||
echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf
|
||||
|
9
docs/core-cuda-focal/README.md
Normal file
9
docs/core-cuda-focal/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# About This Image
|
||||
|
||||
This image contains a browser-accessible version of Ubuntu Focal including the CUDA toolkit.
|
||||
|
||||
This image is used by our open-source containerized [Machine Learning Desktop](https://github.com/kasmtech/workspaces-machine-learning) and our [Data Science Desktop](https://github.com/kasmtech/workspaces-data-science). The core image should be used as a base to create your own derivative images, or you can modify our ML or data science images to meet your needs. All images are intended to be used with the NVIDIA container toolkit to pass GPU capabilities into the containerized desktop, which is pre-loaded with your favorite development and data science tools and libraries.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/core-cuda-focal.png "Image Screenshot"
|
1
docs/core-cuda-focal/description.txt
Normal file
1
docs/core-cuda-focal/description.txt
Normal file
@ -0,0 +1 @@
|
||||
CUDA toolkit base image for Kasm Workspaces
|
7
docs/core-remnux-focal/README.md
Normal file
7
docs/core-remnux-focal/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# About This Image
|
||||
|
||||
This image contains a browser-accessible version of REMnux.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/core-remnux-focal.png "Image Screenshot"
|
1
docs/core-remnux-focal/description.txt
Normal file
1
docs/core-remnux-focal/description.txt
Normal file
@ -0,0 +1 @@
|
||||
REMnux base image for Kasm Workspaces
|
7
docs/core-ubuntu-focal/README.md
Normal file
7
docs/core-ubuntu-focal/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# About This Image
|
||||
|
||||
This image contains a browser-accessible version of Ubuntu Focal.
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/core-ubuntu-focal.png "Image Screenshot"
|
1
docs/core-ubuntu-focal/description.txt
Normal file
1
docs/core-ubuntu-focal/description.txt
Normal file
@ -0,0 +1 @@
|
||||
Ubuntu Focal base image for Kasm Workspaces
|
BIN
src/common/resources/images/bg_focal.png
Normal file
BIN
src/common/resources/images/bg_focal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 MiB |
@ -21,9 +21,9 @@ COMMIT_ID_SHORT=$(echo "${COMMIT_ID}" | cut -c1-6)
|
||||
if [ "${DISTRO}" == "kali" ] ;
|
||||
then
|
||||
if [[ "$(arch)" =~ ^x86_64$ ]] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_kali-rolling_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_amd64.deb"
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_kali-rolling_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_amd64.deb"
|
||||
else
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_kali-rolling_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_arm64.deb"
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_kali-rolling_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_arm64.deb"
|
||||
fi
|
||||
elif [ "${DISTRO}" == "centos" ] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/output/centos_core/kasmvncserver-0.9.1~beta-1.el7.x86_64.rpm"
|
||||
@ -34,7 +34,7 @@ else
|
||||
elif [ "${UBUNTU_CODENAME}" == "bionic" ] ; then
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_${UBUNTU_CODENAME}_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_libjpeg-turbo-latest_amd64.deb"
|
||||
else
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_${UBUNTU_CODENAME}_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_amd64.deb"
|
||||
BUILD_URL="https://kasmweb-build-artifacts.s3.amazonaws.com/kasmvnc/${COMMIT_ID}/kasmvncserver_${UBUNTU_CODENAME}_0.9.3_${BRANCH}_${COMMIT_ID_SHORT}_amd64.deb"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -46,6 +46,7 @@ if [ "${DISTRO}" == "centos" ] ; then
|
||||
rm kasmvncserver.rpm
|
||||
else
|
||||
if [[ "${UBUNTU_CODENAME}" = "bionic" ]] && [[ ! "$BUILD_ARCH" =~ ^aarch64$ ]] ; then
|
||||
# We need to install libjpeg-turbo because the version that comes with bionic is quite old and has performance issues.
|
||||
install_libjpeg_turbo
|
||||
fi
|
||||
|
||||
|
39
src/ubuntu/install/maximize_script/maximize_window.sh
Normal file
39
src/ubuntu/install/maximize_script/maximize_window.sh
Normal file
@ -0,0 +1,39 @@
|
||||
# MAXIMIZE and MAXIMIZE_NAME are exported by the calling script
|
||||
# This script will check against the container OS to do the right thing.
|
||||
|
||||
# Array of codenames that support maximus
|
||||
MAXIMUS_CODENAMES=("bionic")
|
||||
# Array of codenames that support wmctrl
|
||||
WMCTRL_CODENAMES=("focal")
|
||||
|
||||
maximize_window(){
|
||||
set +e
|
||||
if [[ ${MAXIMIZE} == 'true' ]] ; then
|
||||
if [[ ${MAXIMUS_CODENAMES[*]} =~ $(lsb_release -cs) ]] ; then
|
||||
# only start maximus if it isn't already running
|
||||
if ! pgrep -x maximus > /dev/null
|
||||
then
|
||||
maximus &
|
||||
fi
|
||||
fi
|
||||
if [[ ${WMCTRL_CODENAMES[*]} =~ $(lsb_release -cs) ]] ; then
|
||||
while true; do
|
||||
end=$((SECONDS+60))
|
||||
while [ $SECONDS -lt $end ]; do
|
||||
windows=$(wmctrl -l)
|
||||
if [[ "$windows" =~ "${MAXIMIZE_NAME}" ]];
|
||||
then
|
||||
echo "Found ${MAXIMIZE_NAME}, maximizing"
|
||||
wmctrl -r "${MAXIMIZE_NAME}" -b add,maximized_vert,maximized_horz
|
||||
break;
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
sleep 10
|
||||
done
|
||||
fi
|
||||
fi
|
||||
set -e
|
||||
}
|
||||
|
||||
maximize_window
|
@ -9,6 +9,8 @@ if [ "${DISTRO}" == "centos" ] ; then
|
||||
rm wmctrl*.rpm
|
||||
else
|
||||
apt-get update
|
||||
# Update tzdata noninteractive (otherwise our script is hung on user input later).
|
||||
DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y install tzdata
|
||||
apt-get install -y vim wget net-tools locales bzip2 wmctrl software-properties-common mesa-utils
|
||||
apt-get clean -y
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user