From e4e3096ceea1a9163cc00b237a10fef7c94b2b82 Mon Sep 17 00:00:00 2001 From: jonas Date: Sun, 1 Oct 2023 22:21:01 +0200 Subject: [PATCH] first commit --- Dockerfile | 17 +++++++++++++++++ README.md | 15 +++++++++++++++ SMART_Notebook.png | Bin 0 -> 4517 bytes entrypoint.sh | 23 +++++++++++++++++++++++ install.sh | 23 +++++++++++++++++++++++ notebook-docker.desktop | 9 +++++++++ start.sh | 19 +++++++++++++++++++ 7 files changed, 106 insertions(+) create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 SMART_Notebook.png create mode 100644 entrypoint.sh create mode 100644 install.sh create mode 100644 notebook-docker.desktop create mode 100644 start.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..818bca0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM ubuntu:16.04 + +ARG DEBIAN_FRONTEND=noninteractive +RUN dpkg --add-architecture i386 && \ + apt-get update && \ + apt-get install sudo wget ca-certificates --no-install-recommends -y && \ + mkdir /opt/setup /usr/share/desktop-directories/ -p && \ + cd /opt/setup && \ + wget -O smart.tar.gz https://downloads.smarttech.com/software/nb/11linux/11_3sp4/debian/smart_software_deb_archive.tar.gz && \ + tar -xvf smart.tar.gz && \ + ( dpkg -i ./*.deb; true ) && \ + apt-get install -yf && \ + cd / && \ + rm -rf /opt/setup && \ + rm -rf /var/lib/apt/lists/* +COPY entrypoint.sh /entrypoint.sh +CMD bash /entrypoint.sh \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..7b291c3 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +Has this ever happened to you? +You paid massive amounts for digital whiteboards years ago and cannot use them with the included software on Linux now since the manufacturer only built the software up until 2019 when Ubuntu 16.04 was still the most up-to-date version to them, leading you to dependancy hell when trying to install their software on your shiny new Ubuntu install? + +Well, worry not! I've got just the thing for you~ + +# SMART Notebook 11 in Docker # + +This repository contains a Dockerfile and some helper files, which when build and installed, run SMART Notebook 11 SP4 on pretty much any Linux machine by installing SMART Notebook 11 from scratch into a base Ubuntu 16.04 Docker container and fowards both the hosts' X11 server connection and your home directory all neatly tucked away behind a .desktop file so you can just double click on a SMART Notebook 11 document and have it automagically open in the Docker SMART Notebook 11 container, all on your modern Ubuntu or Debian or whatever else you may have, without touching any of your system libraries with outdated packages and broken dependancies! + +## How to install ## +Just clone the repo with `git clone https://git.diskcat.com/Resneptacle/smart-notebook-11-docker.git`, then `cd smart-notebook-11-docker` and run the `install.sh` as user, NOT AS ROOT, e.g. with `bash install.sh`. + +This assumes that your own user is able to build and start Docker containers, if you haven't installed Docker yet or haven't configured it for your user account, see here: +- [Install Docker Engine](https://docs.docker.com/engine/install/) +- [Manage Docke4r as a non-root user](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) \ No newline at end of file diff --git a/SMART_Notebook.png b/SMART_Notebook.png new file mode 100644 index 0000000000000000000000000000000000000000..ef7a5d4855b48eb77eb68a35ff5da684f0229fd6 GIT binary patch literal 4517 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 D7/dev/null + +# TODO: Add /media to mapped directories to allow removable media + +# Run docker container +docker run \ + -v /tmp/.X11-unix:/tmp/.X11-unix \ + -v ${HOME}:${HOME} \ + -e DISPLAY=${DISPLAY} \ + -e HOME=${HOME} \ + -e USER=${USER} \ + -e UID=${UID} \ + -e GID=$(id -g ${USER}) \ + -e SMART_ARGS=${@} \ + -h ${HOSTNAME} \ + notebook-gui \ No newline at end of file