KASM-5252 add kasmos desktop

This commit is contained in:
Matthew McClaskey 2024-04-29 01:01:34 +00:00 committed by Justin Travis
parent 086f8b7249
commit bde09ebb23
8 changed files with 167 additions and 3 deletions

View File

@ -723,6 +723,26 @@ singleImages:
- src/ubuntu/install/firefox/** - src/ubuntu/install/firefox/**
- src/ubuntu/install/cleanup/** - src/ubuntu/install/cleanup/**
- src/ubuntu/install/chrome/** - src/ubuntu/install/chrome/**
- name: kasmos-desktop
singleapp: false
base: core-kasmos
dockerfile: dockerfile-kasmos-desktop
changeFiles:
- src/ubuntu/install/chrome/**
- src/ubuntu/install/chromium/**
- src/ubuntu/intall/only_office/**
- src/ubuntu/install/libre_office/**
- src/ubuntu/install/misc/**
- src/kasmos/install/browser/**
- src/ubuntu/install/vs_code/**
- src/ubuntu/install/nextcloud/**
- src/ubuntu/install/remmina/**
- src/kasmos/install/office/**
- src/ubuntu/install/zoom/**
- src/ubuntu/install/thunderbird/**
- src/ubuntu/install/slack/**
- src/ubuntu/install/gamepad_utils/**
- src/ubuntu/install/cleanup/**
- name: postman - name: postman
singleapp: true singleapp: true
base: core-ubuntu-focal base: core-ubuntu-focal

52
dockerfile-kasmos-desktop Normal file
View File

@ -0,0 +1,52 @@
ARG BASE_TAG="develop"
ARG BASE_IMAGE="core-kasmos"
FROM kasmweb/$BASE_IMAGE:$BASE_TAG
USER root
ENV HOME /home/kasm-default-profile
ENV STARTUPDIR /dockerstartup
WORKDIR $HOME
### Envrionment config
ENV DEBIAN_FRONTEND=noninteractive \
SKIP_CLEAN=true \
KASM_RX_HOME=$STARTUPDIR/kasmrx \
DONT_PROMPT_WSL_INSTALL="No_Prompt_please" \
INST_DIR=$STARTUPDIR/install \
INST_SCRIPTS="/ubuntu/install/misc/install_tools.sh \
/kasmos/install/browser/install_browser.sh \
/ubuntu/install/vs_code/install_vs_code.sh \
/ubuntu/install/remmina/install_remmina.sh \
/kasmos/install/office/install_office_app.sh \
/ubuntu/install/zoom/install_zoom.sh \
/ubuntu/install/thunderbird/install_thunderbird.sh \
/ubuntu/install/slack/install_slack.sh \
/ubuntu/install/gamepad_utils/install_gamepad_utils.sh \
/ubuntu/install/cleanup/cleanup.sh"
# Copy install scripts
COPY ./src/ $INST_DIR
# Run installations
RUN \
for SCRIPT in $INST_SCRIPTS; do \
bash ${INST_DIR}${SCRIPT} || exit 1; \
done && \
$STARTUPDIR/set_user_permission.sh $HOME && \
rm -f /etc/X11/xinit/Xclients && \
chown 1000:0 $HOME && \
mkdir -p /home/kasm-user && \
chown -R 1000:0 /home/kasm-user && \
rm -Rf ${INST_DIR}
# Remove desktop shortcuts
RUN rm $HOME/Desktop/*.desktop \
&& sed -i 's#inode/directory;##g' /usr/share/applications/code.desktop
# Userspace Runtime
ENV HOME /home/kasm-user
WORKDIR $HOME
USER 1000
CMD ["--tail-log"]

View File

@ -0,0 +1,16 @@
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
if [ "$ARCH" == "amd64" ] ; then
bash ${INST_DIR}/ubuntu/install/chrome/install_chrome.sh
# Remove default app launchers
rm -f $HOME/Desktop/google-chrome.desktop
rm -f /usr/share/applications/browser.desktop
mv /usr/share/applications/google-chrome.desktop /usr/share/applications/browser.desktop
else
bash ${INST_DIR}/ubuntu/install/chromium/install_chromium.sh
rm -f $HOME/Desktop/chromium.desktop
rm -f /usr/share/applications/browser.desktop
mv /usr/share/applications/chromium.desktop /usr/share/applications/browser.desktop
fi

View File

@ -0,0 +1,13 @@
ARCH=$(arch | sed 's/aarch64/arm64/g' | sed 's/x86_64/amd64/g')
if [ "$ARCH" == "amd64" ] ; then
bash ${INST_DIR}/ubuntu/install/only_office/install_only_office.sh
# Remove default app launchers
rm -f $HOME/Desktop/onlyoffice-desktopeditors.desktop
rm -f /usr/share/applications/onlyoffice-desktopeditors.desktop
cp ${INST_DIR}/kasmos/resources/onlyoffice/*.desktop /usr/share/applications/
else
apt update
apt install -y libreoffice-plasma
fi

View File

@ -0,0 +1,21 @@
[Desktop Entry]
Version=1.0
Name=Docs
GenericName=Document Editor
Comment=Document Editor
Type=Application
Exec=/usr/bin/onlyoffice-desktopeditors --new=word %U
Terminal=false
Icon=application-msword
Keywords=Text;Document;OpenDocument Text;Microsoft Word;Microsoft Works;odt;doc;docx;rtf;
Categories=Office;WordProcessor;Spreadsheet;
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/oo-office;text/docxf;text/oform;
Actions=NewDocument;
[Desktop Action NewDocument]
Name=New Document
Name[de]=Neues Dokument
Name[fr]=Nouveau document
Name[es]=Documento nuevo
Name[ru]=Создать документ
Exec=/usr/bin/onlyoffice-desktopeditors --new:word

View File

@ -0,0 +1,21 @@
[Desktop Entry]
Version=1.0
Name=Slides
GenericName=Slide Deck Editor
Comment=Slide Deck Editor
Type=Application
Exec=/usr/bin/onlyoffice-desktopeditors --new=slide %U
Terminal=false
Icon=application-mspowerpoint
Keywords=Text;Document;OpenDocument Text;Microsoft Word;Microsoft Works;odt;doc;docx;rtf;
Categories=Office;
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/oo-office;text/docxf;text/oform;
Actions=NewPresentation;
[Desktop Action NewPresentation]
Name=New Presentation
Name[de]=Neue Präsentation
Name[fr]=Nouvelle présentation
Name[es]=Presentación nueva
Name[ru]=Создать презентацию
Exec=/usr/bin/onlyoffice-desktopeditors --new:slide

View File

@ -0,0 +1,21 @@
[Desktop Entry]
Version=1.0
Name=Sheets
GenericName=Spreadsheet Editor
Comment=Spreadsheet Editor
Type=Application
Exec=/usr/bin/onlyoffice-desktopeditors --new=cell %U
Terminal=false
Icon=application-x-excel
Keywords=Text;Document;OpenDocument Text;Microsoft Word;Microsoft Works;odt;doc;docx;rtf;
Categories=Office;WordProcessor;Spreadsheet;
MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;text/spreadsheet;application/csv;application/excel;application/x-excel;application/x-msexcel;application/x-ms-excel;text/comma-separated-values;text/tab-separated-values;text/x-comma-separated-values;text/x-csv;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slide;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;x-scheme-handler/oo-office;text/docxf;text/oform;
Actions=NewSpreadsheet;
[Desktop Action NewSpreadsheet]
Name=New Spreadsheet
Name[de]=Neues Tabellendokument
Name[fr]=Nouveau classeur
Name[es]=Hoja de cálculo nueva
Name[ru]=Создать эл.таблицу
Exec=/usr/bin/onlyoffice-desktopeditors --new:cell

View File

@ -7,10 +7,10 @@ if [ "$ARCH" == "arm64" ] ; then
echo "Only Office is not supported on arm64, skipping Only Office installation" echo "Only Office is not supported on arm64, skipping Only Office installation"
exit 0 exit 0
fi fi
curl -L -o only_office.deb "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_${ARCH}.deb" curl -L -o /tmp/only_office.deb "https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_${ARCH}.deb"
apt-get update apt-get update
apt-get install -y ./only_office.deb apt-get install -y /tmp/only_office.deb
rm -rf only_office.deb rm -rf /tmp/only_office.deb
# Desktop icon # Desktop icon
cp /usr/share/applications/onlyoffice-desktopeditors.desktop $HOME/Desktop cp /usr/share/applications/onlyoffice-desktopeditors.desktop $HOME/Desktop