-
Notifications
You must be signed in to change notification settings - Fork 0
Kiosk Base Setup
This script turns a fresh Linux Mint computer into a museum kiosk. It installs the software you'll need, sets up remote access (so you can control the computer from your desk), and configures the machine so it never sleeps or shows distracting popups.
Using a Raspberry Pi instead? See Kiosk Base Setup RPi.
- Download kiosk-base-setup.sh (right-click → "Save Link As")
- Open a terminal, navigate to where you saved it, and run:
chmod +x kiosk-base-setup.sh && ./kiosk-base-setup.sh - Enter the AnyDesk password when prompted, write down the AnyDesk ID at the end
- Clone your exhibit repo, run its
setup.sh, thensudo reboot
Read the rest of this page if you need more detail on any step.
- Linux Mint Cinnamon must already be installed on the computer. If it isn't, follow the Installing Mint guide first.
- The computer must be connected to the internet (Ethernet or Wi-Fi).
- You need an AnyDesk password ready. AnyDesk is a remote desktop app that lets you control this computer from anywhere. Ask your team lead if you don't have a password yet.
Right-click anywhere on the desktop and select "Open Terminal Here". You can also find "Terminal" in the application menu (bottom-left corner).
Option A: Click this link to download the file directly: kiosk-base-setup.sh (right-click → "Save Link As", save it somewhere you can find like the Desktop)
Option B: Or download it from the terminal:
wget https://raw.githubusercontent.com/wiki/jerusalem-science-museum/.github/kiosk-base-setup.shchmod +x kiosk-base-setup.sh && ./kiosk-base-setup.sh-
chmod +xmakes the file runnable (Linux requires this step). -
./kiosk-base-setup.shruns the script.
You'll be asked for your user password (for installing software) and then the AnyDesk password.
The script will ask you to type the AnyDesk password. The password won't appear on screen as you type — this is normal, it's a security feature. Just type it and press Enter.
If you want to skip setting up the password now, just press Enter without typing anything.
The script will print a summary of everything it did. Now:
- Write down the AnyDesk ID that was shown in the output. add it (and the password) to the list of anydesk devices in the excel sheet (ask a Museum employee for its location).
-
Clone your exhibit repository from github —
git clone <repo-url>
-
Run the exhibit's own setup script from inside the cloned folder:
cd <repo-folder> ./setup.sh
-
Reboot the computer:
The reboot applies the dialout group change and all autostart settings.
sudo reboot
"Permission denied" when running the script
- Did you run
chmod +x kiosk-base-setup.shfirst? - Are you logged in as a regular user (not root)?
AnyDesk won't install
- Check your internet connection.
- The download URL may have changed — see the section above.
apt install fails or hangs
- Run
sudo apt updatefirst, then try again. - Make sure you're connected to the internet.
USB/Serial device not recognized after setup
- Did you reboot? The dialout group change requires a reboot.
- Verify the group was added by running
groupsin the terminal — you should see "dialout" in the list.
Screen still turns off after a while
- The power settings only work on the Cinnamon desktop environment. If someone switched to a different desktop, the settings won't apply.
- Installing Mint — How to install the operating system
- Linux Utils and Useful Commands — Handy terminal commands for maintenance
- Networking and Remote Access — How to connect to kiosks remotely
The script runs 7 steps automatically. Here's what each one does:
Installs basic software the kiosks need:
| Package | What it does |
|---|---|
python3, python3-venv, python3-pip
|
Many exhibits are written in Python — this installs the Python language |
git |
Downloads exhibit code from GitHub |
unclutter |
Hides the mouse cursor so visitors don't see it on screen |
Some exhibits run as web pages displayed in Chromium (similar to Google Chrome). The script tries to install it using two different package names because different Mint versions use different names. This is handled automatically.
If your exhibit uses an Arduino or other microcontroller connected via USB, the computer needs permission to communicate with it. This step grants that permission by adding your user to the "dialout" group.
Important: This change only takes effect after you reboot the computer.
Installs AnyDesk version 7.1.4 so you can control the kiosk remotely from your desk. At the end of this step, the script shows the AnyDesk ID — a number you'll need to connect to this kiosk.
The script downloads AnyDesk from a hardcoded URL. AnyDesk sometimes deprecates old download links, so this URL may stop working in the future. If that happens:
- Go to https://anydesk.com/en/downloads/linux
- Download the
.debfile for Ubuntu / Debian (64-bit) - Install it manually in the terminal:
sudo apt install ./anydesk_*.deb - Update the URL in
kiosk-base-setup.shso it works for the next person.
Linux Mint shows a welcome screen and update notifications every time you log in. On a kiosk, these popups would cover the exhibit. This step disables them at both the system level and the user level, so they stay disabled even after a Mint system update.
Kiosks run all day long — the screen must never turn off. This step disables all sleep, suspend, and screen-off timers so the display stays on 24/7.
Usually, we don't want to see the mouse pointer on the exhibit. This step sets up unclutter to automatically start when the computer boots. After 2 seconds without any mouse movement, the pointer disappears. It reappears the moment someone moves the mouse.
Kiosk Setup — Linux Mint
Kiosk Setup — Raspberry Pi
Development
Exhibits
Reference