From 4c2c5ce48a30811c9302a9b12f851fe2c17f8aba Mon Sep 17 00:00:00 2001 From: Justin Date: Wed, 16 Jun 2021 09:41:01 -0400 Subject: [PATCH] Initial Commit --- .gitlab-ci.yml | 100 +++++++ README.md | 44 +++ dockerfile-kasm-brave | 38 +++ dockerfile-kasm-centos-7-desktop | 37 +++ dockerfile-kasm-chrome | 43 +++ dockerfile-kasm-chrome-flash | 41 +++ dockerfile-kasm-desktop | 45 +++ dockerfile-kasm-desktop-deluxe | 107 +++++++ dockerfile-kasm-discord | 35 +++ dockerfile-kasm-doom | 33 +++ dockerfile-kasm-edge | 37 +++ dockerfile-kasm-firefox | 42 +++ dockerfile-kasm-firefox-flash | 39 +++ dockerfile-kasm-firefox-mobile | 53 ++++ dockerfile-kasm-gimp | 34 +++ dockerfile-kasm-insomnia | 34 +++ dockerfile-kasm-maltego | 35 +++ dockerfile-kasm-only-office | 34 +++ dockerfile-kasm-postman | 35 +++ dockerfile-kasm-rdesktop | 33 +++ dockerfile-kasm-remmina | 38 +++ dockerfile-kasm-signal | 35 +++ dockerfile-kasm-slack | 37 +++ dockerfile-kasm-steam | 34 +++ dockerfile-kasm-sublime-text | 35 +++ dockerfile-kasm-teams | 35 +++ dockerfile-kasm-terminal | 43 +++ dockerfile-kasm-tor-browser | 58 ++++ dockerfile-kasm-ubuntu-bionic-desktop | 103 +++++++ dockerfile-kasm-vlc | 35 +++ dockerfile-kasm-vmware-horizon | 33 +++ dockerfile-kasm-vs-code | 34 +++ dockerfile-kasm-zoom | 35 +++ dockerfile-kasm-zsnes | 34 +++ docs/brave/README.md | 12 + docs/brave/description.txt | 1 + docs/centos-7-desktop/README.md | 7 + docs/centos-7-desktop/description.txt | 1 + docs/chrome/README.md | 12 + docs/chrome/description.txt | 1 + docs/desktop-deluxe/README.md | 7 + docs/desktop-deluxe/description.txt | 1 + docs/desktop/README.md | 7 + docs/desktop/description.txt | 1 + docs/discord/README.md | 11 + docs/discord/description.txt | 1 + docs/doom/README.md | 11 + docs/doom/description.txt | 1 + docs/edge/README.md | 12 + docs/edge/description.txt | 1 + docs/firefox-mobile/README.md | 13 + docs/firefox-mobile/description.txt | 1 + docs/firefox/README.md | 12 + docs/firefox/description.txt | 1 + docs/gimp/README.md | 11 + docs/gimp/description.txt | 1 + docs/insomnia/README.md | 11 + docs/insomnia/description.txt | 1 + docs/maltego/README.md | 11 + docs/maltego/description.txt | 1 + docs/only-office/README.md | 11 + docs/only-office/description.txt | 1 + docs/postman/README.md | 11 + docs/postman/description.txt | 1 + docs/rdesktop/README.md | 13 + docs/rdesktop/description.txt | 1 + docs/remmina/README.md | 11 + docs/remmina/description.txt | 1 + docs/signal/README.md | 11 + docs/signal/description.txt | 1 + docs/slack/README.md | 11 + docs/slack/description.txt | 1 + docs/steam/README.md | 11 + docs/steam/description.txt | 1 + docs/sublime-text/README.md | 11 + docs/sublime-text/description.txt | 1 + docs/teams/README.md | 11 + docs/teams/description.txt | 1 + docs/terminal/README.md | 11 + docs/terminal/description.txt | 1 + docs/tor-browser/README.md | 11 + docs/tor-browser/description.txt | 1 + docs/ubuntu-bionic-desktop/README.md | 7 + docs/ubuntu-bionic-desktop/description.txt | 1 + docs/vlc/README.md | 11 + docs/vlc/description.txt | 1 + docs/vmware-horizon/README.md | 12 + docs/vmware-horizon/description.txt | 1 + docs/vs-code/README.md | 11 + docs/vs-code/description.txt | 1 + docs/zoom/README.md | 11 + docs/zoom/description.txt | 1 + docs/zsnes/README.md | 11 + docs/zsnes/description.txt | 1 + src/common/install/configure_firefox.sh | 14 + src/ubuntu/install/ansible/install_ansible.sh | 7 + src/ubuntu/install/brave/custom_startup.sh | 32 +++ src/ubuntu/install/brave/install_brave.sh | 46 +++ src/ubuntu/install/certificates/ca.crt | 3 + .../install/certificates/install_ca_cert.sh | 28 ++ src/ubuntu/install/chrome/custom_startup.sh | 30 ++ src/ubuntu/install/chrome/install_chrome.sh | 57 ++++ .../install/chrome_flash/install_flash.sh | 37 +++ src/ubuntu/install/discord/custom_startup.sh | 30 ++ src/ubuntu/install/discord/install_discord.sh | 10 + src/ubuntu/install/doom/custom_startup.sh | 5 + src/ubuntu/install/doom/install_doom.sh | 7 + src/ubuntu/install/edge/custom_startup.sh | 33 +++ src/ubuntu/install/edge/install_edge.sh | 40 +++ src/ubuntu/install/firefox/custom_startup.sh | 30 ++ src/ubuntu/install/firefox/firefox.desktop | 221 ++++++++++++++ src/ubuntu/install/firefox/install_firefox.sh | 59 ++++ .../install/firefox_flash/install_flash.sh | 11 + .../configure_firefox_mobile.sh | 108 +++++++ .../install/firefox_mobile/custom_startup.sh | 30 ++ src/ubuntu/install/gimp/custom_startup.sh | 29 ++ src/ubuntu/install/gimp/install_gimp.sh | 6 + src/ubuntu/install/horizon/custom_startup.sh | 28 ++ .../install/horizon/install_horizons.sh | 29 ++ src/ubuntu/install/insomnia/custom_startup.sh | 29 ++ .../install/insomnia/install_insomnia.sh | 14 + src/ubuntu/install/keeper/install_keeper.sh | 9 + .../libre_office/install_libre_office.sh | 13 + src/ubuntu/install/lsyncd/install_lsyncd.sh | 38 +++ src/ubuntu/install/maltego/custom_startup.sh | 27 ++ src/ubuntu/install/maltego/install_maltego.sh | 16 ++ src/ubuntu/install/misc/install_tools.sh | 11 + src/ubuntu/install/mobile/configure_mobile.sh | 56 ++++ .../install/nextcloud/install_nextcloud.sh | 208 ++++++++++++++ src/ubuntu/install/obs/install_obs.sh | 13 + .../install/only_office/custom_startup.sh | 29 ++ .../only_office/install_only_office.sh | 14 + .../install/owncloud/install_owncloud.sh | 48 ++++ src/ubuntu/install/owncloud/owncloud.cfg | 30 ++ src/ubuntu/install/postman/custom_startup.sh | 29 ++ src/ubuntu/install/postman/install_postman.sh | 25 ++ src/ubuntu/install/rdesktop/custom_startup.sh | 28 ++ .../install/rdesktop/install_rdesktop.sh | 5 + src/ubuntu/install/remmina/custom_startup.sh | 28 ++ src/ubuntu/install/remmina/install_remmina.sh | 11 + src/ubuntu/install/remmina/remmina.pref | 13 + src/ubuntu/install/signal/custom_startup.sh | 29 ++ src/ubuntu/install/signal/install_signal.sh | 8 + src/ubuntu/install/slack/custom_startup.sh | 29 ++ src/ubuntu/install/slack/install_slack.sh | 11 + src/ubuntu/install/smb/install_smb.sh | 270 ++++++++++++++++++ src/ubuntu/install/steam/custom_startup.sh | 29 ++ src/ubuntu/install/steam/install_steam.sh | 8 + .../install/sublime_text/custom_startup.sh | 29 ++ .../sublime_text/install_sublime_text.sh | 11 + src/ubuntu/install/teams/custom_startup.sh | 29 ++ src/ubuntu/install/teams/install_teams.sh | 8 + src/ubuntu/install/terminal/custom_startup.sh | 32 +++ .../install/terraform/install_terraform.sh | 7 + .../install/tools/install_tools_deluxe.sh | 5 + .../install/torbrowser/install_torbrowser.sh | 28 ++ src/ubuntu/install/vlc/custom_startup.sh | 28 ++ src/ubuntu/install/vlc/install_vlc.sh | 4 + src/ubuntu/install/vs_code/custom_startup.sh | 29 ++ src/ubuntu/install/vs_code/install_vs_code.sh | 16 ++ .../install/zoho_email/install_zoho_email.sh | 56 ++++ src/ubuntu/install/zoom/custom_startup.sh | 28 ++ src/ubuntu/install/zoom/install_zoom.sh | 9 + src/ubuntu/install/zsnes/custom_startup.sh | 29 ++ src/ubuntu/install/zsnes/install_zsnes.sh | 8 + 165 files changed, 4205 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 README.md create mode 100644 dockerfile-kasm-brave create mode 100644 dockerfile-kasm-centos-7-desktop create mode 100644 dockerfile-kasm-chrome create mode 100644 dockerfile-kasm-chrome-flash create mode 100644 dockerfile-kasm-desktop create mode 100644 dockerfile-kasm-desktop-deluxe create mode 100644 dockerfile-kasm-discord create mode 100644 dockerfile-kasm-doom create mode 100644 dockerfile-kasm-edge create mode 100644 dockerfile-kasm-firefox create mode 100644 dockerfile-kasm-firefox-flash create mode 100644 dockerfile-kasm-firefox-mobile create mode 100644 dockerfile-kasm-gimp create mode 100644 dockerfile-kasm-insomnia create mode 100644 dockerfile-kasm-maltego create mode 100644 dockerfile-kasm-only-office create mode 100644 dockerfile-kasm-postman create mode 100644 dockerfile-kasm-rdesktop create mode 100644 dockerfile-kasm-remmina create mode 100644 dockerfile-kasm-signal create mode 100644 dockerfile-kasm-slack create mode 100644 dockerfile-kasm-steam create mode 100644 dockerfile-kasm-sublime-text create mode 100644 dockerfile-kasm-teams create mode 100644 dockerfile-kasm-terminal create mode 100644 dockerfile-kasm-tor-browser create mode 100644 dockerfile-kasm-ubuntu-bionic-desktop create mode 100644 dockerfile-kasm-vlc create mode 100644 dockerfile-kasm-vmware-horizon create mode 100644 dockerfile-kasm-vs-code create mode 100644 dockerfile-kasm-zoom create mode 100644 dockerfile-kasm-zsnes create mode 100644 docs/brave/README.md create mode 100644 docs/brave/description.txt create mode 100644 docs/centos-7-desktop/README.md create mode 100644 docs/centos-7-desktop/description.txt create mode 100644 docs/chrome/README.md create mode 100644 docs/chrome/description.txt create mode 100644 docs/desktop-deluxe/README.md create mode 100644 docs/desktop-deluxe/description.txt create mode 100644 docs/desktop/README.md create mode 100644 docs/desktop/description.txt create mode 100644 docs/discord/README.md create mode 100644 docs/discord/description.txt create mode 100644 docs/doom/README.md create mode 100644 docs/doom/description.txt create mode 100644 docs/edge/README.md create mode 100644 docs/edge/description.txt create mode 100644 docs/firefox-mobile/README.md create mode 100644 docs/firefox-mobile/description.txt create mode 100644 docs/firefox/README.md create mode 100644 docs/firefox/description.txt create mode 100644 docs/gimp/README.md create mode 100644 docs/gimp/description.txt create mode 100644 docs/insomnia/README.md create mode 100644 docs/insomnia/description.txt create mode 100644 docs/maltego/README.md create mode 100644 docs/maltego/description.txt create mode 100644 docs/only-office/README.md create mode 100644 docs/only-office/description.txt create mode 100644 docs/postman/README.md create mode 100644 docs/postman/description.txt create mode 100644 docs/rdesktop/README.md create mode 100644 docs/rdesktop/description.txt create mode 100644 docs/remmina/README.md create mode 100644 docs/remmina/description.txt create mode 100644 docs/signal/README.md create mode 100644 docs/signal/description.txt create mode 100644 docs/slack/README.md create mode 100644 docs/slack/description.txt create mode 100644 docs/steam/README.md create mode 100644 docs/steam/description.txt create mode 100644 docs/sublime-text/README.md create mode 100644 docs/sublime-text/description.txt create mode 100644 docs/teams/README.md create mode 100644 docs/teams/description.txt create mode 100644 docs/terminal/README.md create mode 100644 docs/terminal/description.txt create mode 100644 docs/tor-browser/README.md create mode 100644 docs/tor-browser/description.txt create mode 100644 docs/ubuntu-bionic-desktop/README.md create mode 100644 docs/ubuntu-bionic-desktop/description.txt create mode 100644 docs/vlc/README.md create mode 100644 docs/vlc/description.txt create mode 100644 docs/vmware-horizon/README.md create mode 100644 docs/vmware-horizon/description.txt create mode 100644 docs/vs-code/README.md create mode 100644 docs/vs-code/description.txt create mode 100644 docs/zoom/README.md create mode 100644 docs/zoom/description.txt create mode 100644 docs/zsnes/README.md create mode 100644 docs/zsnes/description.txt create mode 100644 src/common/install/configure_firefox.sh create mode 100644 src/ubuntu/install/ansible/install_ansible.sh create mode 100644 src/ubuntu/install/brave/custom_startup.sh create mode 100644 src/ubuntu/install/brave/install_brave.sh create mode 100644 src/ubuntu/install/certificates/ca.crt create mode 100644 src/ubuntu/install/certificates/install_ca_cert.sh create mode 100644 src/ubuntu/install/chrome/custom_startup.sh create mode 100644 src/ubuntu/install/chrome/install_chrome.sh create mode 100644 src/ubuntu/install/chrome_flash/install_flash.sh create mode 100644 src/ubuntu/install/discord/custom_startup.sh create mode 100644 src/ubuntu/install/discord/install_discord.sh create mode 100644 src/ubuntu/install/doom/custom_startup.sh create mode 100644 src/ubuntu/install/doom/install_doom.sh create mode 100644 src/ubuntu/install/edge/custom_startup.sh create mode 100644 src/ubuntu/install/edge/install_edge.sh create mode 100644 src/ubuntu/install/firefox/custom_startup.sh create mode 100644 src/ubuntu/install/firefox/firefox.desktop create mode 100644 src/ubuntu/install/firefox/install_firefox.sh create mode 100644 src/ubuntu/install/firefox_flash/install_flash.sh create mode 100644 src/ubuntu/install/firefox_mobile/configure_firefox_mobile.sh create mode 100644 src/ubuntu/install/firefox_mobile/custom_startup.sh create mode 100644 src/ubuntu/install/gimp/custom_startup.sh create mode 100644 src/ubuntu/install/gimp/install_gimp.sh create mode 100644 src/ubuntu/install/horizon/custom_startup.sh create mode 100644 src/ubuntu/install/horizon/install_horizons.sh create mode 100644 src/ubuntu/install/insomnia/custom_startup.sh create mode 100644 src/ubuntu/install/insomnia/install_insomnia.sh create mode 100644 src/ubuntu/install/keeper/install_keeper.sh create mode 100644 src/ubuntu/install/libre_office/install_libre_office.sh create mode 100644 src/ubuntu/install/lsyncd/install_lsyncd.sh create mode 100644 src/ubuntu/install/maltego/custom_startup.sh create mode 100644 src/ubuntu/install/maltego/install_maltego.sh create mode 100644 src/ubuntu/install/misc/install_tools.sh create mode 100644 src/ubuntu/install/mobile/configure_mobile.sh create mode 100644 src/ubuntu/install/nextcloud/install_nextcloud.sh create mode 100644 src/ubuntu/install/obs/install_obs.sh create mode 100644 src/ubuntu/install/only_office/custom_startup.sh create mode 100644 src/ubuntu/install/only_office/install_only_office.sh create mode 100644 src/ubuntu/install/owncloud/install_owncloud.sh create mode 100644 src/ubuntu/install/owncloud/owncloud.cfg create mode 100644 src/ubuntu/install/postman/custom_startup.sh create mode 100644 src/ubuntu/install/postman/install_postman.sh create mode 100644 src/ubuntu/install/rdesktop/custom_startup.sh create mode 100644 src/ubuntu/install/rdesktop/install_rdesktop.sh create mode 100644 src/ubuntu/install/remmina/custom_startup.sh create mode 100644 src/ubuntu/install/remmina/install_remmina.sh create mode 100644 src/ubuntu/install/remmina/remmina.pref create mode 100644 src/ubuntu/install/signal/custom_startup.sh create mode 100644 src/ubuntu/install/signal/install_signal.sh create mode 100644 src/ubuntu/install/slack/custom_startup.sh create mode 100644 src/ubuntu/install/slack/install_slack.sh create mode 100644 src/ubuntu/install/smb/install_smb.sh create mode 100644 src/ubuntu/install/steam/custom_startup.sh create mode 100644 src/ubuntu/install/steam/install_steam.sh create mode 100644 src/ubuntu/install/sublime_text/custom_startup.sh create mode 100644 src/ubuntu/install/sublime_text/install_sublime_text.sh create mode 100644 src/ubuntu/install/teams/custom_startup.sh create mode 100644 src/ubuntu/install/teams/install_teams.sh create mode 100644 src/ubuntu/install/terminal/custom_startup.sh create mode 100644 src/ubuntu/install/terraform/install_terraform.sh create mode 100644 src/ubuntu/install/tools/install_tools_deluxe.sh create mode 100644 src/ubuntu/install/torbrowser/install_torbrowser.sh create mode 100644 src/ubuntu/install/vlc/custom_startup.sh create mode 100644 src/ubuntu/install/vlc/install_vlc.sh create mode 100644 src/ubuntu/install/vs_code/custom_startup.sh create mode 100644 src/ubuntu/install/vs_code/install_vs_code.sh create mode 100644 src/ubuntu/install/zoho_email/install_zoho_email.sh create mode 100644 src/ubuntu/install/zoom/custom_startup.sh create mode 100644 src/ubuntu/install/zoom/install_zoom.sh create mode 100644 src/ubuntu/install/zsnes/custom_startup.sh create mode 100644 src/ubuntu/install/zsnes/install_zsnes.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..de256d1 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,100 @@ +image: docker +services: + - docker:dind + +stages: + - build + - readme + +before_script: + - docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD + - export SANITIZED_BRANCH="$(echo $CI_COMMIT_REF_NAME | sed -r 's#^release/##' | sed 's/\//_/g')" + - export SANITIZED_ROLLING_BRANCH=${SANITIZED_BRANCH}-rolling + +# Jobs for the develop and release branches. They should push to the private and public repos +build: + stage: build + script: + # Ensure readme and description files are present + - ls docs/$KASM_IMAGE/README.md + - ls docs/$KASM_IMAGE/description.txt + + - docker build -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH -f dockerfile-kasm-$KASM_IMAGE --build-arg BASE_TAG="develop" . + + - docker push ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_BRANCH + - docker push ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH + - docker push ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH + - docker push ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH + + only: + - develop + - /^release\/.*$/ + except: + - schedules + + parallel: + matrix: + - KASM_IMAGE: [chrome, firefox, desktop, desktop-deluxe, firefox-mobile, tor-browser, doom, edge, terminal, vmware-horizon, remmina, rdesktop, brave, discord, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, ubuntu-bionic-desktop, maltego, centos-7-desktop ] + + + + +# These jobs should run on the feature/bugfix branches - anything that is not the develop or release branches. It should only push images to the private repos + +build_dev: + stage: build + script: + # Ensure readme and description files are present + - ls docs/$KASM_IMAGE/README.md + - ls docs/$KASM_IMAGE/description.txt + + - docker build -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH -f dockerfile-kasm-$KASM_IMAGE --build-arg BASE_TAG="develop" . + + - docker push ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_BRANCH + except: + - develop + - /^release\/.*$/ + parallel: + matrix: + - KASM_IMAGE: [chrome, firefox, desktop, desktop-deluxe, firefox-mobile, tor-browser, doom, edge, terminal, vmware-horizon, remmina, rdesktop, brave, discord, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, ubuntu-bionic-desktop, maltego, centos-7-desktop ] + + + +# These jobs are for the "rolling" release of the images. They should only run for scheduled jobs and should only push the rolling tags +build_schedules: + stage: build + script: + # Ensure readme and description files are present + - ls docs/$KASM_IMAGE/README.md + - ls docs/$KASM_IMAGE/description.txt + + - docker build -t ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH -t ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH -f dockerfile-kasm-$KASM_IMAGE --build-arg BASE_TAG="$SANITIZED_ROLLING_BRANCH" . + + - docker push ${ORG_NAME}/$KASM_IMAGE:$SANITIZED_ROLLING_BRANCH + - docker push ${ORG_NAME}/$KASM_IMAGE-private:$SANITIZED_ROLLING_BRANCH + only: + - schedules + parallel: + matrix: + - KASM_IMAGE: [chrome, firefox, desktop, desktop-deluxe, firefox-mobile, tor-browser, doom, edge, terminal, vmware-horizon, remmina, rdesktop, brave, discord, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, ubuntu-bionic-desktop, maltego, centos-7-desktop ] + + + +update_readmes: + stage: readme + script: + - apk add git + - git clone https://gitlab-ci-token:${CI_JOB_TOKEN}@${README_TEMPLATE_REPO} + - sed -e "/{about}/r docs/$KASM_IMAGE/README.md" -e "/{about}/d" dockerhub-readme-template/TEMPLATE.md > docs/$KASM_IMAGE/FULL_README.md + - cat docs/$KASM_IMAGE/FULL_README.md + - docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE-private" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" kasmweb/dockerhub-updater:latest + - docker run -v $PWD:/workspace -e DOCKER_USERNAME="$README_USERNAME" -e DOCKER_PASSWORD="$README_PASSWORD" -e DOCKERHUB_REPOSITORY="${ORG_NAME}/$KASM_IMAGE" -e README_FILEPATH="/workspace/docs/$KASM_IMAGE/FULL_README.md" -e DESCRIPTION_FILEPATH="/workspace/docs/$KASM_IMAGE/description.txt" kasmweb/dockerhub-updater:latest + + only: + variables: + - $README_USERNAME + - $README_PASSWORD + parallel: + matrix: + - KASM_IMAGE: [chrome, firefox, desktop, desktop-deluxe, firefox-mobile, tor-browser, doom, edge, terminal, vmware-horizon, remmina, rdesktop, brave, discord, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, ubuntu-bionic-desktop, maltego, centos-7-desktop ] + diff --git a/README.md b/README.md new file mode 100644 index 0000000..48bb492 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +![Logo][logo] +# Workspaces Images +This repository contains several example of desktop and application Workspaces images. +Administrators may leverage these images directly or use them as a starting point for their own custom images. +Each of these images is based off one of the [**Workspaces Core Images**](https://github.com/kasmtech/workspaces-core-images?utm_campaign=Github&utm_source=github) which contain the necessary wiring to work within the Kasm Workspaces platform. + + +For more information about building custom images please review the [**How To Guide**](https://kasmweb.com/docs/latest/how_to/building_images.html?utm_campaign=Github&utm_source=github) + +The Kasm team publishes applications and desktop images for use inside the platform. More information, including source can be found in the [**Default Images List**](https://kasmweb.com/docs/latest/guide/custom_images.html?utm_campaign=Github&utm_source=github) + + +# Manual Deployment + +To build the provided images: + + sudo docker build -t kasmweb/firefox:dev -f dockerfile-kasm-firefox . + + +While these image are primarily built to run inside the Workspaces platform, they can also be executed manually. Please note that certain functionality, such as audio, uploads, downloads, and microphone pass-through are only available within the Kasm platform. + +``` +sudo docker run --rm -it --shm-size=512m -p 6901:6901 -e VNC_PW=password kasmweb/firefox:dev +``` + +The container is now accessible via a browser : `https://:6901` + + - **User** : `kasm_user` + - **Password**: `password` + + +# About Workspaces +Kasm Workspaces is a docker container streaming platform that enables you to deliver browser-based access to desktops, applications, and web services. Kasm uses a modern DevOps approach for programmatic delivery of services via Containerized Desktop Infrastructure (CDI) technology to create on-demand, disposable, docker containers that are accessible via web browser. The rendering of the graphical-based containers is powered by the open-source project [**KasmVNC**](https://github.com/kasmtech/KasmVNC?utm_campaign=Github&utm_source=github) + +![Screenshot][Kasm_Workflow] + +Kasm Workspaces was developed to meet the most demanding secure collaboration requirements that is highly scalable, customizable, and easy to maintain. Most importantly, Kasm provides a solution, rather than a service, so it is infinitely customizable to your unique requirements and includes a developer API so that it can be integrated with, rather than replace, your existing applications and workflows. Kasm can be deployed in the cloud (Public or Private), on-premise (Including Air-Gapped Networks), or in a hybrid configuration. + +# Live Demo +A self-guided on-demand demo is available at [**kasmweb.com**](https://www.kasmweb.com/demo.html?utm_campaign=Github&utm_source=github) + + +[logo]: https://cdn2.hubspot.net/hubfs/5856039/dockerhub/kasm_logo.png "Kasm Logo" +[Kasm_Workflow]: https://cdn2.hubspot.net/hubfs/5856039/dockerhub/kasm_workflow_1440.gif "Kasm Workflow" diff --git a/dockerfile-kasm-brave b/dockerfile-kasm-brave new file mode 100644 index 0000000..d6b198d --- /dev/null +++ b/dockerfile-kasm-brave @@ -0,0 +1,38 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Brave +COPY ./src/ubuntu/install/brave $INST_SCRIPTS/brave/ +RUN bash $INST_SCRIPTS/brave/install_brave.sh && rm -rf $INST_SCRIPTS/brave/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/brave/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 + diff --git a/dockerfile-kasm-centos-7-desktop b/dockerfile-kasm-centos-7-desktop new file mode 100644 index 0000000..8d2be3d --- /dev/null +++ b/dockerfile-kasm-centos-7-desktop @@ -0,0 +1,37 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-centos-7-private:$BASE_TAG +USER root + +ENV DISTRO=centos +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Utilities +COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/ +RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/ + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN "$STARTUPDIR/set_user_permission.sh" $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-chrome b/dockerfile-kasm-chrome new file mode 100644 index 0000000..7b4a24e --- /dev/null +++ b/dockerfile-kasm-chrome @@ -0,0 +1,43 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/chrome/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +# Install Custom Certificate Authority +# COPY ./src/ubuntu/install/certificates $INST_SCRIPTS/certificates/ +# RUN bash $INST_SCRIPTS/certificates/install_ca_cert.sh && rm -rf $INST_SCRIPTS/certificates/ + + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-chrome-flash b/dockerfile-kasm-chrome-flash new file mode 100644 index 0000000..39e593b --- /dev/null +++ b/dockerfile-kasm-chrome-flash @@ -0,0 +1,41 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG + +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/chrome/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +COPY ./src/ubuntu/install/chrome_flash $INST_SCRIPTS/chrome_flash/ +RUN bash $INST_SCRIPTS/chrome_flash/install_flash.sh && rm -rf $INST_SCRIPTS/chrome_flash/ + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-desktop b/dockerfile-kasm-desktop new file mode 100644 index 0000000..19ec2ec --- /dev/null +++ b/dockerfile-kasm-desktop @@ -0,0 +1,45 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + +# Add Kasm Branding +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/extra/icons/icon_kasm.png /usr/share/extra/icons/icon_default.png +RUN sed -i 's/ubuntu-mono-dark/elementary-xfce/g' $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml + +# Install Utilities +COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/ +RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/ + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +# Install Custom Certificate Authority +# COPY ./src/ubuntu/install/certificates $INST_SCRIPTS/certificates/ +# RUN bash $INST_SCRIPTS/certificates/install_ca_cert.sh && rm -rf $INST_SCRIPTS/certificates/ + + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-desktop-deluxe b/dockerfile-kasm-desktop-deluxe new file mode 100644 index 0000000..876be23 --- /dev/null +++ b/dockerfile-kasm-desktop-deluxe @@ -0,0 +1,107 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG + +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +WORKDIR $HOME + +### Envrionment config +ENV DEBIAN_FRONTEND noninteractive +ENV KASM_RX_HOME $STARTUPDIR/kasmrx +ENV INST_SCRIPTS $STARTUPDIR/install + +# Add Kasm Branding +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN cp /usr/share/extra/icons/icon_kasm.png /usr/share/extra/icons/icon_default.png +RUN sed -i 's/ubuntu-mono-dark/elementary-xfce/g' $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml + +### Install Tools +COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/ +RUN bash $INST_SCRIPTS/tools/install_tools_deluxe.sh && rm -rf $INST_SCRIPTS/tools/ + +# Install Utilities +COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/ +RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/ + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +### Install Sublime Text +COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/ +RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/ + + +### Install Visual Studio Code +COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/ +RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/ + + +### Install Slack +COPY ./src/ubuntu/install/slack $INST_SCRIPTS/slack/ +RUN bash $INST_SCRIPTS/slack/install_slack.sh && rm -rf $INST_SCRIPTS/slack/ + + +### Install NextCloud +COPY ./src/ubuntu/install/nextcloud $INST_SCRIPTS/nextcloud/ +RUN bash $INST_SCRIPTS/nextcloud/install_nextcloud.sh && rm -rf $INST_SCRIPTS/nextcloud/ + + +### Install Remmina +COPY ./src/ubuntu/install/remmina $INST_SCRIPTS/remmina/ +RUN bash $INST_SCRIPTS/remmina/install_remmina.sh && rm -rf $INST_SCRIPTS/remmina/ + +### Install Teams +COPY ./src/ubuntu/install/teams $INST_SCRIPTS/teams/ +RUN bash $INST_SCRIPTS/teams/install_teams.sh && rm -rf $INST_SCRIPTS/teams/ + +### Install Only Office +COPY ./src/ubuntu/install/only_office $INST_SCRIPTS/only_office/ +RUN bash $INST_SCRIPTS/only_office/install_only_office.sh && rm -rf $INST_SCRIPTS/only_office/ + +### Install Signal +COPY ./src/ubuntu/install/signal $INST_SCRIPTS/signal/ +RUN bash $INST_SCRIPTS/signal/install_signal.sh && rm -rf $INST_SCRIPTS/signal/ + +### Install GIMP +COPY ./src/ubuntu/install/gimp $INST_SCRIPTS/gimp/ +RUN bash $INST_SCRIPTS/gimp/install_gimp.sh && rm -rf $INST_SCRIPTS/gimp/ + +### Install Zoom +COPY ./src/ubuntu/install/zoom $INST_SCRIPTS/zoom/ +RUN bash $INST_SCRIPTS/zoom/install_zoom.sh && rm -rf $INST_SCRIPTS/zoom/ + +### Install OBS Studio +COPY ./src/ubuntu/install/obs $INST_SCRIPTS/obs/ +RUN bash $INST_SCRIPTS/obs/install_obs.sh && rm -rf $INST_SCRIPTS/obs/ + +### Install Ansible +COPY ./src/ubuntu/install/ansible $INST_SCRIPTS/ansible/ +RUN bash $INST_SCRIPTS/ansible/install_ansible.sh && rm -rf $INST_SCRIPTS/ansible/ + +### Install Terraform +COPY ./src/ubuntu/install/terraform $INST_SCRIPTS/terraform/ +RUN bash $INST_SCRIPTS/terraform/install_terraform.sh && rm -rf $INST_SCRIPTS/terraform/ + +### Remove maxmius +RUN apt-get remove -y maximus + +#ADD ./src/common/scripts $STARTUPDIR +RUN $STARTUPDIR/set_user_permission.sh $HOME + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 + +CMD ["--tail-log"] diff --git a/dockerfile-kasm-discord b/dockerfile-kasm-discord new file mode 100644 index 0000000..9c55843 --- /dev/null +++ b/dockerfile-kasm-discord @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/discord $INST_SCRIPTS/discord/ +RUN bash $INST_SCRIPTS/discord/install_discord.sh && rm -rf $INST_SCRIPTS/discord/ + +COPY ./src/ubuntu/install/discord/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-doom b/dockerfile-kasm-doom new file mode 100644 index 0000000..192a59a --- /dev/null +++ b/dockerfile-kasm-doom @@ -0,0 +1,33 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/doom $INST_SCRIPTS/doom/ +RUN bash $INST_SCRIPTS/doom/install_doom.sh && rm -rf $INST_SCRIPTS/doom/ + +COPY ./src/ubuntu/install/doom/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-edge b/dockerfile-kasm-edge new file mode 100644 index 0000000..370e4f3 --- /dev/null +++ b/dockerfile-kasm-edge @@ -0,0 +1,37 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Microsoft Edge +COPY ./src/ubuntu/install/edge $INST_SCRIPTS/edge/ +RUN bash $INST_SCRIPTS/edge/install_edge.sh && rm -rf $INST_SCRIPTS/edge/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/edge/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-firefox b/dockerfile-kasm-firefox new file mode 100644 index 0000000..175002c --- /dev/null +++ b/dockerfile-kasm-firefox @@ -0,0 +1,42 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/firefox/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +# Install Custom Certificate Authority +# COPY ./src/ubuntu/install/certificates $INST_SCRIPTS/certificates/ +# RUN bash $INST_SCRIPTS/certificates/install_ca_cert.sh && rm -rf $INST_SCRIPTS/certificates/ + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-firefox-flash b/dockerfile-kasm-firefox-flash new file mode 100644 index 0000000..945e272 --- /dev/null +++ b/dockerfile-kasm-firefox-flash @@ -0,0 +1,39 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG + +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/firefox/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + +COPY ./src/ubuntu/install/firefox_flash $INST_SCRIPTS/firefox_flash/ +RUN bash $INST_SCRIPTS/firefox_flash/install_flash.sh && rm -rf $INST_SCRIPTS/firefox_flash/ + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-firefox-mobile b/dockerfile-kasm-firefox-mobile new file mode 100644 index 0000000..51a81f4 --- /dev/null +++ b/dockerfile-kasm-firefox-mobile @@ -0,0 +1,53 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG + +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +WORKDIR $HOME + +### Envrionment config +ENV DEBIAN_FRONTEND noninteractive +ENV KASM_RX_HOME $STARTUPDIR/kasmrx +ENV INST_SCRIPTS $STARTUPDIR/install + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +### Configure Firefox Mobile Settings +COPY ./src/ubuntu/install/firefox_mobile $INST_SCRIPTS/firefox_mobile/ +RUN bash $INST_SCRIPTS/firefox_mobile/configure_firefox_mobile.sh && rm -rf $INST_SCRIPTS/firefox_mobile/ + + +### Configure Mobile Settings +COPY ./src/ubuntu/install/mobile $INST_SCRIPTS/mobile/ +RUN bash $INST_SCRIPTS/mobile/configure_mobile.sh && rm -rf $INST_SCRIPTS/mobile/ + + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL http://kasmweb.com + +COPY ./src/ubuntu/install/firefox_mobile/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-gimp b/dockerfile-kasm-gimp new file mode 100644 index 0000000..be4291f --- /dev/null +++ b/dockerfile-kasm-gimp @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/gimp $INST_SCRIPTS/gimp/ +RUN bash $INST_SCRIPTS/gimp/install_gimp.sh && rm -rf $INST_SCRIPTS/gimp/ + +COPY ./src/ubuntu/install/gimp/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-insomnia b/dockerfile-kasm-insomnia new file mode 100644 index 0000000..7b64305 --- /dev/null +++ b/dockerfile-kasm-insomnia @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/insomnia $INST_SCRIPTS/insomnia/ +RUN bash $INST_SCRIPTS/insomnia/install_insomnia.sh && rm -rf $INST_SCRIPTS/insomnia/ + +COPY ./src/ubuntu/install/insomnia/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-maltego b/dockerfile-kasm-maltego new file mode 100644 index 0000000..c91ca22 --- /dev/null +++ b/dockerfile-kasm-maltego @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/maltego $INST_SCRIPTS/maltego/ +RUN bash $INST_SCRIPTS/maltego/install_maltego.sh && rm -rf $INST_SCRIPTS/maltego/ + +COPY ./src/ubuntu/install/maltego/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-only-office b/dockerfile-kasm-only-office new file mode 100644 index 0000000..6613566 --- /dev/null +++ b/dockerfile-kasm-only-office @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/only_office $INST_SCRIPTS/only_office/ +RUN bash $INST_SCRIPTS/only_office/install_only_office.sh && rm -rf $INST_SCRIPTS/only_office/ + +COPY ./src/ubuntu/install/only_office/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-postman b/dockerfile-kasm-postman new file mode 100644 index 0000000..9bfbb69 --- /dev/null +++ b/dockerfile-kasm-postman @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/postman $INST_SCRIPTS/postman/ +RUN bash $INST_SCRIPTS/postman/install_postman.sh && rm -rf $INST_SCRIPTS/postman/ + +COPY ./src/ubuntu/install/postman/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-rdesktop b/dockerfile-kasm-rdesktop new file mode 100644 index 0000000..b3eaa1f --- /dev/null +++ b/dockerfile-kasm-rdesktop @@ -0,0 +1,33 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/rdesktop $INST_SCRIPTS/rdesktop/ +RUN bash $INST_SCRIPTS/rdesktop/install_rdesktop.sh && rm -rf $INST_SCRIPTS/rdesktop/ + +COPY ./src/ubuntu/install/rdesktop/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-remmina b/dockerfile-kasm-remmina new file mode 100644 index 0000000..6f42e06 --- /dev/null +++ b/dockerfile-kasm-remmina @@ -0,0 +1,38 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/remmina $INST_SCRIPTS/remmina/ +RUN bash $INST_SCRIPTS/remmina/install_remmina.sh && rm -rf $INST_SCRIPTS/remmina/ + +COPY ./src/ubuntu/install/remmina/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +RUN mkdir $HOME/.config/remmina/ +COPY ./src/ubuntu/install/remmina/remmina.pref $HOME/.config/remmina/remmina.pref +RUN chown -R 1000:1000 $HOME/.config/remmina/ + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-signal b/dockerfile-kasm-signal new file mode 100644 index 0000000..98c2027 --- /dev/null +++ b/dockerfile-kasm-signal @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/signal $INST_SCRIPTS/signal/ +RUN bash $INST_SCRIPTS/signal/install_signal.sh && rm -rf $INST_SCRIPTS/signal/ + +COPY ./src/ubuntu/install/signal/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-slack b/dockerfile-kasm-slack new file mode 100644 index 0000000..50da304 --- /dev/null +++ b/dockerfile-kasm-slack @@ -0,0 +1,37 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +COPY ./src/ubuntu/install/slack $INST_SCRIPTS/slack/ +RUN bash $INST_SCRIPTS/slack/install_slack.sh && rm -rf $INST_SCRIPTS/slack/ + +COPY ./src/ubuntu/install/slack/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-steam b/dockerfile-kasm-steam new file mode 100644 index 0000000..a20fe2a --- /dev/null +++ b/dockerfile-kasm-steam @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/steam $INST_SCRIPTS/steam/ +RUN bash $INST_SCRIPTS/steam/install_steam.sh && rm -rf $INST_SCRIPTS/steam/ + +COPY ./src/ubuntu/install/steam/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-sublime-text b/dockerfile-kasm-sublime-text new file mode 100644 index 0000000..265bcec --- /dev/null +++ b/dockerfile-kasm-sublime-text @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/ +RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/ + +COPY ./src/ubuntu/install/sublime_text/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-teams b/dockerfile-kasm-teams new file mode 100644 index 0000000..ae8115d --- /dev/null +++ b/dockerfile-kasm-teams @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/teams $INST_SCRIPTS/teams/ +RUN bash $INST_SCRIPTS/teams/install_teams.sh && rm -rf $INST_SCRIPTS/teams/ + +COPY ./src/ubuntu/install/teams/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-terminal b/dockerfile-kasm-terminal new file mode 100644 index 0000000..6ebd8d1 --- /dev/null +++ b/dockerfile-kasm-terminal @@ -0,0 +1,43 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + +RUN apt-get update && apt-get install -y tmux screen nano dnsutils zip + +RUN echo "set -g mouse on" > $HOME/.tmux.conf && chown 1000:1000 $HOME/.tmux.conf + +### Install Ansible +COPY ./src/ubuntu/install/ansible $INST_SCRIPTS/ansible/ +RUN bash $INST_SCRIPTS/ansible/install_ansible.sh && rm -rf $INST_SCRIPTS/ansible/ + +### Install Terraform +COPY ./src/ubuntu/install/terraform $INST_SCRIPTS/terraform/ +RUN bash $INST_SCRIPTS/terraform/install_terraform.sh && rm -rf $INST_SCRIPTS/terraform/ + +COPY ./src/ubuntu/install/terminal/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME +RUN $STARTUPDIR/set_user_permission.sh $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-tor-browser b/dockerfile-kasm-tor-browser new file mode 100644 index 0000000..00e0505 --- /dev/null +++ b/dockerfile-kasm-tor-browser @@ -0,0 +1,58 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +# Install Tor Browser +COPY ./src/ubuntu/install/torbrowser $INST_SCRIPTS/torbrowser/ +RUN bash $INST_SCRIPTS/torbrowser/install_torbrowser.sh && rm -rf $INST_SCRIPTS/torbrowser/ + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +# Setup the custom startup script that will be invoked when the container starts +ENV LAUNCH_URL about:blank +RUN echo $' \n\ +set -x \n\ +FORCE=$2 \n\ +URL=${1:-$LAUNCH_URL} \n\ +if [ -n "$URL" ] && ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then \n\ + if [ -f /tmp/custom_startup.lck ] ; then \n\ + echo "custom_startup already running!" \n\ + exit 1 \n\ + fi \n\ + touch /tmp/custom_startup.lck \n\ + while true \n\ + do \n\ + if ! pgrep firefox > /dev/null \n\ + then \n\ + /usr/bin/desktop_ready \n\ + /tmp/tor-browser_en-US/Browser/start-tor-browser --detach --allow-remote --new-tab $URL \n\ + fi \n\ + sleep 1 \n\ + done \n\ + rm /tmp/custom_startup.lck \n\ +fi \n\ +' >$STARTUPDIR/custom_startup.sh + +# Ensure the startup script is executable +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-ubuntu-bionic-desktop b/dockerfile-kasm-ubuntu-bionic-desktop new file mode 100644 index 0000000..dd88e05 --- /dev/null +++ b/dockerfile-kasm-ubuntu-bionic-desktop @@ -0,0 +1,103 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG + +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +WORKDIR $HOME + +### Envrionment config +ENV DEBIAN_FRONTEND noninteractive +ENV KASM_RX_HOME $STARTUPDIR/kasmrx +ENV INST_SCRIPTS $STARTUPDIR/install + + +### Install Tools +COPY ./src/ubuntu/install/tools $INST_SCRIPTS/tools/ +RUN bash $INST_SCRIPTS/tools/install_tools_deluxe.sh && rm -rf $INST_SCRIPTS/tools/ + +# Install Utilities +COPY ./src/ubuntu/install/misc $INST_SCRIPTS/misc/ +RUN bash $INST_SCRIPTS/misc/install_tools.sh && rm -rf $INST_SCRIPTS/misc/ + +# Install Google Chrome +COPY ./src/ubuntu/install/chrome $INST_SCRIPTS/chrome/ +RUN bash $INST_SCRIPTS/chrome/install_chrome.sh && rm -rf $INST_SCRIPTS/chrome/ + +# Install Firefox +COPY ./src/ubuntu/install/firefox/ $INST_SCRIPTS/firefox/ +COPY ./src/ubuntu/install/firefox/firefox.desktop $HOME/Desktop/ +RUN bash $INST_SCRIPTS/firefox/install_firefox.sh && rm -rf $INST_SCRIPTS/firefox/ + +### Install Sublime Text +COPY ./src/ubuntu/install/sublime_text $INST_SCRIPTS/sublime_text/ +RUN bash $INST_SCRIPTS/sublime_text/install_sublime_text.sh && rm -rf $INST_SCRIPTS/sublime_text/ + + +### Install Visual Studio Code +COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/ +RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/ + + +### Install Slack +COPY ./src/ubuntu/install/slack $INST_SCRIPTS/slack/ +RUN bash $INST_SCRIPTS/slack/install_slack.sh && rm -rf $INST_SCRIPTS/slack/ + + +### Install NextCloud +COPY ./src/ubuntu/install/nextcloud $INST_SCRIPTS/nextcloud/ +RUN bash $INST_SCRIPTS/nextcloud/install_nextcloud.sh && rm -rf $INST_SCRIPTS/nextcloud/ + + +### Install Remmina +COPY ./src/ubuntu/install/remmina $INST_SCRIPTS/remmina/ +RUN bash $INST_SCRIPTS/remmina/install_remmina.sh && rm -rf $INST_SCRIPTS/remmina/ + +### Install Teams +COPY ./src/ubuntu/install/teams $INST_SCRIPTS/teams/ +RUN bash $INST_SCRIPTS/teams/install_teams.sh && rm -rf $INST_SCRIPTS/teams/ + +### Install Only Office +COPY ./src/ubuntu/install/only_office $INST_SCRIPTS/only_office/ +RUN bash $INST_SCRIPTS/only_office/install_only_office.sh && rm -rf $INST_SCRIPTS/only_office/ + +### Install Signal +COPY ./src/ubuntu/install/signal $INST_SCRIPTS/signal/ +RUN bash $INST_SCRIPTS/signal/install_signal.sh && rm -rf $INST_SCRIPTS/signal/ + +### Install GIMP +COPY ./src/ubuntu/install/gimp $INST_SCRIPTS/gimp/ +RUN bash $INST_SCRIPTS/gimp/install_gimp.sh && rm -rf $INST_SCRIPTS/gimp/ + +### Install Zoom +COPY ./src/ubuntu/install/zoom $INST_SCRIPTS/zoom/ +RUN bash $INST_SCRIPTS/zoom/install_zoom.sh && rm -rf $INST_SCRIPTS/zoom/ + +### Install OBS Studio +COPY ./src/ubuntu/install/obs $INST_SCRIPTS/obs/ +RUN bash $INST_SCRIPTS/obs/install_obs.sh && rm -rf $INST_SCRIPTS/obs/ + +### Install Ansible +COPY ./src/ubuntu/install/ansible $INST_SCRIPTS/ansible/ +RUN bash $INST_SCRIPTS/ansible/install_ansible.sh && rm -rf $INST_SCRIPTS/ansible/ + +### Install Terraform +COPY ./src/ubuntu/install/terraform $INST_SCRIPTS/terraform/ +RUN bash $INST_SCRIPTS/terraform/install_terraform.sh && rm -rf $INST_SCRIPTS/terraform/ + +### Remove maxmius +RUN apt-get remove -y maximus + +#ADD ./src/common/scripts $STARTUPDIR +RUN $STARTUPDIR/set_user_permission.sh $HOME + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 + +CMD ["--tail-log"] diff --git a/dockerfile-kasm-vlc b/dockerfile-kasm-vlc new file mode 100644 index 0000000..9a49343 --- /dev/null +++ b/dockerfile-kasm-vlc @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/vlc $INST_SCRIPTS/vlc/ +RUN bash $INST_SCRIPTS/vlc/install_vlc.sh && rm -rf $INST_SCRIPTS/vlc/ + +COPY ./src/ubuntu/install/vlc/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-vmware-horizon b/dockerfile-kasm-vmware-horizon new file mode 100644 index 0000000..eca746a --- /dev/null +++ b/dockerfile-kasm-vmware-horizon @@ -0,0 +1,33 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/horizon $INST_SCRIPTS/horizon/ +RUN bash $INST_SCRIPTS/horizon/install_horizons.sh && rm -rf $INST_SCRIPTS/horizon/ + +COPY ./src/ubuntu/install/horizon/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-vs-code b/dockerfile-kasm-vs-code new file mode 100644 index 0000000..ac39e22 --- /dev/null +++ b/dockerfile-kasm-vs-code @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/vs_code $INST_SCRIPTS/vs_code/ +RUN bash $INST_SCRIPTS/vs_code/install_vs_code.sh && rm -rf $INST_SCRIPTS/vs_code/ + +COPY ./src/ubuntu/install/vs_code/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-zoom b/dockerfile-kasm-zoom new file mode 100644 index 0000000..2805c9c --- /dev/null +++ b/dockerfile-kasm-zoom @@ -0,0 +1,35 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/zoom $INST_SCRIPTS/zoom/ +RUN bash $INST_SCRIPTS/zoom/install_zoom.sh && rm -rf $INST_SCRIPTS/zoom/ + +COPY ./src/ubuntu/install/zoom/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/dockerfile-kasm-zsnes b/dockerfile-kasm-zsnes new file mode 100644 index 0000000..77ec14b --- /dev/null +++ b/dockerfile-kasm-zsnes @@ -0,0 +1,34 @@ +ARG BASE_TAG="develop" +FROM kasmweb/core-ubuntu-bionic:$BASE_TAG +USER root + +ENV HOME /home/kasm-default-profile +ENV STARTUPDIR /dockerstartup +ENV INST_SCRIPTS $STARTUPDIR/install +WORKDIR $HOME + +######### Customize Container Here ########### + + +COPY ./src/ubuntu/install/zsnes $INST_SCRIPTS/zsnes/ +RUN bash $INST_SCRIPTS/zsnes/install_zsnes.sh && rm -rf $INST_SCRIPTS/zsnes/ + +COPY ./src/ubuntu/install/zsnes/custom_startup.sh $STARTUPDIR/custom_startup.sh +RUN chmod +x $STARTUPDIR/custom_startup.sh +RUN chmod 755 $STARTUPDIR/custom_startup.sh + + +# Update the desktop environment to be optimized for a single application +RUN cp $HOME/.config/xfce4/xfconf/single-application-xfce-perchannel-xml/* $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/ +RUN cp /usr/share/extra/backgrounds/bg_kasm.png /usr/share/extra/backgrounds/bg_default.png +RUN apt-get remove -y xfce4-panel + +######### End Customizations ########### + +RUN chown 1000:0 $HOME + +ENV HOME /home/kasm-user +WORKDIR $HOME +RUN mkdir -p $HOME && chown -R 1000:0 $HOME + +USER 1000 diff --git a/docs/brave/README.md b/docs/brave/README.md new file mode 100644 index 0000000..a47d9f7 --- /dev/null +++ b/docs/brave/README.md @@ -0,0 +1,12 @@ +# About This Image + +This Image contains a browser-accessible version of [Brave](https://brave.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/brave.png "Image Screenshot" + +# Environment Variables + +* `LAUNCH_URL` - The default URL the browser launches to when created. +* `APP_ARGS` - Additional arguments to pass to the browser when launched. diff --git a/docs/brave/description.txt b/docs/brave/description.txt new file mode 100644 index 0000000..0916697 --- /dev/null +++ b/docs/brave/description.txt @@ -0,0 +1 @@ +Brave browser for Kasm Workspaces \ No newline at end of file diff --git a/docs/centos-7-desktop/README.md b/docs/centos-7-desktop/README.md new file mode 100644 index 0000000..9778b1a --- /dev/null +++ b/docs/centos-7-desktop/README.md @@ -0,0 +1,7 @@ +# About This Image + +This Image contains a browser-accessible CentOS 7 XFCE Desktop with Chrome and Firefox installed.. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/centos-7-desktop.png "Image Screenshot" \ No newline at end of file diff --git a/docs/centos-7-desktop/description.txt b/docs/centos-7-desktop/description.txt new file mode 100644 index 0000000..5bf64d8 --- /dev/null +++ b/docs/centos-7-desktop/description.txt @@ -0,0 +1 @@ +CentOS 7 desktop for Kasm Workspaces \ No newline at end of file diff --git a/docs/chrome/README.md b/docs/chrome/README.md new file mode 100644 index 0000000..3f4d9d2 --- /dev/null +++ b/docs/chrome/README.md @@ -0,0 +1,12 @@ +# About This Image + +This Image contains a browser-accessible version of [Google Chrome](https://www.google.com/chrome/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/chrome.png "Image Screenshot" + +# Environment Variables + +* `LAUNCH_URL` - The default URL the browser launches to when created. +* `APP_ARGS` - Additional arguments to pass to the browser when launched. diff --git a/docs/chrome/description.txt b/docs/chrome/description.txt new file mode 100644 index 0000000..1ad596f --- /dev/null +++ b/docs/chrome/description.txt @@ -0,0 +1 @@ +Google Chrome for Kasm Workspaces \ No newline at end of file diff --git a/docs/desktop-deluxe/README.md b/docs/desktop-deluxe/README.md new file mode 100644 index 0000000..e152668 --- /dev/null +++ b/docs/desktop-deluxe/README.md @@ -0,0 +1,7 @@ +# About This Image + +This Image contains a browser-accessible Ubuntu Bionic Desktop with various productivity and development apps installed. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/desktop-deluxe.png "Image Screenshot" \ No newline at end of file diff --git a/docs/desktop-deluxe/description.txt b/docs/desktop-deluxe/description.txt new file mode 100644 index 0000000..91d23d4 --- /dev/null +++ b/docs/desktop-deluxe/description.txt @@ -0,0 +1 @@ +Ubuntu productivity desktop for Kasm Workspaces \ No newline at end of file diff --git a/docs/desktop/README.md b/docs/desktop/README.md new file mode 100644 index 0000000..181ca8f --- /dev/null +++ b/docs/desktop/README.md @@ -0,0 +1,7 @@ +# About This Image + +This Image contains a browser-accessible Ubuntu Bionic Desktop with Chrome and Firefox installed. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/desktop.png "Image Screenshot" \ No newline at end of file diff --git a/docs/desktop/description.txt b/docs/desktop/description.txt new file mode 100644 index 0000000..7aabba5 --- /dev/null +++ b/docs/desktop/description.txt @@ -0,0 +1 @@ +Ubuntu desktop for Kasm Workspaces \ No newline at end of file diff --git a/docs/discord/README.md b/docs/discord/README.md new file mode 100644 index 0000000..faf5da9 --- /dev/null +++ b/docs/discord/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of the [Discord](https://discord.com/) app. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/discord.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/discord/description.txt b/docs/discord/description.txt new file mode 100644 index 0000000..71857bc --- /dev/null +++ b/docs/discord/description.txt @@ -0,0 +1 @@ +Discord for Kasm Workspaces \ No newline at end of file diff --git a/docs/doom/README.md b/docs/doom/README.md new file mode 100644 index 0000000..660e4ea --- /dev/null +++ b/docs/doom/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Chocolate Doom](https://www.chocolate-doom.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/doom.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/doom/description.txt b/docs/doom/description.txt new file mode 100644 index 0000000..d146a78 --- /dev/null +++ b/docs/doom/description.txt @@ -0,0 +1 @@ +Doom for Kasm Workspaces \ No newline at end of file diff --git a/docs/edge/README.md b/docs/edge/README.md new file mode 100644 index 0000000..171a853 --- /dev/null +++ b/docs/edge/README.md @@ -0,0 +1,12 @@ +# About This Image + +This Image contains a browser-accessible version of [Microsoft Edge Insider Preview](https://www.microsoftedgeinsider.com/en-us/download?platform=linux-deb). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/edge.png "Image Screenshot" + +# Environment Variables + +* `LAUNCH_URL` - The default URL the browser launches to when created. +* `APP_ARGS` - Additional arguments to pass to the browser when launched. diff --git a/docs/edge/description.txt b/docs/edge/description.txt new file mode 100644 index 0000000..a7b9f6f --- /dev/null +++ b/docs/edge/description.txt @@ -0,0 +1 @@ +Microsoft Edge Insider Preview for Kasm Workspaces \ No newline at end of file diff --git a/docs/firefox-mobile/README.md b/docs/firefox-mobile/README.md new file mode 100644 index 0000000..a0e5b63 --- /dev/null +++ b/docs/firefox-mobile/README.md @@ -0,0 +1,13 @@ +# About This Image + +This experimental Image contains a browser-accessible version of [Firefox](https://www.mozilla.org/) tailed for mobile screens. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/firefox-mobile.png "Image Screenshot" + +# Environment Variables + +* `LAUNCH_URL` - The default URL the browser launches to when created. +* `APP_ARGS` - Additional arguments to pass to the browser when launched. + diff --git a/docs/firefox-mobile/description.txt b/docs/firefox-mobile/description.txt new file mode 100644 index 0000000..401ff77 --- /dev/null +++ b/docs/firefox-mobile/description.txt @@ -0,0 +1 @@ +Firefox browser for Kasm Workspaces \ No newline at end of file diff --git a/docs/firefox/README.md b/docs/firefox/README.md new file mode 100644 index 0000000..99b15d7 --- /dev/null +++ b/docs/firefox/README.md @@ -0,0 +1,12 @@ +# About This Image + +This Image contains a browser-accessible version of [Mozilla Firefox](https://www.mozilla.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/firefox.png "Image Screenshot" + +# Environment Variables + +* `LAUNCH_URL` - The default URL the browser launches to when created. +* `APP_ARGS` - Additional arguments to pass to the browser when launched. diff --git a/docs/firefox/description.txt b/docs/firefox/description.txt new file mode 100644 index 0000000..aff4747 --- /dev/null +++ b/docs/firefox/description.txt @@ -0,0 +1 @@ +Mozilla Firefox for Kasm Workspaces \ No newline at end of file diff --git a/docs/gimp/README.md b/docs/gimp/README.md new file mode 100644 index 0000000..073e052 --- /dev/null +++ b/docs/gimp/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [GIMP](https://www.gimp.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/gimp.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/gimp/description.txt b/docs/gimp/description.txt new file mode 100644 index 0000000..82a0208 --- /dev/null +++ b/docs/gimp/description.txt @@ -0,0 +1 @@ +GIMP for Kasm Workspaces \ No newline at end of file diff --git a/docs/insomnia/README.md b/docs/insomnia/README.md new file mode 100644 index 0000000..e7439f8 --- /dev/null +++ b/docs/insomnia/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Insomnia](https://insomnia.rest/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/insomnia.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/insomnia/description.txt b/docs/insomnia/description.txt new file mode 100644 index 0000000..eec757e --- /dev/null +++ b/docs/insomnia/description.txt @@ -0,0 +1 @@ +Insomnia for Kasm Workspaces \ No newline at end of file diff --git a/docs/maltego/README.md b/docs/maltego/README.md new file mode 100644 index 0000000..62b71b4 --- /dev/null +++ b/docs/maltego/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Maltego](https://www.maltego.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/maltego.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/maltego/description.txt b/docs/maltego/description.txt new file mode 100644 index 0000000..7dc8f36 --- /dev/null +++ b/docs/maltego/description.txt @@ -0,0 +1 @@ +Maltego for Kasm Workspaces \ No newline at end of file diff --git a/docs/only-office/README.md b/docs/only-office/README.md new file mode 100644 index 0000000..b579e53 --- /dev/null +++ b/docs/only-office/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [OnlyOffice](https://www.onlyoffice.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/only-office.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/only-office/description.txt b/docs/only-office/description.txt new file mode 100644 index 0000000..cae50d1 --- /dev/null +++ b/docs/only-office/description.txt @@ -0,0 +1 @@ +OnlyOffice for Kasm Workspaces \ No newline at end of file diff --git a/docs/postman/README.md b/docs/postman/README.md new file mode 100644 index 0000000..35838a3 --- /dev/null +++ b/docs/postman/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Postman](https://www.postman.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/postman.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/postman/description.txt b/docs/postman/description.txt new file mode 100644 index 0000000..c6e855d --- /dev/null +++ b/docs/postman/description.txt @@ -0,0 +1 @@ +Postman for Kasm Workspaces \ No newline at end of file diff --git a/docs/rdesktop/README.md b/docs/rdesktop/README.md new file mode 100644 index 0000000..f22a7e6 --- /dev/null +++ b/docs/rdesktop/README.md @@ -0,0 +1,13 @@ +# About This Image + +This Image contains a browser-accessible version of [rdesktop](http://www.rdesktop.org/). + +Utilize the `APP_ARGS` environment variable to specify the server and additional connection properties to have rdesktop automatically connect with the container starts. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/rdesktop.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/rdesktop/description.txt b/docs/rdesktop/description.txt new file mode 100644 index 0000000..39e7dcf --- /dev/null +++ b/docs/rdesktop/description.txt @@ -0,0 +1 @@ +rdesktop for Kasm Workspaces \ No newline at end of file diff --git a/docs/remmina/README.md b/docs/remmina/README.md new file mode 100644 index 0000000..b7f7849 --- /dev/null +++ b/docs/remmina/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Remmina](https://remmina.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/remmina.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/remmina/description.txt b/docs/remmina/description.txt new file mode 100644 index 0000000..f45a89b --- /dev/null +++ b/docs/remmina/description.txt @@ -0,0 +1 @@ +Remmina for Kasm Workspaces \ No newline at end of file diff --git a/docs/signal/README.md b/docs/signal/README.md new file mode 100644 index 0000000..c348792 --- /dev/null +++ b/docs/signal/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Signal](https://signal.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/signal.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/signal/description.txt b/docs/signal/description.txt new file mode 100644 index 0000000..1fe55d1 --- /dev/null +++ b/docs/signal/description.txt @@ -0,0 +1 @@ +Signal for Kasm Workspaces \ No newline at end of file diff --git a/docs/slack/README.md b/docs/slack/README.md new file mode 100644 index 0000000..72b1b70 --- /dev/null +++ b/docs/slack/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Slack](https://slack.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/slack.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/slack/description.txt b/docs/slack/description.txt new file mode 100644 index 0000000..df2586c --- /dev/null +++ b/docs/slack/description.txt @@ -0,0 +1 @@ +Slack for Kasm Workspaces \ No newline at end of file diff --git a/docs/steam/README.md b/docs/steam/README.md new file mode 100644 index 0000000..4825ce8 --- /dev/null +++ b/docs/steam/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Steam](https://store.steampowered.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/steam.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/steam/description.txt b/docs/steam/description.txt new file mode 100644 index 0000000..ebc68d9 --- /dev/null +++ b/docs/steam/description.txt @@ -0,0 +1 @@ +Steam for Kasm Workspaces \ No newline at end of file diff --git a/docs/sublime-text/README.md b/docs/sublime-text/README.md new file mode 100644 index 0000000..4f0df4c --- /dev/null +++ b/docs/sublime-text/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Sublime Text](https://www.sublimetext.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/sublime-text.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/sublime-text/description.txt b/docs/sublime-text/description.txt new file mode 100644 index 0000000..ee5ffe7 --- /dev/null +++ b/docs/sublime-text/description.txt @@ -0,0 +1 @@ +Sublime Text for Kasm Workspaces \ No newline at end of file diff --git a/docs/teams/README.md b/docs/teams/README.md new file mode 100644 index 0000000..a63b987 --- /dev/null +++ b/docs/teams/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Microsoft Teams](https://www.microsoft.com/en-us/microsoft-teams/group-chat-software). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/teams.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/teams/description.txt b/docs/teams/description.txt new file mode 100644 index 0000000..ebc68d9 --- /dev/null +++ b/docs/teams/description.txt @@ -0,0 +1 @@ +Steam for Kasm Workspaces \ No newline at end of file diff --git a/docs/terminal/README.md b/docs/terminal/README.md new file mode 100644 index 0000000..632a72f --- /dev/null +++ b/docs/terminal/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [xfce4-terminal](https://docs.xfce.org/apps/terminal/start). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/terminal.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/terminal/description.txt b/docs/terminal/description.txt new file mode 100644 index 0000000..3166793 --- /dev/null +++ b/docs/terminal/description.txt @@ -0,0 +1 @@ +xfce4-terminal for Kasm Workspaces \ No newline at end of file diff --git a/docs/tor-browser/README.md b/docs/tor-browser/README.md new file mode 100644 index 0000000..560f5d3 --- /dev/null +++ b/docs/tor-browser/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Tor Browser](https://www.torproject.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/tor-browser.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. \ No newline at end of file diff --git a/docs/tor-browser/description.txt b/docs/tor-browser/description.txt new file mode 100644 index 0000000..8d8b43c --- /dev/null +++ b/docs/tor-browser/description.txt @@ -0,0 +1 @@ +Tor Browser for Kasm Workspaces \ No newline at end of file diff --git a/docs/ubuntu-bionic-desktop/README.md b/docs/ubuntu-bionic-desktop/README.md new file mode 100644 index 0000000..c7e6f63 --- /dev/null +++ b/docs/ubuntu-bionic-desktop/README.md @@ -0,0 +1,7 @@ +# About This Image + +This Image contains a browser-accessible Ubuntu Bionic Desktop with various productivity and development apps installed. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/ubuntu-bionic-desktop.png "Image Screenshot" \ No newline at end of file diff --git a/docs/ubuntu-bionic-desktop/description.txt b/docs/ubuntu-bionic-desktop/description.txt new file mode 100644 index 0000000..91d23d4 --- /dev/null +++ b/docs/ubuntu-bionic-desktop/description.txt @@ -0,0 +1 @@ +Ubuntu productivity desktop for Kasm Workspaces \ No newline at end of file diff --git a/docs/vlc/README.md b/docs/vlc/README.md new file mode 100644 index 0000000..b8e04d2 --- /dev/null +++ b/docs/vlc/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [VLC](https://www.videolan.org/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/vlc.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/vlc/description.txt b/docs/vlc/description.txt new file mode 100644 index 0000000..bb6d3a2 --- /dev/null +++ b/docs/vlc/description.txt @@ -0,0 +1 @@ +VLC for Kasm Workspaces \ No newline at end of file diff --git a/docs/vmware-horizon/README.md b/docs/vmware-horizon/README.md new file mode 100644 index 0000000..ed867a7 --- /dev/null +++ b/docs/vmware-horizon/README.md @@ -0,0 +1,12 @@ +# About This Image + +This Image contains a browser-accessible version of [VMWare Horizon Client](https://www.vmware.com/products/horizon.html). + + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/vmware-horizon.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/vmware-horizon/description.txt b/docs/vmware-horizon/description.txt new file mode 100644 index 0000000..bd1ab73 --- /dev/null +++ b/docs/vmware-horizon/description.txt @@ -0,0 +1 @@ +VMWare Horizon Client for Kasm Workspaces \ No newline at end of file diff --git a/docs/vs-code/README.md b/docs/vs-code/README.md new file mode 100644 index 0000000..8139c23 --- /dev/null +++ b/docs/vs-code/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of [Visual Studio Code](https://code.visualstudio.com/). + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/vs-code.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/vs-code/description.txt b/docs/vs-code/description.txt new file mode 100644 index 0000000..f7a0d7a --- /dev/null +++ b/docs/vs-code/description.txt @@ -0,0 +1 @@ +Visual Studio Code for Kasm Workspaces \ No newline at end of file diff --git a/docs/zoom/README.md b/docs/zoom/README.md new file mode 100644 index 0000000..081046a --- /dev/null +++ b/docs/zoom/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of the [Zoom](https://zoom.us/) app. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/zoom.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/zoom/description.txt b/docs/zoom/description.txt new file mode 100644 index 0000000..00bab34 --- /dev/null +++ b/docs/zoom/description.txt @@ -0,0 +1 @@ +Zoom Client for Kasm Workspaces \ No newline at end of file diff --git a/docs/zsnes/README.md b/docs/zsnes/README.md new file mode 100644 index 0000000..8c79011 --- /dev/null +++ b/docs/zsnes/README.md @@ -0,0 +1,11 @@ +# About This Image + +This Image contains a browser-accessible version of the [zsnes](https://www.zsnes.com/) emulator. + +![Screenshot][Image_Screenshot] + +[Image_Screenshot]: https://f.hubspotusercontent30.net/hubfs/5856039/dockerhub/image-screenshots/zsnes.png "Image Screenshot" + +# Environment Variables + +* `APP_ARGS` - Additional arguments to pass to the application when launched. diff --git a/docs/zsnes/description.txt b/docs/zsnes/description.txt new file mode 100644 index 0000000..61ed083 --- /dev/null +++ b/docs/zsnes/description.txt @@ -0,0 +1 @@ +zsnes emulator for Kasm Workspaces \ No newline at end of file diff --git a/src/common/install/configure_firefox.sh b/src/common/install/configure_firefox.sh new file mode 100644 index 0000000..4c42897 --- /dev/null +++ b/src/common/install/configure_firefox.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +### every exit != 0 fails the script +set -ex + +# Add this user pref so the tabs dont crash regularly +cp /usr/lib/firefox/browser/defaults/profile/user.js /usr/lib/firefox/browser/defaults/profile/user.js.bak +echo "user_pref(\"browser.startup.firstrunSkipsHomepage\", false);" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"browser.shell.skipDefaultBrowserCheckOnFirstRun\", true);" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"startup.homepage_welcome_url\", \"about:blank\");" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"datareporting.policy.firstRunURL\", \"\");" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"startup.homepage_welcome_url.additional\", \"\");" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"browser.shell.checkDefaultBrowser\", false);" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"app.update.auto\", false);" >> /usr/lib/firefox/browser/defaults/profile/user.js +echo "user_pref(\"app.update.enabled\", false);" >> /usr/lib/firefox/browser/defaults/profile/user.js \ No newline at end of file diff --git a/src/ubuntu/install/ansible/install_ansible.sh b/src/ubuntu/install/ansible/install_ansible.sh new file mode 100644 index 0000000..00988b1 --- /dev/null +++ b/src/ubuntu/install/ansible/install_ansible.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -ex + +apt-get update +apt-get install -y software-properties-common +apt-add-repository --yes --update ppa:ansible/ansible +apt-get install -y ansible \ No newline at end of file diff --git a/src/ubuntu/install/brave/custom_startup.sh b/src/ubuntu/install/brave/custom_startup.sh new file mode 100644 index 0000000..58946c1 --- /dev/null +++ b/src/ubuntu/install/brave/custom_startup.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -ex +FORCE=$2 +if [ -n "$1" ] ; then + URL=$1 +else + URL=$LAUNCH_URL +fi + +DEFAULT_ARGS="--start-maximized" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + +if [ -n "$URL" ] && ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x brave > /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + set +e + brave-browser $ARGS $URL + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/brave/install_brave.sh b/src/ubuntu/install/brave/install_brave.sh new file mode 100644 index 0000000..f92775b --- /dev/null +++ b/src/ubuntu/install/brave/install_brave.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +set -ex + +CHROME_ARGS="--password-store=basic --no-sandbox --disable-gpu --user-data-dir --no-first-run" + +apt-get update +apt install -y apt-transport-https curl + +curl -s https://brave-browser-apt-release.s3.brave.com/brave-core.asc | apt-key --keyring /etc/apt/trusted.gpg.d/brave-browser-release.gpg add - + +echo "deb [arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list + +apt update + +apt install -y brave-browser + +sed -i 's/-stable//g' /usr/share/applications/brave-browser.desktop + +cp /usr/share/applications/brave-browser.desktop $HOME/Desktop/ +chown 1000:1000 $HOME/Desktop/brave-browser.desktop + +mv /usr/bin/brave-browser /usr/bin/brave-browser-orig +cat >/usr/bin/brave-browser <>/usr/bin/x-www-browser <>/etc/chromium/policies/managed/default_managed_policy.json <>/etc/chromium/policies/managed/disable_tor.json < /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + google-chrome $ARGS $URL + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/chrome/install_chrome.sh b/src/ubuntu/install/chrome/install_chrome.sh new file mode 100644 index 0000000..d8bdcb0 --- /dev/null +++ b/src/ubuntu/install/chrome/install_chrome.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +set -ex + +CHROME_ARGS="--password-store=basic --no-sandbox --disable-gpu --user-data-dir --no-first-run" + +if [ "$DISTRO" = centos ]; then + wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm + yum localinstall -y google-chrome-stable_current_x86_64.rpm + rm google-chrome-stable_current_x86_64.rpm +else + apt-get update + apt-get remove -y chromium-browser-l10n chromium-codecs-ffmpeg chromium-browser + + wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb + apt-get install -y ./google-chrome-stable_current_amd64.deb + rm google-chrome-stable_current_amd64.deb +fi + +sed -i 's/-stable//g' /usr/share/applications/google-chrome.desktop + +cp /usr/share/applications/google-chrome.desktop $HOME/Desktop/ +chown 1000:1000 $HOME/Desktop/google-chrome.desktop + +mv /usr/bin/google-chrome /usr/bin/google-chrome-orig +cat >/usr/bin/google-chrome <> $HOME/.config/mimeapps.list <>/usr/bin/x-www-browser <>/etc/opt/chrome/policies/managed/default_managed_policy.json < /etc/apt/sources.list.d/canonical_partner.list +apt-get update +apt-get install -y pepperflashplugin-nonfree +rm /etc/apt/sources.list.d/canonical_partner.list + +FLASH_SO=/usr/lib/pepperflashplugin-nonfree/libpepflashplayer.so +FLASH_VERSION=`strings $FLASH_SO 2> /dev/null | grep LNX | cut -d ' ' -f 2 | sed -e "s/,/./g"` + +CHROME_ARGS="--password-store=basic --no-sandbox --disable-gpu --user-data-dir --no-first-run --ppapi-flash-path=$FLASH_SO --ppapi-flash-version=$FLASH_VERSION" + +cat >/usr/bin/google-chrome <>/usr/bin/x-www-browser < /etc/opt/chrome/policies/managed/flash.json + diff --git a/src/ubuntu/install/discord/custom_startup.sh b/src/ubuntu/install/discord/custom_startup.sh new file mode 100644 index 0000000..1bf1e5b --- /dev/null +++ b/src/ubuntu/install/discord/custom_startup.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + + +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x Discord > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + /usr/share/discord/Discord $ARGS & + set -e + maximus & + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/discord/install_discord.sh b/src/ubuntu/install/discord/install_discord.sh new file mode 100644 index 0000000..27fe68e --- /dev/null +++ b/src/ubuntu/install/discord/install_discord.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y maximus +curl -L -o discord.deb "https://discord.com/api/download?platform=linux&format=deb" +apt-get install -y ./discord.deb +rm discord.deb +sed -i "s@Exec=/usr/share/discord/Discord@Exec=/usr/share/discord/Discord --no-sandbox@g" /usr/share/applications/discord.desktop +cp /usr/share/applications/discord.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/discord.desktop \ No newline at end of file diff --git a/src/ubuntu/install/doom/custom_startup.sh b/src/ubuntu/install/doom/custom_startup.sh new file mode 100644 index 0000000..5442e43 --- /dev/null +++ b/src/ubuntu/install/doom/custom_startup.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +sleep 3 +xfce4-terminal -e "/usr/games/chocolate-doom ${APP_ARGS}" + + diff --git a/src/ubuntu/install/doom/install_doom.sh b/src/ubuntu/install/doom/install_doom.sh new file mode 100644 index 0000000..421f7bb --- /dev/null +++ b/src/ubuntu/install/doom/install_doom.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y chocolate-doom doom-wad-shareware prboom-plus freedoom + +mkdir -p $HOME/.local/share/chocolate-doom +echo 'force_software_renderer 1' > $HOME/.local/share/chocolate-doom/chocolate-doom.cfg \ No newline at end of file diff --git a/src/ubuntu/install/edge/custom_startup.sh b/src/ubuntu/install/edge/custom_startup.sh new file mode 100644 index 0000000..470b3cf --- /dev/null +++ b/src/ubuntu/install/edge/custom_startup.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -ex +FORCE=$2 +if [ -n "$1" ] ; then + URL=$1 +else + URL=$LAUNCH_URL +fi + +DEFAULT_ARGS="--start-maximized" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +if [ -n "$URL" ] && ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x msedge > /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + set +e + microsoft-edge $ARGS $URL + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/edge/install_edge.sh b/src/ubuntu/install/edge/install_edge.sh new file mode 100644 index 0000000..66105d6 --- /dev/null +++ b/src/ubuntu/install/edge/install_edge.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +set -ex + +CHROME_ARGS="--password-store=basic --no-sandbox --disable-gpu --user-data-dir --no-first-run" + +apt-get update + +EDGE_BUILD=$(curl -q https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/ | grep href | grep .deb | sed 's/.*href="//g' | cut -d '"' -f1 | tail -1) + +wget -q -O edge.deb https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-dev/$EDGE_BUILD +apt-get install -y ./edge.deb +rm edge.deb + +cp /usr/share/applications/microsoft-edge-dev.desktop $HOME/Desktop/ +chown 1000:1000 $HOME/Desktop/microsoft-edge-dev.desktop + +mv /usr/bin/microsoft-edge-dev /usr/bin/microsoft-edge-dev-orig +cat >/usr/bin/microsoft-edge-dev <>/usr/bin/x-www-browser <>/etc/opt/edge/policies/managed/default_managed_policy.json < /dev/null + then + /usr/bin/filter_ready + /usr/bin/desktop_ready + firefox $ARGS $URL + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/firefox/firefox.desktop b/src/ubuntu/install/firefox/firefox.desktop new file mode 100644 index 0000000..e836241 --- /dev/null +++ b/src/ubuntu/install/firefox/firefox.desktop @@ -0,0 +1,221 @@ +[Desktop Entry] +Version=1.0 +Name=Firefox Web Browser +Name[ar]=متصفح الويب فَيَرفُكْس +Name[ast]=Restolador web Firefox +Name[bn]=ফায়ারফক্স ওয়েব ব্রাউজার +Name[ca]=Navegador web Firefox +Name[cs]=Firefox Webový prohlížeč +Name[da]=Firefox - internetbrowser +Name[el]=Περιηγητής Firefox +Name[es]=Navegador web Firefox +Name[et]=Firefoxi veebibrauser +Name[fa]=مرورگر اینترنتی Firefox +Name[fi]=Firefox-selain +Name[fr]=Navigateur Web Firefox +Name[gl]=Navegador web Firefox +Name[he]=דפדפן האינטרנט Firefox +Name[hr]=Firefox web preglednik +Name[hu]=Firefox webböngésző +Name[it]=Firefox Browser Web +Name[ja]=Firefox ウェブ・ブラウザ +Name[ko]=Firefox 웹 브라우저 +Name[ku]=Geroka torê Firefox +Name[lt]=Firefox interneto naršyklė +Name[nb]=Firefox Nettleser +Name[nl]=Firefox webbrowser +Name[nn]=Firefox Nettlesar +Name[no]=Firefox Nettleser +Name[pl]=Przeglądarka WWW Firefox +Name[pt]=Firefox Navegador Web +Name[pt_BR]=Navegador Web Firefox +Name[ro]=Firefox – Navigator Internet +Name[ru]=Веб-браузер Firefox +Name[sk]=Firefox - internetový prehliadač +Name[sl]=Firefox spletni brskalnik +Name[sv]=Firefox webbläsare +Name[tr]=Firefox Web Tarayıcısı +Name[ug]=Firefox توركۆرگۈ +Name[uk]=Веб-браузер Firefox +Name[vi]=Trình duyệt web Firefox +Name[zh_CN]=Firefox 网络浏览器 +Name[zh_TW]=Firefox 網路瀏覽器 +Comment=Browse the World Wide Web +Comment[ar]=تصفح الشبكة العنكبوتية العالمية +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per la web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[da]=Surf på internettet +Comment[de]=Im Internet surfen +Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) +Comment[es]=Navegue por la web +Comment[et]=Lehitse veebi +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Naviguer sur le Web +Comment[gl]=Navegar pola rede +Comment[he]=גלישה ברחבי האינטרנט +Comment[hr]=Pretražite web +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[ku]=Li torê bigere +Comment[lt]=Naršykite internete +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ro]=Navigați pe Internet +Comment[ru]=Доступ в Интернет +Comment[sk]=Prehliadanie internetu +Comment[sl]=Brskajte po spletu +Comment[sv]=Surfa på webben +Comment[tr]=İnternet'te Gezinin +Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +GenericName=Web Browser +GenericName[ar]=متصفح ويب +GenericName[ast]=Restolador Web +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[da]=Webbrowser +GenericName[el]=Περιηγητής διαδικτύου +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[it]=Browser web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[ku]=Geroka torê +GenericName[lt]=Interneto naršyklė +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator Internet +GenericName[ru]=Веб-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[tr]=Web Tarayıcı +GenericName[ug]=توركۆرگۈ +GenericName[uk]=Веб-браузер +GenericName[vi]=Trình duyệt Web +GenericName[zh_CN]=网络浏览器 +GenericName[zh_TW]=網路瀏覽器 +Keywords=Internet;WWW;Browser;Web;Explorer +Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب +Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador +Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer +Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer +Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet +Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen +Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;Firefox;Φιρεφοχ;Ιντερνετ +Keywords[es]=Explorador;Internet;WWW +Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa +Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur +Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה; +Keywords[hr]=Internet;WWW;preglednik;Web +Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer +Keywords[it]=Internet;WWW;Browser;Web;Navigatore +Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk +Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ +Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside +Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online +Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador +Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador +Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис +Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer +Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet +Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara +Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд +Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web +Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;Firefox;ff;互联网;网站; +Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐 +Exec=firefox %u +Terminal=false +X-MultipleArgs=false +Type=Application +Icon=/usr/lib/firefox/browser/chrome/icons/default/default128.png +Categories=GNOME;GTK;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall; +StartupNotify=true +Actions=NewWindow;NewPrivateWindow; + +[Desktop Action NewWindow] +Name=Open a New Window +Name[ar]=افتح نافذة جديدة +Name[ast]=Abrir una ventana nueva +Name[bn]=Abrir una ventana nueva +Name[ca]=Obre una finestra nova +Name[cs]=Otevřít nové okno +Name[da]=Åbn et nyt vindue +Name[de]=Ein neues Fenster öffnen +Name[el]=Άνοιγμα νέου παραθύρου +Name[es]=Abrir una ventana nueva +Name[fi]=Avaa uusi ikkuna +Name[fr]=Ouvrir une nouvelle fenêtre +Name[gl]=Abrir unha nova xanela +Name[he]=פתיחת חלון חדש +Name[hr]=Otvori novi prozor +Name[hu]=Új ablak nyitása +Name[it]=Apri una nuova finestra +Name[ja]=新しいウィンドウを開く +Name[ko]=새 창 열기 +Name[ku]=Paceyeke nû veke +Name[lt]=Atverti naują langą +Name[nb]=Åpne et nytt vindu +Name[nl]=Nieuw venster openen +Name[pt]=Abrir nova janela +Name[pt_BR]=Abrir nova janela +Name[ro]=Deschide o fereastră nouă +Name[ru]=Новое окно +Name[sk]=Otvoriť nové okno +Name[sl]=Odpri novo okno +Name[sv]=Öppna ett nytt fönster +Name[tr]=Yeni pencere aç +Name[ug]=يېڭى كۆزنەك ئېچىش +Name[uk]=Відкрити нове вікно +Name[vi]=Mở cửa sổ mới +Name[zh_CN]=新建窗口 +Name[zh_TW]=開啟新視窗 +Exec=firefox -new-window +OnlyShowIn=Unity; + +[Desktop Action NewPrivateWindow] +Name=Open a New Private Window +Name[ar]=افتح نافذة جديدة للتصفح الخاص +Name[ca]=Obre una finestra nova en mode d'incògnit +Name[de]=Ein neues privates Fenster öffnen +Name[es]=Abrir una ventana privada nueva +Name[fi]=Avaa uusi yksityinen ikkuna +Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée +Name[he]=פתיחת חלון גלישה פרטית חדש +Name[hu]=Új privát ablak nyitása +Name[it]=Apri una nuova finestra anonima +Name[nb]=Åpne et nytt privat vindu +Name[ru]=Новое приватное окно +Name[sl]=Odpri novo okno zasebnega brskanja +Name[tr]=Yeni bir pencere aç +Name[uk]=Відкрити нове вікно у потайливому режимі +Name[zh_TW]=開啟新隱私瀏覽視窗 +Exec=firefox -private-window +OnlyShowIn=Unity; diff --git a/src/ubuntu/install/firefox/install_firefox.sh b/src/ubuntu/install/firefox/install_firefox.sh new file mode 100644 index 0000000..3e7f5a8 --- /dev/null +++ b/src/ubuntu/install/firefox/install_firefox.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +set -xe + +set_centos_desktop_icon() { + sed -i -e 's!Icon=.\+!Icon=/usr/share/icons/hicolor/48x48/apps/firefox.png!' "$HOME/Desktop/firefox.desktop" +} + +echo "Install Firefox" +if [ "$DISTRO" = centos ]; then + yum install -y firefox p11-kit +else + apt-mark unhold firefox + apt-get remove firefox + apt-get update + apt-get install -y firefox p11-kit-modules +fi + +if [ "$DISTRO" = centos ]; then + yum clean all +else + # Plugin to support running flash videos for sites like vimeo + apt-get install -y browser-plugin-freshplayer-pepperflash + apt-mark hold firefox + apt-get clean -y +fi + +if [ "$DISTRO" != centos ]; then + # Update firefox to utilize the system certificate store instead of the one that ships with firefox + rm /usr/lib/firefox/libnssckbi.so + ln /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox/libnssckbi.so +fi + +if [ "$DISTRO" = centos ]; then + preferences_file=/usr/lib64/firefox/browser/defaults/preferences/all-redhat.js + sed -i -e '/homepage/d' "$preferences_file" +else + preferences_file=/usr/lib/firefox/browser/defaults/preferences/firefox.js +fi +# Disabling default first run URL +echo "pref(\"datareporting.policy.firstRunURL\", \"\");" >> "$preferences_file" + +# Creating Default Profile +firefox -headless -CreateProfile "kasm $HOME/.mozilla/firefox/kasm" + +if [ "$DISTRO" = centos ]; then + set_centos_desktop_icon +fi + +# Starting with version 67, Firefox creates a unique profile mapping per installation which is hash generated +# 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 + +cat >>$HOME/.mozilla/firefox/profiles.ini < /etc/apt/sources.list.d/canonical_partner.list +apt-get update +apt-get install -y browser-plugin-freshplayer-pepperflash adobe-flashplugin +rm /etc/apt/sources.list.d/canonical_partner.list diff --git a/src/ubuntu/install/firefox_mobile/configure_firefox_mobile.sh b/src/ubuntu/install/firefox_mobile/configure_firefox_mobile.sh new file mode 100644 index 0000000..90d372c --- /dev/null +++ b/src/ubuntu/install/firefox_mobile/configure_firefox_mobile.sh @@ -0,0 +1,108 @@ +#!/usr/bin/env bash +set -xe + +apt-get update +apt-get install -y unzip +# In new firefox you can taylor the way the toolbars look via this stylesheet +# Here we: +# Remove the tabs toolbar +# Remove the scrollbar +# Remove the Main Menu +# Remove teh Forward Bar +# Remove the Page actions from the url bar +# Remove cursor +mkdir -p $HOME/.mozilla/firefox/kasm/chrome +cat >$HOME/.mozilla/firefox/kasm/chrome/userChrome.css <browser { + margin-right:-17px!important; + margin-bottom:-17px!important; + overflow-y:scroll; + overflow-x:hidden; +} + +#TabsToolbar { visibility: collapse !important; } +#PanelUI-menu-button {display: none;} +#forward-button{ + display:none !important; +} +#pageActionButton { display: none !important; } +* { cursor: none !important } +EOL + +cat >$HOME/.mozilla/firefox/kasm/chrome/userContent.css <> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# Light theme +echo "pref(\"lightweightThemes.selectedThemeID\", \"firefox-compact-light@mozilla.org\");" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# No Title bar +echo "pref(\"browser.tabs.drawInTitlebar\", true);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# When typing in the urlbar FF displays a massive dropdown that consumes the whole screen on mobile with search +# suggestions etc. We remove all that so when the user starts typing the dropdown doesnt go over the keyboard +# thus preventing them from typing +echo "pref(\"browser.urlbar.suggest.bookmark\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.urlbar.suggest.history\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.urlbar.suggest.openpage\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.search.suggest.enabled\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.search.suggest.searches\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.urlbar.autoFill\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.urlbar.autocomplete.enabled\", false);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.search.hiddenOneOffs\", \"Google,Bing,Amazon.com,DuckDuckGo,eBay,Twitter,Wikipedia (en)\");" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# These preferences are aimed at minimizing interferences from popups. After these configs. +# After these configs any links should be opened in the current and only tab. +# Before it was easy to get into a state where a page forces open a new window or tab and the user cant get back to +# where they were: + +echo "pref(\"browser.link.open_newwindow\", 1);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"browser.tabs.maxOpenBeforeWarn\", 1);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"dom.popup_allowed_events\", \" \");" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js +echo "pref(\"dom.popup_maximum\", 0);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + + +# Remove the addon from the menu and into another section. This may not be future proof +echo "user_pref(\"browser.uiCustomization.state\", \"{\\\"placements\\\":{\\\"widget-overflow-fixed-list\\\":[],\\\"PersonalToolbar\\\":[\\\"personal-bookmarks\\\"],\\\"nav-bar\\\":[\\\"back-button\\\",\\\"urlbar-container\\\",\\\"forward-button\\\"],\\\"TabsToolbar\\\":[\\\"tabbrowser-tabs\\\",\\\"new-tab-button\\\",\\\"alltabs-button\\\"],\\\"toolbar-menubar\\\":[\\\"menubar-items\\\"]},\\\"seen\\\":[\\\"dragtoscroll_deag1bcc-abec-daec-cdae-aeadedcabebacdad-browser-action\\\",\\\"developer-button\\\"],\\\"dirtyAreaCache\\\":[\\\"PersonalToolbar\\\",\\\"nav-bar\\\",\\\"TabsToolbar\\\",\\\"toolbar-menubar\\\"],\\\"currentVersion\\\":14,\\\"newElementCount\\\":0}\");" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + + +# Change the UI density to be a bit more mobile friendly. +echo "pref(\"browser.uidensity\", 2);" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# Remove the bookmark icons from the urlbar to get back a few more pixels +echo "pref(\"browser.pageActions.persistedActions\", \"{\\\"version\\\":1,\\\"ids\\\":[\\\"bookmark\\\",\\\"bookmarkSeparator\\\",\\\"copyURL\\\",\\\"emailLink\\\",\\\"sendToDevice\\\",\\\"pocket\\\",\\\"screenshots\\\"],\\\"idsInUrlbar\\\":[]}\");" >> /usr/lib/firefox/browser/defaults/preferences/firefox.js + +# The xulstore.json is yet another place to define the layout of certain components. Here we set up the window +# to remove some of the excess buttons from the toolbar that you cant do elsewhere like Forward +cat >$HOME/.mozilla/firefox/kasm/xulstore.json < /dev/null + then + firefox -width ${VNC_RESOLUTION/x*/} -height ${VNC_RESOLUTION/*x/} $URL + sleep 10 && wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz & + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/gimp/custom_startup.sh b/src/ubuntu/install/gimp/custom_startup.sh new file mode 100644 index 0000000..3db1730 --- /dev/null +++ b/src/ubuntu/install/gimp/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x gimp > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + gimp $ARGS & + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/gimp/install_gimp.sh b/src/ubuntu/install/gimp/install_gimp.sh new file mode 100644 index 0000000..f630a5d --- /dev/null +++ b/src/ubuntu/install/gimp/install_gimp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y gimp maximus +cp /usr/share/applications/gimp.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/gimp.desktop \ No newline at end of file diff --git a/src/ubuntu/install/horizon/custom_startup.sh b/src/ubuntu/install/horizon/custom_startup.sh new file mode 100644 index 0000000..d55b47d --- /dev/null +++ b/src/ubuntu/install/horizon/custom_startup.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--fullscreen" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x vmware-view > /dev/null + then + cd $HOME + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + vmware-view $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/horizon/install_horizons.sh b/src/ubuntu/install/horizon/install_horizons.sh new file mode 100644 index 0000000..baffdd1 --- /dev/null +++ b/src/ubuntu/install/horizon/install_horizons.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex + +apt-get update +apt-get install -y rdesktop + + +wget https://download3.vmware.com/software/view/viewclients/CART22FQ1/VMware-Horizon-Client-2103-8.2.0-17742757.x64.bundle -O horizons.bundle +chmod +x ./horizons.bundle + +export TERM=dumb +export VMWARE_EULAS_AGREED=yes +./horizons.bundle --console --eulas-agreed --required --stop-services \ +--set-setting vmware-horizon-usb usbEnable yes \ +--set-setting vmware-horizon-smartcard smartcardEnable yes \ +--set-setting vmware-horizon-rtav rtavEnable yes \ +--set-setting vmware-horizon-tsdr tsdrEnable yes \ +--set-setting vmware-horizon-scannerclient scannerEnable yes \ +--set-setting vmware-horizon-serialportclient serialportEnable yes \ +--set-setting vmware-horizon-mmr mmrEnable yes \ +--set-setting vmware-horizon-media-provider mediaproviderEnable yes \ +--set-setting vmware-horizon-integrated-printing vmipEnable yes \ +--set-setting vmware-horizon-html5mmr html5mmrEnable yes + +rm -f ./horizons.bundle + + +cp /usr/share/applications/vmware-view.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/vmware-view.desktop \ No newline at end of file diff --git a/src/ubuntu/install/insomnia/custom_startup.sh b/src/ubuntu/install/insomnia/custom_startup.sh new file mode 100644 index 0000000..6a64887 --- /dev/null +++ b/src/ubuntu/install/insomnia/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x insomnia > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + insomnia $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/insomnia/install_insomnia.sh b/src/ubuntu/install/insomnia/install_insomnia.sh new file mode 100644 index 0000000..a9b3cd0 --- /dev/null +++ b/src/ubuntu/install/insomnia/install_insomnia.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -ex +wget -q "https://updates.insomnia.rest/downloads/ubuntu/latest?&app=com.insomnia.app&source=website" -O insomnia.deb +apt-get update +apt-get install -y ./insomnia.deb + +sed -i "s#Exec=/opt/Insomnia/insomnia#Exec=/opt/Insomnia/insomnia --no-sandbox#g" /usr/share/applications/insomnia.desktop +cp /usr/share/applications/insomnia.desktop $HOME/Desktop +chmod +x $HOME/Desktop/insomnia.desktop +chown 1000:1000 $HOME/Desktop/insomnia.desktop +rm insomnia.deb + +# Conveniences for python development +apt-get install -y maximus diff --git a/src/ubuntu/install/keeper/install_keeper.sh b/src/ubuntu/install/keeper/install_keeper.sh new file mode 100644 index 0000000..bd7c13d --- /dev/null +++ b/src/ubuntu/install/keeper/install_keeper.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -ex +apt-get update +wget https://www.keepersecurity.com/desktop_electron/Linux/repo/deb/keeperpasswordmanager_15.0.9_amd64.deb -O keeper.deb +apt-get install -y ./keeper.deb +rm -rf keeper.deb +sed -i 's@^Exec=.*@Exec=keeperpasswordmanager --no-sandbox %U@g' /usr/share/applications/keeperpasswordmanager.desktop +cp /usr/share/applications/keeperpasswordmanager.desktop $HOME/Desktop/keeperpasswordmanager.desktop +chmod +x $HOME/Desktop/keeperpasswordmanager.desktop \ No newline at end of file diff --git a/src/ubuntu/install/libre_office/install_libre_office.sh b/src/ubuntu/install/libre_office/install_libre_office.sh new file mode 100644 index 0000000..b0be274 --- /dev/null +++ b/src/ubuntu/install/libre_office/install_libre_office.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +### every exit != 0 fails the script +set -ex +apt-get update +apt-get install -y software-properties-common + +add-apt-repository -y ppa:libreoffice/ppa +apt-get update +apt-get install -y libreoffice +add-apt-repository -r -y ppa:libreoffice/ppa +cp /usr/share/applications/libreoffice-startcenter.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/libreoffice-startcenter.desktop + diff --git a/src/ubuntu/install/lsyncd/install_lsyncd.sh b/src/ubuntu/install/lsyncd/install_lsyncd.sh new file mode 100644 index 0000000..6c5a2f2 --- /dev/null +++ b/src/ubuntu/install/lsyncd/install_lsyncd.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y lsyncd + + + +mkdir -p /var/log/lsyncd +chown 1000:1000 /var/log/lsyncd + +mkdir -p /etc/lsyncd +cat >/etc/lsyncd/lsyncd.kasm.profile.conf.lua < /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + /usr/bin/maltego $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/maltego/install_maltego.sh b/src/ubuntu/install/maltego/install_maltego.sh new file mode 100644 index 0000000..0a54da4 --- /dev/null +++ b/src/ubuntu/install/maltego/install_maltego.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -ex + +apt-get update +apt-get install -y default-jre curl + +MALTEGO_URL=$(curl -q https://maltego-downloads.s3.us-east-2.amazonaws.com/info.json | grep -e "url.*deb" | cut -d '"' -f4 | head -1) + +wget -q $MALTEGO_URL -O maltego.deb +apt-get install -y ./maltego.deb +rm maltego.deb + +cp /usr/share/applications/maltego.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/maltego.desktop +chown 1000:1000 /usr/share/applications/maltego.desktop + diff --git a/src/ubuntu/install/misc/install_tools.sh b/src/ubuntu/install/misc/install_tools.sh new file mode 100644 index 0000000..e1ae3c9 --- /dev/null +++ b/src/ubuntu/install/misc/install_tools.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -ex + +if [ "$DISTRO" = centos ]; then + yum install -y nano zip wget + yum install epel-release -y + yum install xdotool -y +else + apt-get update + apt-get install -y nano zip xdotool +fi diff --git a/src/ubuntu/install/mobile/configure_mobile.sh b/src/ubuntu/install/mobile/configure_mobile.sh new file mode 100644 index 0000000..2cd7e17 --- /dev/null +++ b/src/ubuntu/install/mobile/configure_mobile.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# Installs a virtual keyboard +# Installs and configures accessibility options so the keyboard pops up when a text box is clicked + +set -ex + +# mousetweaks - used to simulate right mouse clicking when holding down left mouse click button +# onboard - on screen keyboard +# unclutter - Remove Mouse Cursor. This configuration will remove the cursor except for briefly when its clicked + +apt-get update +apt-get install -y dconf-tools libglib2.0-bin mousetweaks onboard unclutter + +rm -f /etc/xdg/autostart/orca-autostart.desktop + + +# Configure Onboard Virtual Keyboard Settings +dbus-launch gsettings set org.gnome.desktop.interface toolkit-accessibility true +dbus-launch gsettings set org.onboard.window docking-enabled true +dbus-launch gsettings set org.onboard.window docking-shrink-workarea false +dbus-launch gsettings set org.onboard.window docking-edge 'bottom' +dbus-launch gsettings set org.onboard.window force-to-top true +dbus-launch gsettings set org.onboard.window.landscape dock-expand true +dbus-launch gsettings set org.onboard.auto-show enabled true +dbus-launch gsettings set org.onboard xembed-onboard true +dbus-launch gsettings set org.onboard theme 'Nightshade' +dbus-launch gsettings set org.onboard use-system-defaults false +dbus-launch gsettings set org.onboard layout '/usr/share/onboard/layouts/Phone.onboard' +#dbus-launch gsettings get org.gnome.desktop.a11y.applications screen-reader-enabled + + + +# Install and configure orca screen reader. Needed for text box triggering of keyboard when entering/exiting text areas +apt-get install -y gnome-orca +sed -i "s@OnlyShowIn@#OnlyShowIn@" /etc/xdg/autostart/orca-autostart.desktop +cat /etc/xdg/autostart/orca-autostart.desktop + +# Turn on accessibility options in XFCE +cat >$HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml < + + + + + + +EOL + +chown 1000:1000 $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml +chown -R 1000:1000 $HOME/.config/dconf +chown -R 1000:1000 $HOME/.cache + +# Disable the speech within Orca so every window/input isnt annotated +mkdir -p $HOME/.local/share/orca +echo '{"general":{"enableSpeech": false}}' > $HOME/.local/share/orca/user-settings.conf +chown -R 1000:1000 $HOME/.local/share/orca/ diff --git a/src/ubuntu/install/nextcloud/install_nextcloud.sh b/src/ubuntu/install/nextcloud/install_nextcloud.sh new file mode 100644 index 0000000..cae05be --- /dev/null +++ b/src/ubuntu/install/nextcloud/install_nextcloud.sh @@ -0,0 +1,208 @@ +#!/usr/bin/env bash +set -ex +apt-get install -y software-properties-common +add-apt-repository -y ppa:nextcloud-devs/client +apt update +apt install -y nextcloud-client + +cat >$HOME/Desktop/nextcloud.desktop <> /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + onlyoffice-desktopeditors $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/only_office/install_only_office.sh b/src/ubuntu/install/only_office/install_only_office.sh new file mode 100644 index 0000000..247606d --- /dev/null +++ b/src/ubuntu/install/only_office/install_only_office.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +set -ex +curl -L -o only_office.deb "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb" +apt-get install -y ./only_office.deb +rm -rf only_office.deb + +cp /usr/share/applications/onlyoffice-desktopeditors.desktop $HOME/Desktop +sed -i 's/ONLYOFFICE Desktop Editors/ONLYOFFICE/g' $HOME/Desktop/onlyoffice-desktopeditors.desktop +chmod +x $HOME/Desktop/onlyoffice-desktopeditors.desktop +# KASM-1541 +sed -i 's#/usr/bin/onlyoffice-desktopeditors %U$#bash -c "source ~/.bashrc \&\& /usr/bin/onlyoffice-desktopeditors %U"#' /usr/share/applications/onlyoffice-desktopeditors.desktop + +apt-get update +apt-get install -y maximus diff --git a/src/ubuntu/install/owncloud/install_owncloud.sh b/src/ubuntu/install/owncloud/install_owncloud.sh new file mode 100644 index 0000000..c469379 --- /dev/null +++ b/src/ubuntu/install/owncloud/install_owncloud.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +### every exit != 0 fails the script +set -ex +wget -nv https://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_17.04/Release.key -O Release.key +apt-key add - < Release.key +apt-get update +sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/isv:ownCloud:desktop.list" +apt-get update +apt-get install -y owncloud-client +mkdir -p $HOME/.config/ownCloud + +cat >$HOME/.config/ownCloud/owncloud.cfg < /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + /opt/Postman/Postman $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/postman/install_postman.sh b/src/ubuntu/install/postman/install_postman.sh new file mode 100644 index 0000000..b14369c --- /dev/null +++ b/src/ubuntu/install/postman/install_postman.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -ex +wget -q https://dl.pstmn.io/download/latest/linux64 -O postman.tar.gz +mkdir -p /opt/ +tar -xvzf postman.tar.gz -C /opt/ +rm postman.tar.gz + +cat >/usr/share/applications/postman.desktop < /dev/null + then + cd $HOME + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + rdesktop $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/rdesktop/install_rdesktop.sh b/src/ubuntu/install/rdesktop/install_rdesktop.sh new file mode 100644 index 0000000..747c157 --- /dev/null +++ b/src/ubuntu/install/rdesktop/install_rdesktop.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +apt-get update +apt-get install -y rdesktop diff --git a/src/ubuntu/install/remmina/custom_startup.sh b/src/ubuntu/install/remmina/custom_startup.sh new file mode 100644 index 0000000..8800cfa --- /dev/null +++ b/src/ubuntu/install/remmina/custom_startup.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -x +FORCE=$1 + +DEFAULT_ARGS=" " +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x remmina > /dev/null + then + cd $HOME + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + remmina $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/remmina/install_remmina.sh b/src/ubuntu/install/remmina/install_remmina.sh new file mode 100644 index 0000000..0b41650 --- /dev/null +++ b/src/ubuntu/install/remmina/install_remmina.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -ex + +apt-get update +apt-get install -y software-properties-common +apt-add-repository -y ppa:remmina-ppa-team/remmina-next +apt-get update +apt-get install -y remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice xdotool +cp /usr/share/applications/org.remmina.Remmina.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/org.remmina.Remmina.desktop +chown 1000:1000 $HOME/Desktop/org.remmina.Remmina.desktop \ No newline at end of file diff --git a/src/ubuntu/install/remmina/remmina.pref b/src/ubuntu/install/remmina/remmina.pref new file mode 100644 index 0000000..30d44c7 --- /dev/null +++ b/src/ubuntu/install/remmina/remmina.pref @@ -0,0 +1,13 @@ +[remmina_pref] +disable_tray_icon=true + +[usage_stats] +periodic_usage_stats_permitted=false +periodic_usage_stats_last_sent=0 +periodic_usage_stats_uuid_prefix= + +[remmina_news] +periodic_news_permitted=false +periodic_rmnews_last_get=1617502161 +periodic_rmnews_get_count=2 +periodic_rmnews_uuid_prefix=ONIZ7TTK015NCL diff --git a/src/ubuntu/install/signal/custom_startup.sh b/src/ubuntu/install/signal/custom_startup.sh new file mode 100644 index 0000000..a312abd --- /dev/null +++ b/src/ubuntu/install/signal/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x signal-desktop > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + signal-desktop $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/signal/install_signal.sh b/src/ubuntu/install/signal/install_signal.sh new file mode 100644 index 0000000..e0efdf6 --- /dev/null +++ b/src/ubuntu/install/signal/install_signal.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -ex +wget -O- https://updates.signal.org/desktop/apt/keys.asc | apt-key add - +echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | tee -a /etc/apt/sources.list.d/signal-xenial.list +apt-get update +apt-get install -y signal-desktop maximus +cp /usr/share/applications/signal-desktop.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/signal-desktop.desktop diff --git a/src/ubuntu/install/slack/custom_startup.sh b/src/ubuntu/install/slack/custom_startup.sh new file mode 100644 index 0000000..40286d2 --- /dev/null +++ b/src/ubuntu/install/slack/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x slack > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + slack $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/slack/install_slack.sh b/src/ubuntu/install/slack/install_slack.sh new file mode 100644 index 0000000..36ca438 --- /dev/null +++ b/src/ubuntu/install/slack/install_slack.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -ex +wget -q https://downloads.slack-edge.com/linux_releases/slack-desktop-4.3.2-amd64.deb +apt-get update +apt-get install -y maximus +apt-get install -y ./slack-desktop-4.3.2-amd64.deb +rm slack-desktop-4.3.2-amd64.deb +sed -i 's,/usr/bin/slack,/usr/bin/slack --no-sandbox,g' /usr/share/applications/slack.desktop +cp /usr/share/applications/slack.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/slack.desktop +chown 1000:1000 $HOME/Desktop/slack.desktop diff --git a/src/ubuntu/install/smb/install_smb.sh b/src/ubuntu/install/smb/install_smb.sh new file mode 100644 index 0000000..4edf0e9 --- /dev/null +++ b/src/ubuntu/install/smb/install_smb.sh @@ -0,0 +1,270 @@ +#!/usr/bin/env bash +### every exit != 0 fails the script +set -ex +apt-get update +apt-get install -y gvfs-backends gvfs-bin gvfs-common gvfs-fuse smbclient + +cat >/etc/samba/smb.conf < for +# sending the correct chat script for the passwd program in Debian Sarge). + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + +# This boolean controls whether PAM will be used for password changes +# when requested by an SMB client instead of the program listed in +# 'passwd program'. The default is 'no'. + pam password change = yes + +# This option controls how unsuccessful authentication attempts are mapped +# to anonymous connections + map to guest = bad user + +########## Domains ########### + +# +# The following settings only takes effect if 'server role = primary +# classic domain controller', 'server role = backup domain controller' +# or 'domain logons' is set +# + +# It specifies the location of the user's +# profile directory from the client point of view) The following +# required a [profiles] share to be setup on the samba server (see +# below) +; logon path = \\%N\profiles\%U +# Another common choice is storing the profile in the user's home directory +# (this is Samba's default) +# logon path = \\%N\%U\profile + +# The following setting only takes effect if 'domain logons' is set +# It specifies the location of a user's home directory (from the client +# point of view) +; logon drive = H: +# logon home = \\%N\%U + +# The following setting only takes effect if 'domain logons' is set +# It specifies the script to run during logon. The script must be stored +# in the [netlogon] share +# NOTE: Must be store in 'DOS' file format convention +; logon script = logon.cmd + +# This allows Unix users to be created on the domain controller via the SAMR +# RPC pipe. The example command creates a user account with a disabled Unix +# password; please adapt to your needs +; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u + +# This allows machine accounts to be created on the domain controller via the +# SAMR RPC pipe. +# The following assumes a "machines" group exists on the system +; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u + +# This allows Unix groups to be created on the domain controller via the SAMR +# RPC pipe. +; add group script = /usr/sbin/addgroup --force-badname %g + +############ Misc ############ + +# Using the following line enables you to customise your configuration +# on a per machine basis. The %m gets replaced with the netbios name +# of the machine that is connecting +; include = /home/samba/etc/smb.conf.%m + +# Some defaults for winbind (make sure you're not using the ranges +# for something else.) +; idmap uid = 10000-20000 +; idmap gid = 10000-20000 +; template shell = /bin/bash + +# Setup usershare options to enable non-root users to share folders +# with the net usershare command. + +# Maximum number of usershare. 0 (default) means that usershare is disabled. +; usershare max shares = 100 + +# Allow users who've been granted usershare privileges to create +# public shares, not just authenticated ones + usershare allow guests = yes + +#======================= Share Definitions ======================= + +# Un-comment the following (and tweak the other settings below to suit) +# to enable the default home directory shares. This will share each +# user's home directory as \\server\username +;[homes] +; comment = Home Directories +; browseable = no + +# By default, the home directories are exported read-only. Change the +# next parameter to 'no' if you want to be able to write to them. +; read only = yes + +# File creation mask is set to 0700 for security reasons. If you want to +# create files with group=rw permissions, set next parameter to 0775. +; create mask = 0700 + +# Directory creation mask is set to 0700 for security reasons. If you want to +# create dirs. with group=rw permissions, set next parameter to 0775. +; directory mask = 0700 + +# By default, \\server\username shares can be connected to by anyone +# with access to the samba server. +# Un-comment the following parameter to make sure that only "username" +# can connect to \\server\username +# This might need tweaking when using external authentication schemes +; valid users = %S + +# Un-comment the following and create the netlogon directory for Domain Logons +# (you need to configure Samba to act as a domain controller too.) +;[netlogon] +; comment = Network Logon Service +; path = /home/samba/netlogon +; guest ok = yes +; read only = yes + +# Un-comment the following and create the profiles directory to store +# users profiles (see the "logon path" option above) +# (you need to configure Samba to act as a domain controller too.) +# The path below should be writable by all users so that their +# profile directory may be created the first time they log on +;[profiles] +; comment = Users profiles +; path = /home/samba/profiles +; guest ok = no +; browseable = no +; create mask = 0600 +; directory mask = 0700 + +[printers] + comment = All Printers + browseable = no + path = /var/spool/samba + printable = yes + guest ok = no + read only = yes + create mask = 0700 + +# Windows clients look for this share name as a source of downloadable +# printer drivers +[print$] + comment = Printer Drivers + path = /var/lib/samba/printers + browseable = yes + read only = yes + guest ok = no +# Uncomment to allow remote administration of Windows print drivers. +# You may need to replace 'lpadmin' with the name of the group your +# admin users are members of. +# Please note that you also need to set appropriate Unix permissions +# to the drivers directory for these users to have write rights in it +; write list = root, @lpadmin + +EOL + diff --git a/src/ubuntu/install/steam/custom_startup.sh b/src/ubuntu/install/steam/custom_startup.sh new file mode 100644 index 0000000..3aa100c --- /dev/null +++ b/src/ubuntu/install/steam/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x steam > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + /usr/games/steam $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/steam/install_steam.sh b/src/ubuntu/install/steam/install_steam.sh new file mode 100644 index 0000000..d25eb4d --- /dev/null +++ b/src/ubuntu/install/steam/install_steam.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -ex +dpkg --add-architecture i386 +apt-get update +apt-get install -y steam-installer maximus +cp /usr/share/applications/steam.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/steam.desktop +chown 1000:1000 $HOME/Desktop/steam.desktop diff --git a/src/ubuntu/install/sublime_text/custom_startup.sh b/src/ubuntu/install/sublime_text/custom_startup.sh new file mode 100644 index 0000000..d7772a6 --- /dev/null +++ b/src/ubuntu/install/sublime_text/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x sublime_text > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + /opt/sublime_text/sublime_text $ARGS & + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/sublime_text/install_sublime_text.sh b/src/ubuntu/install/sublime_text/install_sublime_text.sh new file mode 100644 index 0000000..18d471d --- /dev/null +++ b/src/ubuntu/install/sublime_text/install_sublime_text.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -ex +apt-get update +wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | apt-key add - +apt-get install -y apt-transport-https +echo "deb https://download.sublimetext.com/ apt/stable/" | tee /etc/apt/sources.list.d/sublime-text.list +apt-get update +apt-get install -y sublime-text maximus +cp /usr/share/applications/sublime_text.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/sublime_text.desktop +chown 1000:1000 $HOME/Desktop/sublime_text.desktop diff --git a/src/ubuntu/install/teams/custom_startup.sh b/src/ubuntu/install/teams/custom_startup.sh new file mode 100644 index 0000000..ef4e437 --- /dev/null +++ b/src/ubuntu/install/teams/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x teams > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + teams $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/teams/install_teams.sh b/src/ubuntu/install/teams/install_teams.sh new file mode 100644 index 0000000..5c8854e --- /dev/null +++ b/src/ubuntu/install/teams/install_teams.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -ex +curl -L -o teams.deb "https://go.microsoft.com/fwlink/p/?linkid=2112886&clcid=0x409&culture=en-us&country=us" +apt-get install -y ./teams.deb +rm teams.deb +sed -i "s/Exec=teams/Exec=teams --no-sandbox/g" /usr/share/applications/teams.desktop +cp /usr/share/applications/teams.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/teams.desktop \ No newline at end of file diff --git a/src/ubuntu/install/terminal/custom_startup.sh b/src/ubuntu/install/terminal/custom_startup.sh new file mode 100644 index 0000000..78a9201 --- /dev/null +++ b/src/ubuntu/install/terminal/custom_startup.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -ex +FORCE=$2 +if [ -n "$1" ] ; then + URL=$1 +else + URL=$LAUNCH_URL +fi + +DEFAULT_ARGS="--fullscreen --hide-borders --hide-menubar --zoom=-1 --hide-scrollbar" +ARGS=${TERMINAL_ARGS:-$DEFAULT_ARGS} + +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x xfce4-terminal > /dev/null + then + cd $HOME + /usr/bin/desktop_ready + set +e + xfce4-terminal $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/terraform/install_terraform.sh b/src/ubuntu/install/terraform/install_terraform.sh new file mode 100644 index 0000000..1bac53d --- /dev/null +++ b/src/ubuntu/install/terraform/install_terraform.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +set -ex + +curl -fsSL https://apt.releases.hashicorp.com/gpg | apt-key add - +apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main" +apt-get update +apt-get install -y terraform diff --git a/src/ubuntu/install/tools/install_tools_deluxe.sh b/src/ubuntu/install/tools/install_tools_deluxe.sh new file mode 100644 index 0000000..edf169d --- /dev/null +++ b/src/ubuntu/install/tools/install_tools_deluxe.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y vlc git tmux + diff --git a/src/ubuntu/install/torbrowser/install_torbrowser.sh b/src/ubuntu/install/torbrowser/install_torbrowser.sh new file mode 100644 index 0000000..4cdb11e --- /dev/null +++ b/src/ubuntu/install/torbrowser/install_torbrowser.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +set -xe +echo "Install TorBrowser" + +apt-get install -y xz-utils curl +TOR_URL=$(curl -q https://www.torproject.org/download/ | grep downloadLink | grep linux64 | sed 's/.*href="//g' | cut -d '"' -f1 | head -1) +wget --quiet https://www.torproject.org/${TOR_URL} -O /tmp/torbrowser.tar.xz +tar -xJf /tmp/torbrowser.tar.xz -C /tmp/ + +# Patch up the Tor Launcher file so we can move the icon to the deskop but not the folder +cp /tmp/tor-browser_en-US/start-tor-browser.desktop /tmp/tor-browser_en-US/start-tor-browser.desktop.bak +sed -i 's/^Name=.*/Name=Tor Browser/g' /tmp/tor-browser_en-US/start-tor-browser.desktop +sed -i 's/Icon=.*/Icon=\/tmp\/tor-browser_en-US\/Browser\/browser\/chrome\/icons\/default\/default128.png/g' /tmp/tor-browser_en-US/start-tor-browser.desktop +sed -i 's/Exec=.*/Exec=sh -c \x27"\/tmp\/tor-browser_en-US\/Browser\/start-tor-browser" --detach || ([ ! -x "\/tmp\/tor-browser_en-US\/Browser\/start-tor-browser" ] \&\& "$(dirname "$*")"\/Browser\/start-tor-browser --detach)\x27 dummy %k/g' /tmp/tor-browser_en-US/start-tor-browser.desktop + + +cat >>/tmp/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default/prefs.js <> /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + vlc $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/vlc/install_vlc.sh b/src/ubuntu/install/vlc/install_vlc.sh new file mode 100644 index 0000000..34a396c --- /dev/null +++ b/src/ubuntu/install/vlc/install_vlc.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex +apt-get update +apt-get install -y vlc maximus \ No newline at end of file diff --git a/src/ubuntu/install/vs_code/custom_startup.sh b/src/ubuntu/install/vs_code/custom_startup.sh new file mode 100644 index 0000000..9c6f284 --- /dev/null +++ b/src/ubuntu/install/vs_code/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="--no-sandbox" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x code > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + code $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi diff --git a/src/ubuntu/install/vs_code/install_vs_code.sh b/src/ubuntu/install/vs_code/install_vs_code.sh new file mode 100644 index 0000000..b8a00c1 --- /dev/null +++ b/src/ubuntu/install/vs_code/install_vs_code.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -ex +wget -q https://update.code.visualstudio.com/latest/linux-deb-x64/stable -O vs_code_amd64.deb +dpkg -i vs_code_amd64.deb +sed -i 's#/usr/share/code/code#/usr/share/code/code --no-sandbox##' /usr/share/applications/code.desktop +cp /usr/share/applications/code.desktop $HOME/Desktop +chmod +x $HOME/Desktop/code.desktop +chown 1000:1000 $HOME/Desktop/code.desktop +rm vs_code_amd64.deb + +# Conveniences for python development +apt-get update +apt-get install -y python3-setuptools \ + python3-venv \ + python3-virtualenv \ + maximus diff --git a/src/ubuntu/install/zoho_email/install_zoho_email.sh b/src/ubuntu/install/zoho_email/install_zoho_email.sh new file mode 100644 index 0000000..7ad18b5 --- /dev/null +++ b/src/ubuntu/install/zoho_email/install_zoho_email.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +set -ex +mkdir -p /opt/zoho-mail-desktop +cd /opt/zoho-mail-desktop +wget -q https://downloads.zohocdn.com/zmail-desktop/linux/zoho-mail-desktop-x64-v1.1.12.AppImage -O zoho-mail-desktop.AppImage +chmod +x zoho-mail-desktop.AppImage +./zoho-mail-desktop.AppImage --appimage-extract +rm zoho-mail-desktop.AppImage +chown -R 1000:1000 /opt/zoho-mail-desktop + +cat >/opt/zoho-mail-desktop/squashfs-root/launcher <>$HOME/.config/mimeapps.list <>$HOME/.config/xfce4/helpers.rc <>$HOME/.local/share/xfce4/helpers/custom-MailReader.desktop <> /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + zoom $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/zoom/install_zoom.sh b/src/ubuntu/install/zoom/install_zoom.sh new file mode 100644 index 0000000..547e189 --- /dev/null +++ b/src/ubuntu/install/zoom/install_zoom.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -ex +wget -q https://zoom.us/client/latest/zoom_amd64.deb +apt-get update +apt-get install -y maximus +apt-get install -y ./zoom_amd64.deb +rm zoom_amd64.deb +cp /usr/share/applications/Zoom.desktop $HOME/Desktop/ +chmod +x $HOME/Desktop/Zoom.desktop \ No newline at end of file diff --git a/src/ubuntu/install/zsnes/custom_startup.sh b/src/ubuntu/install/zsnes/custom_startup.sh new file mode 100644 index 0000000..45d788d --- /dev/null +++ b/src/ubuntu/install/zsnes/custom_startup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash +set -ex +FORCE=$1 + +DEFAULT_ARGS="" +ARGS=${APP_ARGS:-$DEFAULT_ARGS} + + +maximus & +if ( [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ) ; then + if [ -f /tmp/custom_startup.lck ] ; then + echo "custom_startup already running!" + exit 1 + fi + touch /tmp/custom_startup.lck + while true + do + if ! pgrep -x zsnes > /dev/null + then + /usr/bin/desktop_ready + /usr/bin/filter_ready + set +e + zsnes $ARGS + set -e + fi + sleep 1 + done + rm /tmp/custom_startup.lck +fi \ No newline at end of file diff --git a/src/ubuntu/install/zsnes/install_zsnes.sh b/src/ubuntu/install/zsnes/install_zsnes.sh new file mode 100644 index 0000000..39762c8 --- /dev/null +++ b/src/ubuntu/install/zsnes/install_zsnes.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -ex +dpkg --add-architecture i386 +apt-get update +apt-get install -y zsnes maximus + + +