Resolve KASM-2598 "Feature/ more images"
This commit is contained in:
parent
bb39c3a4dc
commit
e6b0c218f3
|
@ -4,21 +4,27 @@ services:
|
|||
variables:
|
||||
DOCKER_AUTH_CONFIG: ${_DOCKER_AUTH_CONFIG}
|
||||
PLATFORM: "linux/amd64"
|
||||
ARM_BUILDS: ",chromium,firefox,gimp,rdesktop,remmina,terminal,ubuntu-bionic-desktop,ubuntu-focal-desktop,vlc,vs-code,doom,sublime-text,tor-browser,java-dev,telegram,opensuse-15-desktop,oracle-8-desktop,libre-office,thunderbird,"
|
||||
ARM_BUILDS: ",chromium,firefox,gimp,rdesktop,remmina,terminal,ubuntu-bionic-desktop,ubuntu-focal-desktop,vlc,vs-code,doom,sublime-text,tor-browser,java-dev,telegram,opensuse-15-desktop,oracle-8-desktop,libre-office,thunderbird,audacity,deluge,filezilla,inkscape,pinta,qbittorrent,"
|
||||
CORE_IMAGE_TAG: "develop"
|
||||
CORE_IMAGE: "core-ubuntu-focal"
|
||||
USE_PRIVATE_IMAGES: 0
|
||||
|
||||
# YAML level anchors
|
||||
.MULTI_ARCH_BUILDS: &MULTI_ARCH_BUILDS
|
||||
- audacity
|
||||
- chromium
|
||||
- deluge
|
||||
- doom
|
||||
- filezilla
|
||||
- firefox
|
||||
- gimp
|
||||
- inkscape
|
||||
- java-dev
|
||||
- libre-office
|
||||
- opensuse-15-desktop
|
||||
- oracle-8-desktop
|
||||
- pinta
|
||||
- qbittorrent
|
||||
- rdesktop
|
||||
- remmina
|
||||
- sublime-text
|
||||
|
@ -31,6 +37,7 @@ variables:
|
|||
- vs-code
|
||||
|
||||
.SINGLE_ARCH_BUILDS: &SINGLE_ARCH_BUILDS
|
||||
- atom
|
||||
- brave
|
||||
- centos-7-desktop
|
||||
- chrome
|
||||
|
@ -124,7 +131,7 @@ build_app_images:
|
|||
- aws-autoscale
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird]
|
||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird, atom, audacity, deluge, filezilla, inkscape, pinta, qbittorrent]
|
||||
|
||||
build_ubuntu_desktop_images:
|
||||
stage: build
|
||||
|
@ -349,7 +356,7 @@ build_schedules_browser_images:
|
|||
- ls docs/$KASM_IMAGE/README.md
|
||||
- ls docs/$KASM_IMAGE/description.txt
|
||||
# Check for private variable to build against private core images
|
||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE_IMAGE-private; fi;
|
||||
- if [[ $USE_PRIVATE_IMAGES -eq 1 ]]; then CORE_IMAGE=$CORE-IMAGE-private; fi;
|
||||
|
||||
# Equivalent to docker build and docker push. Builds amd64 natively uses qemu for arm64.
|
||||
# The only way to push multiple architectures to the same tag is to use buildx.
|
||||
|
@ -361,7 +368,6 @@ build_schedules_browser_images:
|
|||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [chrome, chromium, firefox, firefox-mobile, tor-browser, edge, brave]
|
||||
CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal]
|
||||
|
||||
build_schedules_app_images:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
|
@ -389,8 +395,7 @@ build_schedules_app_images:
|
|||
- aws-autoscale
|
||||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird]
|
||||
CORE_IMAGE: [core-ubuntu-bionic, core-ubuntu-focal]
|
||||
- KASM_IMAGE: [doom, sublime-text, gimp, vs-code, slack, teams, only-office, zoom, signal, steam, postman, insomnia, zsnes, vlc, maltego, telegram, hunchly, java-dev, terminal, vmware-horizon, remmina, rdesktop, discord, libre-office, thunderbird, atom, audacity, deluge, filezilla, inkscape, pinta, qbittorrent]
|
||||
|
||||
build_schedules_ubuntu_desktop_images:
|
||||
image: ${ORG_NAME}/docker-buildx-private:develop
|
||||
|
@ -486,19 +491,24 @@ update_readmes:
|
|||
parallel:
|
||||
matrix:
|
||||
- KASM_IMAGE:
|
||||
- atom
|
||||
- audacity
|
||||
- brave
|
||||
- centos-7-desktop
|
||||
- chrome
|
||||
- chromium
|
||||
- deluge
|
||||
- desktop
|
||||
- desktop-deluxe
|
||||
- discord
|
||||
- doom
|
||||
- edge
|
||||
- filezilla
|
||||
- firefox
|
||||
- firefox-mobile
|
||||
- gimp
|
||||
- hunchly
|
||||
- inkscape
|
||||
- insomnia
|
||||
- java-dev
|
||||
- libre-office
|
||||
|
@ -507,7 +517,9 @@ update_readmes:
|
|||
- opensuse-15-desktop
|
||||
- oracle-7-desktop
|
||||
- oracle-8-desktop
|
||||
- pinta
|
||||
- postman
|
||||
- qbittorrent
|
||||
- rdesktop
|
||||
- remmina
|
||||
- signal
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/atom $INST_SCRIPTS/atom/
|
||||
RUN bash $INST_SCRIPTS/atom/install_atom.sh && rm -rf $INST_SCRIPTS/atom/
|
||||
|
||||
COPY ./src/ubuntu/install/atom/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/audacity $INST_SCRIPTS/audacity/
|
||||
RUN bash $INST_SCRIPTS/audacity/install_audacity.sh && rm -rf $INST_SCRIPTS/audacity/
|
||||
|
||||
COPY ./src/ubuntu/install/audacity/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/deluge $INST_SCRIPTS/deluge/
|
||||
RUN bash $INST_SCRIPTS/deluge/install_deluge.sh && rm -rf $INST_SCRIPTS/deluge/
|
||||
|
||||
COPY ./src/ubuntu/install/deluge/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/filezilla $INST_SCRIPTS/filezilla/
|
||||
RUN bash $INST_SCRIPTS/filezilla/install_filezilla.sh && rm -rf $INST_SCRIPTS/filezilla/
|
||||
|
||||
COPY ./src/ubuntu/install/filezilla/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/inkscape $INST_SCRIPTS/inkscape/
|
||||
RUN bash $INST_SCRIPTS/inkscape/install_inkscape.sh && rm -rf $INST_SCRIPTS/inkscape/
|
||||
|
||||
COPY ./src/ubuntu/install/inkscape/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/pinta $INST_SCRIPTS/pinta/
|
||||
RUN bash $INST_SCRIPTS/pinta/install_pinta.sh && rm -rf $INST_SCRIPTS/pinta/
|
||||
|
||||
COPY ./src/ubuntu/install/pinta/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
|
|
@ -0,0 +1,35 @@
|
|||
ARG BASE_TAG="develop"
|
||||
ARG BASE_IMAGE="core-ubuntu-focal"
|
||||
FROM kasmweb/$BASE_IMAGE:$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/qbittorrent $INST_SCRIPTS/qbittorrent/
|
||||
RUN bash $INST_SCRIPTS/qbittorrent/install_qbittorrent.sh && rm -rf $INST_SCRIPTS/qbittorrent/
|
||||
|
||||
COPY ./src/ubuntu/install/qbittorrent/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
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [ATOM](https://atom.io/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/atom.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
Atom Editor for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Audacity](https://www.audacityteam.org/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/audacity.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
Audacity for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Deluge](https://deluge-torrent.org/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/deluge.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
Deluge for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [FileZilla](https://filezilla-project.org/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/filezilla.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
FileZilla for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Inkscape](https://inkscape.org/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/inkscape.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
Inkscape for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [Pinta](https://www.pinta-project.com/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/pinta.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
Pinta for Kasm Workspaces
|
|
@ -0,0 +1,11 @@
|
|||
# About This Image
|
||||
|
||||
This Image contains a browser-accessible version of [qBittorrent](https://www.qbittorrent.org/).
|
||||
|
||||
![Screenshot][Image_Screenshot]
|
||||
|
||||
[Image_Screenshot]: https://5856039.fs1.hubspotusercontent-na1.net/hubfs/5856039/dockerhub/qbittorrent.png "Image Screenshot"
|
||||
|
||||
# Environment Variables
|
||||
|
||||
* `APP_ARGS` - Additional arguments to pass to the application when launched.
|
|
@ -0,0 +1 @@
|
|||
qBittorrent for Kasm Workspaces
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="atom --no-sandbox --disable-setuid-sandbox"
|
||||
PGREP="atom"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="Atom"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | apt-key add -
|
||||
echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" \
|
||||
> /etc/apt/sources.list.d/atom.list
|
||||
apt-get update
|
||||
apt-get install -y atom
|
||||
|
||||
# Desktop Icon
|
||||
cp /usr/share/applications/atom.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/atom.desktop
|
|
@ -0,0 +1,2 @@
|
|||
[GUI]
|
||||
ShowSplashScreen=0
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="audacity"
|
||||
PGREP="audacity"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="Audacity"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
apt-get install -y audacity
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# Default settings and desktop icon
|
||||
mkdir -p $HOME/.audacity-data/
|
||||
cp /dockerstartup/install/audacity/audacity.cfg $HOME/.audacity-data/
|
||||
cp /usr/share/applications/audacity.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/audacity.desktop
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="deluge"
|
||||
PGREP="deluge"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="Deluge"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:deluge-team/stable
|
||||
apt-get update
|
||||
apt-get install -y deluge
|
||||
|
||||
# Desktop Icon
|
||||
cp /usr/share/applications/deluge.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/deluge.desktop
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="filezilla"
|
||||
PGREP="filezilla"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="FileZilla"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,139 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<FileZilla3 version="3.46.3" platform="*nix">
|
||||
<Settings>
|
||||
<Setting name="Use Pasv mode">1</Setting>
|
||||
<Setting name="Limit local ports">0</Setting>
|
||||
<Setting name="Limit ports low">6000</Setting>
|
||||
<Setting name="Limit ports high">7000</Setting>
|
||||
<Setting name="Limit ports offset">0</Setting>
|
||||
<Setting name="External IP mode">0</Setting>
|
||||
<Setting name="External IP"></Setting>
|
||||
<Setting name="External address resolver">http://ip.filezilla-project.org/ip.php</Setting>
|
||||
<Setting name="Last resolved IP"></Setting>
|
||||
<Setting name="No external ip on local conn">1</Setting>
|
||||
<Setting name="Pasv reply fallback mode">0</Setting>
|
||||
<Setting name="Timeout">20</Setting>
|
||||
<Setting name="Logging Debug Level">0</Setting>
|
||||
<Setting name="Logging Raw Listing">0</Setting>
|
||||
<Setting name="fzsftp executable"></Setting>
|
||||
<Setting name="fzstorj executable"></Setting>
|
||||
<Setting name="Allow transfermode fallback">1</Setting>
|
||||
<Setting name="Reconnect count">2</Setting>
|
||||
<Setting name="Reconnect delay">5</Setting>
|
||||
<Setting name="Enable speed limits">0</Setting>
|
||||
<Setting name="Speedlimit inbound">1000</Setting>
|
||||
<Setting name="Speedlimit outbound">100</Setting>
|
||||
<Setting name="Speedlimit burst tolerance">0</Setting>
|
||||
<Setting name="Preallocate space">0</Setting>
|
||||
<Setting name="View hidden files">0</Setting>
|
||||
<Setting name="Preserve timestamps">0</Setting>
|
||||
<Setting name="Socket recv buffer size (v2)">4194304</Setting>
|
||||
<Setting name="Socket send buffer size (v2)">262144</Setting>
|
||||
<Setting name="FTP Keep-alive commands">0</Setting>
|
||||
<Setting name="FTP Proxy type">0</Setting>
|
||||
<Setting name="FTP Proxy host"></Setting>
|
||||
<Setting name="FTP Proxy user"></Setting>
|
||||
<Setting name="FTP Proxy password"></Setting>
|
||||
<Setting name="FTP Proxy login sequence"></Setting>
|
||||
<Setting name="SFTP keyfiles"></Setting>
|
||||
<Setting name="SFTP compression">0</Setting>
|
||||
<Setting name="Proxy type">0</Setting>
|
||||
<Setting name="Proxy host"></Setting>
|
||||
<Setting name="Proxy port">0</Setting>
|
||||
<Setting name="Proxy user"></Setting>
|
||||
<Setting name="Proxy password"></Setting>
|
||||
<Setting name="Logging file"></Setting>
|
||||
<Setting name="Logging filesize limit">10</Setting>
|
||||
<Setting name="Logging show detailed logs">0</Setting>
|
||||
<Setting name="Size format">3</Setting>
|
||||
<Setting name="Size thousands separator">1</Setting>
|
||||
<Setting name="Size decimal places">1</Setting>
|
||||
<Setting name="TCP Keepalive Interval">15</Setting>
|
||||
<Setting name="Cache TTL">600</Setting>
|
||||
<Setting name="Number of Transfers">2</Setting>
|
||||
<Setting name="Ascii Binary mode">0</Setting>
|
||||
<Setting name="Auto Ascii files">am|asp|bat|c|cfm|cgi|conf|cpp|css|dhtml|diz|h|hpp|htm|html|in|inc|java|js|jsp|lua|m4|mak|md5|nfo|nsi|pas|patch|pem|php|phtml|pl|po|py|qmail|sh|sha1|sha256|sha512|shtml|sql|svg|tcl|tpl|txt|vbs|xhtml|xml|xrc</Setting>
|
||||
<Setting name="Auto Ascii no extension">1</Setting>
|
||||
<Setting name="Auto Ascii dotfiles">1</Setting>
|
||||
<Setting name="Language Code"></Setting>
|
||||
<Setting name="Concurrent download limit">0</Setting>
|
||||
<Setting name="Concurrent upload limit">0</Setting>
|
||||
<Setting name="Update Check">1</Setting>
|
||||
<Setting name="Update Check Interval">7</Setting>
|
||||
<Setting name="Last automatic update check"></Setting>
|
||||
<Setting name="Last automatic update version"></Setting>
|
||||
<Setting name="Update Check New Version"></Setting>
|
||||
<Setting name="Update Check Check Beta">0</Setting>
|
||||
<Setting name="Show debug menu">0</Setting>
|
||||
<Setting name="File exists action download">0</Setting>
|
||||
<Setting name="File exists action upload">0</Setting>
|
||||
<Setting name="Allow ascii resume">0</Setting>
|
||||
<Setting name="Greeting version">3.46.3</Setting>
|
||||
<Setting name="Greeting resources"></Setting>
|
||||
<Setting name="Onetime Dialogs"></Setting>
|
||||
<Setting name="Show Tree Local">1</Setting>
|
||||
<Setting name="Show Tree Remote">1</Setting>
|
||||
<Setting name="File Pane Layout">0</Setting>
|
||||
<Setting name="File Pane Swap">0</Setting>
|
||||
<Setting name="Filelist directory sort">0</Setting>
|
||||
<Setting name="Filelist name sort">1</Setting>
|
||||
<Setting name="Queue successful autoclear">0</Setting>
|
||||
<Setting name="Local filelist sortorder">0 0</Setting>
|
||||
<Setting name="Remote filelist sortorder">0 0</Setting>
|
||||
<Setting name="Time Format"></Setting>
|
||||
<Setting name="Date Format"></Setting>
|
||||
<Setting name="Show message log">1</Setting>
|
||||
<Setting name="Show queue">1</Setting>
|
||||
<Setting name="Default editor"></Setting>
|
||||
<Setting name="Always use default editor">0</Setting>
|
||||
<Setting name="Inherit system associations">1</Setting>
|
||||
<Setting name="Custom file associations"></Setting>
|
||||
<Setting name="Comparison mode">1</Setting>
|
||||
<Setting name="Comparison threshold">1</Setting>
|
||||
<Setting name="Site Manager position"></Setting>
|
||||
<Setting name="Icon theme">default</Setting>
|
||||
<Setting name="Icon scale">125</Setting>
|
||||
<Setting name="Timestamp in message log">0</Setting>
|
||||
<Setting name="Sitemanager last selected"></Setting>
|
||||
<Setting name="Local filelist shown columns">1111</Setting>
|
||||
<Setting name="Remote filelist shown columns">111111</Setting>
|
||||
<Setting name="Local filelist column order">0,1,2,3</Setting>
|
||||
<Setting name="Remote filelist column order">0,1,2,3,4,5</Setting>
|
||||
<Setting name="Filelist status bar">1</Setting>
|
||||
<Setting name="Filter toggle state">0</Setting>
|
||||
<Setting name="Show quickconnect bar">1</Setting>
|
||||
<Setting name="Messagelog position">0</Setting>
|
||||
<Setting name="File doubleclick action">0</Setting>
|
||||
<Setting name="Dir doubleclick action">0</Setting>
|
||||
<Setting name="Minimize to tray">0</Setting>
|
||||
<Setting name="Search column widths"></Setting>
|
||||
<Setting name="Search column shown"></Setting>
|
||||
<Setting name="Search column order"></Setting>
|
||||
<Setting name="Search window size"></Setting>
|
||||
<Setting name="Comparison hide identical">0</Setting>
|
||||
<Setting name="Search sort order"></Setting>
|
||||
<Setting name="Edit track local">1</Setting>
|
||||
<Setting name="Prevent idle sleep">1</Setting>
|
||||
<Setting name="Filteredit window size"></Setting>
|
||||
<Setting name="Enable invalid char filter">1</Setting>
|
||||
<Setting name="Invalid char replace">_</Setting>
|
||||
<Setting name="Already connected choice">0</Setting>
|
||||
<Setting name="Edit status dialog size"></Setting>
|
||||
<Setting name="Display current speed">0</Setting>
|
||||
<Setting name="Toolbar hidden">0</Setting>
|
||||
<Setting name="Strip VMS revisions">0</Setting>
|
||||
<Setting name="Startup action">0</Setting>
|
||||
<Setting name="Prompt password save">1</Setting>
|
||||
<Setting name="Persistent Choices">0</Setting>
|
||||
<Setting name="Queue completion action">1</Setting>
|
||||
<Setting name="Queue completion command"></Setting>
|
||||
<Setting name="Drag and Drop disabled">0</Setting>
|
||||
<Setting name="Disable update footer">0</Setting>
|
||||
<Setting name="Master password encryptor"></Setting>
|
||||
<Setting name="Config Location">/home/kasm-user/.config/filezilla/</Setting>
|
||||
<Setting name="Kiosk mode">0</Setting>
|
||||
<Setting name="Disable update check">1</Setting>
|
||||
<Setting name="Cache directory"></Setting>
|
||||
</Settings>
|
||||
</FileZilla3>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
apt-get install -y filezilla
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# Default settings and desktop icon
|
||||
mkdir -p $HOME/.config/filezilla
|
||||
cp /dockerstartup/install/filezilla/filezilla.xml $HOME/.config/filezilla
|
||||
cp /usr/share/applications/filezilla.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/filezilla.desktop
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="inkscape"
|
||||
PGREP="inkscape"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="Inkscape"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,13 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:inkscape.dev/stable
|
||||
apt-get update
|
||||
apt-get install -y inkscape
|
||||
|
||||
# Default settings and desktop icon
|
||||
cp /usr/share/applications/org.inkscape.Inkscape.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/org.inkscape.Inkscape.desktop
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="pinta"
|
||||
PGREP="pinta"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="Pinta"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
apt-get update
|
||||
|
||||
apt-get install -y pinta
|
||||
rm -rf \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# Default settings and desktop icon
|
||||
cp /usr/share/applications/pinta.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/pinta.desktop
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
START_COMMAND="qbittorrent --no-splash"
|
||||
PGREP="qbittorrent"
|
||||
export MAXIMIZE="true"
|
||||
export MAXIMIZE_NAME="qBittorrent"
|
||||
MAXIMIZE_SCRIPT=$STARTUPDIR/maximize_window.sh
|
||||
DEFAULT_ARGS=""
|
||||
ARGS=${APP_ARGS:-$DEFAULT_ARGS}
|
||||
|
||||
options=$(getopt -o gau: -l go,assign,url: -n "$0" -- "$@") || exit
|
||||
eval set -- "$options"
|
||||
|
||||
while [[ $1 != -- ]]; do
|
||||
case $1 in
|
||||
-g|--go) GO='true'; shift 1;;
|
||||
-a|--assign) ASSIGN='true'; shift 1;;
|
||||
-u|--url) OPT_URL=$2; shift 2;;
|
||||
*) echo "bad option: $1" >&2; exit 1;;
|
||||
esac
|
||||
done
|
||||
shift
|
||||
|
||||
# Process non-option arguments.
|
||||
for arg; do
|
||||
echo "arg! $arg"
|
||||
done
|
||||
|
||||
FORCE=$2
|
||||
|
||||
kasm_exec() {
|
||||
if [ -n "$OPT_URL" ] ; then
|
||||
URL=$OPT_URL
|
||||
elif [ -n "$1" ] ; then
|
||||
URL=$1
|
||||
fi
|
||||
|
||||
# Since we are execing into a container that already has the browser running from startup,
|
||||
# when we don't have a URL to open we want to do nothing. Otherwise a second browser instance would open.
|
||||
if [ -n "$URL" ] ; then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $OPT_URL
|
||||
else
|
||||
echo "No URL specified for exec command. Doing nothing."
|
||||
fi
|
||||
}
|
||||
|
||||
kasm_startup() {
|
||||
if [ -n "$KASM_URL" ] ; then
|
||||
URL=$KASM_URL
|
||||
elif [ -z "$URL" ] ; then
|
||||
URL=$LAUNCH_URL
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_CUSTOM_STARTUP" ] || [ -n "$FORCE" ] ; then
|
||||
|
||||
echo "Entering process startup loop"
|
||||
set +x
|
||||
while true
|
||||
do
|
||||
if ! pgrep -x $PGREP > /dev/null
|
||||
then
|
||||
/usr/bin/filter_ready
|
||||
/usr/bin/desktop_ready
|
||||
set +e
|
||||
bash ${MAXIMIZE_SCRIPT} &
|
||||
$START_COMMAND $ARGS $URL
|
||||
set -e
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
set -x
|
||||
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
if [ -n "$GO" ] || [ -n "$ASSIGN" ] ; then
|
||||
kasm_exec
|
||||
else
|
||||
kasm_startup
|
||||
fi
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
apt-get update
|
||||
apt-get install -y software-properties-common
|
||||
|
||||
add-apt-repository -y ppa:qbittorrent-team/qbittorrent-stable
|
||||
apt-get update
|
||||
apt-get install -y qbittorrent
|
||||
|
||||
# Default settings and desktop icon
|
||||
mkdir -p $HOME/.config/qBittorrent
|
||||
cp /dockerstartup/install/qbittorrent/qBittorrent.conf $HOME/.config/qBittorrent
|
||||
cp /usr/share/applications/org.qbittorrent.qBittorrent.desktop $HOME/Desktop/
|
||||
chmod +x $HOME/Desktop/org.qbittorrent.qBittorrent.desktop
|
|
@ -0,0 +1,2 @@
|
|||
[LegalNotice]
|
||||
Accepted=true
|
Loading…
Reference in New Issue