Kiosk
Turn a Linux computer into a TV player for one web address, such as a Signage Player URL. It starts on power-up, fills the screen, recovers on its own, and needs no keyboard or mouse once it's set up.
Features
-
One command to install
Paste one line and answer a few questions. Press Enter to keep what's shown; a mistyped answer is simply asked again. Run it again later to change a setting.
-
Starts on power-up
Turn the computer on and the address fills the screen, with no desktop, login, first-run screens, "Restore pages?" bubbles or update nags.
-
Recovers on its own
If the browser closes, it's back within seconds. At start-up it waits for the address to answer, and a nightly restart keeps it fresh.
-
Plays offline with Signage
The browser's storage survives restarts, so a Signage TV that's turned on with no network still plays its slides, even on an
http://test server. -
Screen off at night
Turn the screen off and on at set times each day, which sends most TVs and monitors to sleep. Rotate the picture for portrait screens, or set the resolution.
-
Keeps itself up to date
Automatic security updates where the distribution has them, a daily browser update from Flathub, and
sudo kiosk updatefor Kiosk itself. -
Any hardware
An Intel or AMD mini PC, an old desktop or laptop, or a Raspberry Pi 5. Kiosk uses the distribution's own drivers and isn't tied to any device.
-
Managed by Rock (optional)
With the Kiosk Manager plugin for Rock RMS (coming soon), see every kiosk's health in Rock, change what it shows, and restart or reboot it. Rock never connects to the kiosk; the kiosk asks Rock each minute.
-
Free and open
MIT licensed. Every line is on GitHub, and
sudo kiosk uninstallremoves everything it added.
Install
-
Install a Linux distribution
Any of those under What you need. The server or "lite" edition is best; Kiosk turns off a desktop's login screen if there is one.
-
Connect it to the network, log in and run
curl -fsSL https://worksinallthings.com/kiosk/install.sh | bashIt asks for your password (with sudo). No curl? Use
wget -qO- https://worksinallthings.com/kiosk/install.sh | bash. You can read the script first. -
Answer the questions
The address to show (paste the Player URL), the time zone, the screen rotation, when to turn the screen off and on (optional) and when to restart each night (3:30 am unless you change it).
-
Restart
From then on the computer shows the address whenever it's turned on.
Without questions
Pass the answers, for example to set up many kiosks the same way:
curl -fsSL https://worksinallthings.com/kiosk/install.sh | bash -s -- --url https://rock.example.org/signage/tv/AbCdE --timezone central --yes --rebootWhat you need
Any 64-bit computer that runs Linux. NVIDIA graphics work, but videos are decoded by the processor, so pair them with a fast one. Some Wi-Fi cards need the distribution's non-free firmware.
| Minimum | Better | |
|---|---|---|
| Processor | 64-bit Intel/AMD, or a Raspberry Pi 4 or 5 | Intel N100 or newer, or a Raspberry Pi 5 |
| Memory | 4 GB | 8 GB |
| Storage | 16 GB (32 GB if the browser comes from Flathub) | 64 GB SSD |
| Graphics | Intel, AMD or Raspberry Pi | Intel (smooth video with very little CPU) |
| Distribution | Browser |
|---|---|
| Debian 12 or 13 | Debian's Chromium |
| Raspberry Pi OS Lite (64-bit) | Raspberry Pi's Chromium |
| Ubuntu 24.04 LTS or later, and Ubuntu-based ones (Linux Mint, Pop!_OS…) | Chromium from Flathub on Ubuntu; the distribution's Chromium on Mint |
| Fedora 41 or later | Chromium from Flathub |
| Arch Linux, and Arch-based ones | Arch's Chromium |
| openSUSE Tumbleweed or Leap | Chromium from Flathub |
It needs systemd and the apt, dnf, pacman or zypper package manager, so it doesn't run on image-based systems (Fedora Silverblue, SteamOS, Ubuntu Core) or on Alpine, Void or Gentoo. Tested on Ubuntu 26.04; the others are being tested.
Commands
To use these on a running kiosk, plug in a keyboard and press Ctrl+Alt+F2 for a login prompt (Ctrl+Alt+F1 goes back), or connect over SSH if you've set it up.
Settings are kept in /etc/kiosk/kiosk.conf. Running the installer again changes them and keeps anything you don't change.
Uninstall
sudo kiosk uninstall removes Kiosk's files, settings, timers and the kiosk user, and turns the console login (and any desktop login screen) back on. Packages it installed, such as cage and Chromium, are left in place.
kiosk status | Show what the kiosk is doing |
|---|---|
sudo kiosk url <address> | Show a different address |
sudo kiosk rotate 90 | Turn the picture for portrait (0, 90, 180 or 270) |
sudo kiosk resolution 1920x1080 | Set the resolution (auto for the screen's own best) |
sudo kiosk screen off | Turn the screen off (or on) now |
sudo kiosk screen schedule 22:00 06:00 | Turn the screen off and on at these times each day |
sudo kiosk restart-time 03:30 | Restart the computer each night (or off) |
sudo kiosk restart | Restart the browser |
sudo kiosk logs | Show recent messages |
sudo kiosk update | Update Kiosk to the latest release |
sudo kiosk uninstall | Remove Kiosk |
Troubleshooting
The screen is black
Run kiosk status and sudo kiosk logs, and check the address opens in a normal browser.
Black bars, or a blurry or slow picture
The screen's resolution isn't 16:9, or is higher than the computer needs. Run sudo kiosk resolution 1920x1080 (auto goes back). This also suits 4K TVs on small computers, and virtual machines such as Proxmox. For Signage, the display group's Fill the Screen setting fills the screen instead, trimming the edges.
How do I change the Wi-Fi?
Use the distribution's own tool, such as sudo nmtui where NetworkManager is installed, or sudo raspi-config on a Raspberry Pi. Kiosk leaves the network settings alone.
There's no sound
Sound goes to the HDMI output the system picks. Check the TV's volume and input. Videos play with sound without a click.
The install stopped with an error
The end of /var/log/kiosk-install.log is shown; the whole log has more. Running the installer again is safe.
Does it run Rock check-in?
No. Kiosk shows one web address, such as a Signage Player URL or a Parent Page number board. It isn't a check-in kiosk and has nothing to do with Rock's check-in devices.
Questions or problems?
Kiosk is free, so help is best-effort. Report a problem on GitHub with the output of kiosk status, your distribution and computer, or email us.