Description:

During workspace enhancement my forth monitor (Dell P1917S, square) was released from an important role of a special place for background tasks (OBS, YouTube etc.). Create an always running (independent of primary workspace) information panel - was a long-standing desire. What I got finally:

Overview:

overview

Components:

  1. Orange Pi One Plus. ARM Cortex-A53 with 4 cores and 1GB LPDDR3. Just enough for running Chromium.
  2. Armbian is a Linux distribution for embedded devices.
  3. Cage. A lightweight solution for single-app scenarios. Starts automatically on tty1.
  4. Chromium in kiosk mode.
  5. Tab Rotate is a chrome extension that switches tabs one by one, configuration can be fetched from a remote host, tabs can have different update and rotate intervals. Alert Control is a chrome extension that disables javascript alert function. It needs for disabling alerts from broadwyad backed applications. Ublock Origin is just for blocking ads.
  6. GTK applications inside kubernetes pods available from web browser. Example: gnome-chess. Broadway itself is not a very popular tech and doesn't provide any auth mechanisms. There is gas project that provides LDAP auth and spawns applications for every session/log-in.
  7. Jenkins CI/CD task for gathering data analytics from different sources (kafka, pandas etc.) and generate pages for Tab Rotate/Chromium.

Snippets:

root@opi1:~# cat /etc/systemd/system/getty@tty1.service.d/override.conf 
[Service]
ExecStart=
ExecStart=-/usr/sbin/agetty --autologin cage --noclear %I $TERM
root@opi1:~# grep cage /etc/passwd
cage:x:1000:1000::/home/cage:/home/cage/cage.sh

root@opi1:~# cat /home/cage/cage.sh 
#!/usr/bin/env bash

/usr/bin/cage -- /usr/bin/chromium \
        --enable-unsafe-webgpu \
        --enable-features=Vulkan,UseSkiaRenderer \
        --disk-cache-dir=/dev/null \
        --disk-cache-size=1 \
        --kiosk --start-fullscreen