Skip to content

Kiosk Base Setup

Ariel Shumacher edited this page May 26, 2026 · 18 revisions

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.

TL;DR

  1. Download kiosk-base-setup.sh (right-click → "Save Link As")
  2. Open a terminal, navigate to where you saved it, and run:
    chmod +x kiosk-base-setup.sh && ./kiosk-base-setup.sh
  3. Enter the AnyDesk password when prompted, write down the AnyDesk ID at the end
  4. Open BIOS and make sure you have autoboot when power returns (location of option dependent on specific pc).
  5. Clone your exhibit repo, run its setup.sh, then reboot. (example setup.sh and example run.sh for simple python apps)

Read the rest of this page if you need more detail on any step.

Before You Start

  • 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.

How to Run the Script

Step 1: Open a Terminal

Right-click anywhere on the desktop and select "Open Terminal Here". You can also find "Terminal" in the application menu (bottom-left corner).

Step 2: Download the Script

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.sh

Step 3: Run the Script

chmod +x kiosk-base-setup.sh && ./kiosk-base-setup.sh
  • chmod +x makes the file runnable (Linux requires this step).
  • ./kiosk-base-setup.sh runs the script.

You'll be asked for your user password (for installing software) and then the AnyDesk password.

Step 4: Enter 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.

After the Script Finishes

The script will print a summary of everything it did. Now:

  1. 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).
  2. Enable autoboot on powerup -
    Reboot and open BIOS, go to the option that autoboots when power returns to the pc (location of setting depends on your specific pc, google it).
  3. Clone your exhibit repository from github
    git clone <repo-url>
  4. Run the exhibit's own setup script from inside the cloned folder:
    cd <repo-folder>
    ./setup.sh
  5. Reboot the computer:
    sudo reboot
    The reboot applies the dialout group change and all autostart settings.

Troubleshooting

"Permission denied" when running the script

  • Did you run chmod +x kiosk-base-setup.sh first?
  • 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 update first, 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 groups in 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.

See Also


appendix - What Each Step Does (and Why)

The script runs 7 steps automatically. Here's what each one does:

1. System Packages

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

2. Chromium Browser

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.

3. Dialout Group (USB/Serial Access)

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.

4. AnyDesk (Remote Access)

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.

If the AnyDesk download link stops working

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:

  1. Go to https://anydesk.com/en/downloads/linux
  2. Download the .deb file for Ubuntu / Debian (64-bit)
  3. Install it manually in the terminal:
    sudo apt install ./anydesk_*.deb
  4. Update the URL in kiosk-base-setup.sh so it works for the next person.

5. Disable Mint Welcome & Update Manager

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.

6. Disable Sleep and Screen Timeouts

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.

7. Hide Mouse Cursor (unclutter)

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.

Clone this wiki locally