FLAN Local-Access Notifier
Table of Contents: About | Setup | Configuring
FLAN (the FLAN Local-Access Notifier) is free digital signage software for computers running operating systems such as UNIX and GNU. It has been tested on Oracle Solaris 11.4 and Debian 13. It is written for use with the X11 display server, ensuring a very wide range of operating systems that it can run on. FLAN is written and maintained by Anton McClure. Release versions of FLAN can be found on my FTP server.
Please note that Wayland (and "XWayland") are not supported with FLAN, and they likely will never be supported.
This program was originally being written as a Perl script to send notifications via WALL(1) along with graphical notifications to GNOME/KDE/MATE/XFCE/LXDE/Etc. Eventually the goal of FLAN was changed to replace a similarly named calendar signage demo tool "AkroCal" (as in [University of] Akron Calendar) instead. It is currently in use at the University of Akron College of Business.
Below you may find instructions for installing Debian GNU/Linux and then FLAN. As most people using FLAN are not (likely) going to be software developers, this page assumes you are not (already) an experienced IT person. If you do have experience, you may skip to "configuring".
Setup
For this setup, we will be using the Debian GNU/Linux operating system, as it is what the University of Akron runs FLAN on. Start by booting the computer from your Debian 13 USB in UEFI mode. Once you are on the "Debian GNU/Linux UEFI Installer Menu", select "Advanced options ..." and then "... Expert install".
Select "Choose language" and pick your language followed by your country. Then select your locale. For the US with English, you will most likely want en_US.UTF-8. You can select another locale though, such as en_IE.UTF-8 or en_PH.UTF-8 if you wish to have terminology specific to other regions. Do not select additional locales.
Select "Configure the keyboard" and select the keyboard type you are using.
Select "Detect and mount installation media" and wait. Once it detects the install media, select "Load installer components from installation media" and do not select any of the extra components.
Select "Detect network hardware" and wait, then select "Configure the network". Have the system auto-configure networking. The default maximum link wait time should be sufficient. If you have multiple network devices, select the one you want to use. Once the network is set up, enter the hostname you wish to use. If you are setting this up for an organization, ask your IT administrator what he/she wants the device to be named. For example, the digital sign at room 101 of the College of Business in Akron is "ds-cob-cal101.uanet.edu".
Select "Set up users and passwords" and allow login as root without creating any normal user accounts. Normally it is a bad idea to use the root account for day-to-day activities, but you should not be using FLAN signage computers for day-to-day activities in the first place.
Select "Configure the clock", use NTP, and either keep the default or set your workplace's NTP server if you have one. Then select your timezone.
Select "Detect disks" and wait. Then select "Partition disks" and use "Guided - use entire disk" on your computer's internal hard drive or solid state drive. All of the files can be in one partition here. While it's normally good to use separate partitions, this machine is nothing permanent as FLAN can just simply get re-deployed. Once done, finish partitioning and write the changes to the disk.
Select "Install the base system" and wait. When it asks about the kernel to install, select "linux-image-amd64" and only use a targeted initrd that includes just the drivers needed for the computer you are running FLAN on.
Select "Configure the package manager" and use a network mirror. HTTP or HTTPS should work as FTP no longer functions with APT by default anymore. The default for your country should work unless your workplace has a local or preferred mirror. Select no for non-free firmware, non-free software, contrib software, and source repositories, as none of those are necessary. Select to get security updates from security.debian.org, but keep release updates and backports disabled, as neither have been tested with FLAN.
Select "Select and install software" and wait. Since this computer will be largely unattended, have it install security updates automatically. Normally, you would want to review security advisories and install updates manually, but here the automatic updating would be fine. It makes no difference what you select for the package usage survey. On the software selection screen, select just "standard system utilities" and nothing else.
Select "Install the GRUB boot loader", and force GRUB installation to the EFI removable media path, update NVRAM variables to automatically boot into Debian, do not have os-prober automatically detect other OSes, and then wait.
Select "Finish the installation". Set the system clock to UTC when it asks, and reboot the computer when prompted. Eject the USB on the POST screen.
Configuring
On the login screen, log into your root user.
Download FLAN from the FTP server. You may use ftp://antonm.org/software/flan.c to download the latest version.
Close to the top of the source code is an ifdef where the "else" sets various setting defaults. You can copy those to config.h and edit them there, or you can edit them directly here if you wish. The former would be better when new FLAN versions are released though, so you just need to download the latest code, recompile, and run.
You will want to install some essential packages via apt -- xorg xinit xfonts-{base,100dpi} build-essential libx{11,pm}-dev -- and you will be ready to compile and deploy FLAN once that is done.
Compile FLAN to your bin folder. At the College of Business, the
following command is used:gcc -O3 -Wall -Wextra
-D_FORTIFY_SOURCE=2 -fstack-protector-strong -Wl,--no-fatal-warnings
-o /path/for/flan flan.c -lXpm -lX11 -lxcb -lXau -lXdmcp
-ldl
If you also use systems like Oracle Solaris, you may use the Oracle
Developer Studio instead of GNU GCC if you prefer. The following
command was tested with the current Oracle Developer Studio release
(12.6) on Solaris 11.4 SRU 90:cc -xO3 -v -errtags=yes
-xsecure_code_analysis -D_FORTIFY_SOURCE=2 -xcheck=stkovf -o
/path/for/flan flan.c -lXpm -lX11 -lxcb -lXau -lXdmcp -ldl
-lm
If you see no errors, FLAN is now installed! You will now be able to use xinit to load it. If you want to automate any of this process, you may write a script to manage the post-installation and update/upgrade processes. For example, the College of Business has a installation BASH script that manages dependencies, downloads, compilations, and installations. The script also provides a SystemD script to load the signage on boot.