
La modalità kiosk è una soluzione ideale quando si desidera trasformare un computer in un sistema dedicato, limitato all’esecuzione di un’unica applicazione o interfaccia.
Viene impiegata spesso in contesti come totem informativi, postazioni self-service, punti di accesso pubblico o sistemi di digital signage. Con l’arrivo di Ubuntu 24.04, la gestione della modalità kiosk è diventata ancora più stabile ed efficiente, grazie ai miglioramenti introdotti in GNOME, Wayland e nella gestione multi-monitor.
In questo articolo vedremo come realizzare un kiosk completo su Ubuntu 24.04, configurando un ambiente sicuro e bloccato, ottimizzato per l’utilizzo su doppio monitor.
Analizzeremo come creare un utente dedicato, automatizzare l’avvio dell’applicazione, gestire l’ambiente grafico e dirigere i contenuti sui due schermi in modo indipendente o coordinato.
Al termine, avrai una soluzione robusta, replicabile e pronta per essere utilizzata in ambito professionale o pubblico.
INSTALLAZIONE DEI PACCHETTI ESSENZIALI
|
0
1
|
sudo apt update
sudo apt install -y openssh-server vim wmctrl unclutter gnome-shell-extensions gnome-tweaks dbus-x11
|
IMPOSTAZIONE DELL’HOSTNAME
Impostare l’hostname con i seguenti comandi:
|
0
1
2
|
sudo hostnamectl set-hostname <hostname>
echo "<hostname>" | sudo tee /etc/hostname
sudo sed -i 's/127.0.1.1.*/127.0.1.1\t<hostname>/' /etc/hosts
|
Creare l’utente kiosk monitor con il comando:
|
0
1
|
sudo adduser monitor
sudo deluser monitor sudo
|
ABILITARE IL LOGIN AUTOMATICO + X11 (DISABILITA WAYLAND)
Editare il file custom.conf con il comando:
|
0 |
sudo vim /etc/gdm3/custom.conf
|
Aggiungere/modificare le seguenti righe:
|
0
1
2
3
|
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=monitor
WaylandEnable=false
|
DISATTIVARE LO SCREENSAVER E IL RISPARMIO ENERGETICO
Eseguire i comandi:
|
0
1
|
sudo -u monitor mkdir -p /home/monitor/.config/autostart
sudo -u monitor nano /home/monitor/.config/autostart/disable-screensaver.desktop
|
Di seguito il contenuto da incollare:
|
0
1
2
3
4
5
|
[Desktop Entry]
Type=Application
Exec=sh -c "xset s off; xset -dpms; xset s noblank; gsettings set org.gnome.desktop.session idle-delay 0; gsettings set org.gnome.desktop.screensaver lock-enabled false"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=Disable Screensaver
|
SCRIPT PER AVVIO FIREFOX SU DOPPIO MONITOR
Eseguire i comandi:
|
0
1
|
sudo -u monitor mkdir -p /home/monitor/bin
sudo -u monitor vim /home/monitor/bin/firefox-dual.sh
|
Di seguito il contenuto da incollare:
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
#!/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/monitor/.Xauthority
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
# Nascondi il cursore
unclutter -idle 0.01 -root &
# Nascondi barra laterale (dock GNOME)
gsettings set org.gnome.shell.extensions.dash-to-dock autohide true
gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed false
gsettings set org.gnome.shell.extensions.dash-to-dock intellihide false
gsettings set org.gnome.shell.extensions.dash-to-dock autohide-delay 0
gsettings set org.gnome.shell enable-hot-corners false
# Nascondi barra superiore (via override GTK CSS)
mkdir -p /home/monitor/.config/gtk-3.0
cat <<EOF > /home/monitor/.config/gtk-3.0/gtk.css
#panel {
background-color: transparent;
color: transparent;
box-shadow: none;
height: 0px;
margin: 0;
padding: 0;
}
EOF
# Avvio Firefox fullscreen su entrambi i monitor
sleep 10
firefox --new-window https://www.nposervices.com/ &
sleep 10
wmctrl -r "nposervices" -e 0,0,0,3840,2160
wmctrl -r "nposervices" -b add,maximized_vert,maximized_horz
firefox --new-window https://wikipedia.org &
sleep 10
wmctrl -r "Wikipedia" -e 0,3840,0,3840,2160
wmctrl -r "Wikipedia" -b add,maximized_vert,maximized_horz
# Disabilita input (KIOSK mode)
xinput disable 9
xinput disable 10
xinput disable 11
xinput disable 12
xinput disable 14
|
VERIFICA SEMPRE GLI ID CON XINPUT LIST PRIMA DI DISABILITARE DISPOSITIVI IN MODO PERMANENTE.
Rendere seguibile lo script con il comando:
|
0 |
sudo chmod +x /home/monitor/bin/firefox-dual.sh
|
AGGIUNGERE LO SCRIPT ALL’AVVIO DI GNOME
Eseguire il comando:
|
0 |
sudo -u monitor vim /home/monitor/.config/autostart/firefox-dual.desktop
|
Di seguito il contenuto da incollare:
|
0
1
2
3
4
5
|
[Desktop Entry]
Type=Application
Exec=/home/monitor/bin/firefox-dual.sh
Hidden=false
X-GNOME-Autostart-enabled=true
Name=Firefox Dual Monitor
|
PERMESSI FINALI
Eseguire il comando:
|
0 |
sudo chown -R monitor:monitor /home/monitor
|
RIAVVIARE IL SERVER
Eseguire il comando:
|
0 |
sudo reboot
|
TEST MANUALE (OPZIONALE)
Eseguire il comando:
|
0 |
sudo -u monitor DISPLAY=:0 /home/monitor/bin/firefox-dual.sh
|

0 commenti