Terminal
Setup
- Ubuntu 24.04 Server
- minified install
- proper network config (set ETHs optional)
- add ssh keys
- disable password auth
- add fbcon=rotate:1 to GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1"
- hit update-grub
- apt update && apt upgrade && apt -y install less nano lightdm lightdm-autologin-greeter
- adduser public
- edit /etc/lightdm/lightdm.conf.d/lightdm-autologin-greeter.conf
# you really have to configure the below, otherwise
# LightDM auto-login will fail...
autologin-user=public
# put any session from /usr/share/xsessions (strip .desktop from the file names there)
# here, if you want to run any other session than x-session-manager
autologin-session=e2od
- add /etc/lightdm/lightdm.conf.d/99-custom.conf
[Seat:*]
greeter-session=lightdm-autologin-greeter
- add /usr/share/xsessions/e2od.desktop
[Desktop Entry]
Name=Kiosk Browser Session
Comment=Kiosk Browser
Exec=/usr/share/xsessions/kiosk.sh
TryExec=/usr/bin/chromium-browser
Type=Application
- add /usr/share/xsessions/kiosk.sh
#!/usr/bin/env bash
# place this file in
# /usr/share/xsessions/kiosk.sh
# and make it executable
# switch off power management and screen saver
xset -dpms
xset s off
xrandr -o right
xinput set-prop "10" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
xinput set-prop "11" --type=float "Coordinate Transformation Matrix" 0 1 0 -1 0 1 0 0 1
# detect screen size
#SIZE=`xrandr | awk '/\*\+/ {print $1}' | sed 's/x/,/' `
SLEEPTIME="0.2s"
STARTURL="http://example.com"
# restart browser if stopped
while true; do
chromium-browser --incognito --no-first-run --no-message-box \
--noerrdialogs --disable-translate --default-browser \
--start-maximized --window-position=0,0 --window-size=1200,1920 \
--no-default-browser-check --kiosk $STARTURL
sleep $SLEEPTIME;
done
- chmod +x /usr/share/xsessions/kiosk.sh
sketching
toggle display
- xset -display :0.0 dpms force on
- xset -display :0.0 dpms force off