This document presents the important changes made to each KioskForge release from v0.18 onwards:
sound_card=auto option now prefers USB sound cards
over the built-in sound cards so that it is more flexible. To enable an
USB sound card, you need to plug it in and reboot the kiosk. To disable
it, you need to power down the kiosk and unplug it.sound_card option now also allows the use of the
value usb. We recommend that you use
sound_card=auto unless you have to force a specific
card.Application), and the .kiosk file using a
microSD-card, an USB-key, or SFTP. KioskForge now looks for
KioskForge*.zip, Application.zip, and
KioskForge.kiosk in the root of the boot partition and on
plugged-in USB-keys, and in the /home/kiosk/ folder on the
system partition (this is for SFTP). This is done whenever the kiosk is
rebooted. To upgrade KioskForge, you must also upgrade
the .kiosk file. The feature is very new so be
careful!user_folder and user_fonts
options have been removed. KioskForge now always checks if there is a
folder named Application in the folder that contains the
.kiosk file. If so, it is copied to the kiosk during the
forge process. Similarly, the forge process now installs all TrueType
(*.ttf) fonts found in the application folder, if it
exists.sudo as the kiosk user. Just a small oversigt
on my part, but the kiosk itself runs great.sudo poweroff), then
deploy it. There is a two-minute delay upon boot that I have not yet
managed to eliminate, but once systemd's wait-network-online service
times out, the kiosk continues to boot.sudo permission. To change the root password, use the
sudo passwd command as the kiosk user.mouse=auto option has been fixed and tested (I
did not have a touchscreen available when I wrote the code).sound_card option now also takes the value
auto, which means "Use the jack on a Pi 4B and hdmi1 on
a PI 5".device option has been removed as experience shows
that end-users always forget to change it when they switch between a Pi
4B and a Pi 5. The forge process now detects the kind of board on the
running kiosk instead.visible option has been renamed to
managed to better explain its purpose: To allow KioskForge
to manage the kiosk. Enabling the managed option makes the
future GUI capable of managing (upgrading, rebooting, powering off,
etc.) the kiosk by enabling a tiny broadcast server at boot and by
installing an SSH public key for the root (Administrator)
account so that KioskForge can control the kiosk.ssh_key option has been renamed to
ssh_key_public as ssh_key_private has been
added to ensure that end-users don't loose their private key.hostname option is
empty now includes a separating dash between kiosk and the
number: kiosk-34271. It is strongly recommended that you
specify a hostname, though, as this makes it easy to see the purpose of
the kiosk in smarter routers.mouse option now supports a third value,
auto, which causes the kiosk to automatically detect
whether the mouse should be enabled. If a touchscreen is detected, the
mouse will be deactivated so that no mouse cursor is displayed.
Otherwise, the mouse will be disabled. The auto setting is
the recommended setting for all kiosks going forward. This solves the
problem of developing the kiosk without a touchscreen (mouse=true) and
then deploying it to a kiosk with a touchscreen (mouse=false), only to
forget the mouse option, which means you have to edit the .kiosk file
and forge a new kiosk just because of a tiny mistake.shell user has been retired because it was tedious
to log in as the shell user and then use su kiosk to access
the kiosk.mpv video player by adding the options:
--vo=gpu, --hwdec=v4l2m2m, and, optionally,
--profile=fast. You need to add the mpv
package to your user_packages setting.update_time option..kiosk file,
such as conflicting and meaningless options for the given device.user_fonts option (this is a Boolean setting).user_folder.cron job files were
corrected so that they're owned by root.type=x11) so that
the kiosk command option launches a pure X11
application.comment option
slightly.KioskForge.py prepare to accept an optional extra
argument that specifies the target location. This way, KioskForge can
also be used on Linux and Mac, albeit without automatic detection of the
installation medium's location.KioskForge.py
command to now describe all four variants.Releases feature.visible option was added that specifies whether
the kiosk is discoverable by KioskForge itself.KioskForge apply command to
prepare, as it really prepares an installation medium for
use.KioskForge on the installation medium for security
reasons.user_name kiosk configuration field has been
removed as KioskForge now creates two users: kiosk and
shell. The kiosk user is used to launch and
run the kiosk. It is not possible to log in via SSH as that user. The
shell user is intended for SSH logins to the kiosk if you
need to inspect or modify it after deployment.KioskForge.py crashed if an
unknown option was encountered (even if it was known in an earlier
version).user_options option to
chromium_autoplay to make life simpler for everybody. It
enables autoplay in Chromium without user interaction, such as
clicking the Play button.KioskForge.py's verify and
upgrade commands now take a file OR a folder. If a folder,
all .kiosk files in it are verified or upgraded
(recursively). The command will stop on the first failed file
encountered.Start menu:
License and Read me.pip.snap VFS corruption issue (in
long-running kiosks) has now, hopefully, been fixed (I could not
recreate the issue despite having both a Pi4B and a Pi5, trying for two
days, upgrading and rebooting thousands of times).wifi_country
values by forcing the value to be written in uppercase only
(us => US).KioskUpdate.py did not
update Linux kernels as it should. Everything should now be upgraded
correctly.CUPS) was reinstalled whenever Chromium was upgraded.Start menu
group that contains links to the various documentation files and to a
template kiosk file. You can open it by right-clicking it and selecting
Edit, then Save as when you want to save.CMD.EXE). A TUI version is being worked
on, but this is a fairly low-priority feature.KioskForge.exe program
in your Start menu, you can simply uninstall and reinstall
KioskForge; this should remove the stale link. If not, you can delete
the link manually (by right-clicking it and selecting
Delete).~/.hushlogin). Thus, SSHing into the kiosk will show
nothing.README.html has been renamed to
Manual.html; this only affects those who actually dug out
the file from the app folder.GUIDE.html has been renamed to Guide.html;
this only affects those who actually dug out the file from the app
folder.KioskZipper.py has been renamed
to KioskReport.py.KioskReport.py now generates a list of system units and
their statuses in case one or more systemd units fail.kiosk-disable-wifi-power-saving.sh is no longer
generated by the forge process and has been removed. The new script
KioskConfig.py now handles setting up the audio system (if
enabled) and disabling Wi-Fi power saving when wifi_boost
is True. This fixes the issue that Wi-Fi power saving was
only disabled during the boot that forged the kiosk, not during
subsequent boots.KioskSetup.py script now takes an optional
one-based step number, rather than the previous zero-based step
number.user_options has been added. This allows the
user to specify additional options for Google Chrome. The most
interesting option to add to Chrome is
--autoplay-policy=no-user-gesture-required, which allows a
video to start automatically when a given web page loads (normally, this
requires user interaction before the video can play). This is for making
single-video VideoLooper-style kiosks on Pi5, something which
VideoLooper does not yet support.wifi_country, was added because Wi-Fi 5G
networks mostly worked, but not always. This option specifies the host
country where the kiosk is located. It is a two-letter abbreviation
("us" = the US, "dk" = Denmark, etc.).wifi_hidden, was added because Linux
likes to know this beforehand, so it can scan more quickly or more
slowly depending on whether the Wi-Fi network is visible.KioskForge verify Example.kiosk command: it did not report
missing options, which meant KioskForge verify accepted kiosks that were
invalid because they lacked one or more fields (aka options).upgrade_post, which can be either
reboot or poweroff, has been added. This
option controls what the kiosk does after successfully performing
maintenance: reboot or power off.KioskForge.exe now supports four "subcommands". They
are: apply, create, upgrade, and
verify. These commands are currently only usable when
invoking KioskForge from the command line, so users who launch it by
double-clicking a kiosk file in Windows Explorer do not need to worry
about the new subcommands (double-clicking a kiosk file amounts to
KioskForge apply). The features offered by the new
subcommands will eventually be added to the work-in-progress GUI version
of KioskForge.README.html file has been expanded to include the
chapter Synopsis and revised several times.KioskForge Kiosk, has been added to
the Windows Explorer New menu. Use this to create a new
kiosk.cpu_boost option is now honored properly.
Previously, all kiosks were created as if cpu_boost was
always disabled..kiosk file in the program.C:\Program Files\KioskForge
is now much prettier than before.