2.0.0 work

This commit is contained in:
2026-03-03 14:31:05 -05:00
parent dc231502eb
commit 93af24430a
4 changed files with 76 additions and 30 deletions

View File

@@ -19,7 +19,7 @@ else
# Use workstation args # Use workstation args
chromargs="--test-type --ignore-certificate-errors --start-fullscreen --no-first-run --check-for-update-interval=1 --simulate-upgrade --incognito" chromargs="--test-type --ignore-certificate-errors --start-fullscreen --no-first-run --check-for-update-interval=1 --simulate-upgrade --incognito"
fi fi
if ! chromium $chromargs $url if ! chromium $chromargs $url >/dev/null 2>&1
then then
kiosk_cleanup.sh kiosk_cleanup.sh
xmessage -buttons "Ok:1" -center "Failed to retrieve web page." xmessage -buttons "Ok:1" -center "Failed to retrieve web page."

View File

@@ -15,7 +15,7 @@ source $conf_file
if echo "$url" | grep -q '^file:' if echo "$url" | grep -q '^file:'
then then
filepath=$(echo "$server_url"|cut -d"/" -f2-) filepath=$(echo "$server_url"|cut -d"/" -f2-)
xpdf -fullscreen -cont -z width $filepath xpdf -fullscreen -cont -z width $filepath >/dev/null 2>&1
else else
if ! wget -q -O /dev/shm/target.pdf $url if ! wget -q -O /dev/shm/target.pdf $url
then then
@@ -23,7 +23,7 @@ else
xmessage -buttons "Ok:1" -center "Failed to retrieve pdf file." xmessage -buttons "Ok:1" -center "Failed to retrieve pdf file."
exit 1 exit 1
else else
xpdf -fullscreen -cont -z width /dev/shm/target.pdf xpdf -fullscreen -cont -z width /dev/shm/target.pdf >/dev/null 2>&1
fi fi
fi fi

View File

@@ -183,7 +183,7 @@ debuglog "Monitoring for URL and config file changes..."
debuglog "Reading config file" debuglog "Reading config file"
source $conf_file source $conf_file
if ! pgrep $ALIVE_STRING if ! pgrep $ALIVE_STRING >/dev/null 2>&1
then then
# relaunch application if it terminates # relaunch application if it terminates
if $krestart if $krestart

View File

@@ -112,27 +112,6 @@ function install_x_server() {
fi fi
} }
function install_chromium() {
# Try to install chromium-browser package, but if that fails, add
# repository and install chromium package
echo "Installing chromium..."
while ! apt-get install -y chromium > /dev/null 2>&1
do
if add-apt-repository ppa:xtradeb/apps -y
then
echo "added chromium repository"
echo ""
else
echo "A problem was encountered during installation."
echo "the command that failed was:"
echo " add-apt-repository ppa:xtradeb/apps -y"
abort_exit
fi
apt-get update
done
echo "...done."
}
function install_webmin() { function install_webmin() {
# Check for webmin installation and prompt for install # Check for webmin installation and prompt for install
echo "" echo ""
@@ -331,8 +310,8 @@ function set_kiosk_url() {
function set_kiosk_type() { function set_kiosk_type() {
# Prompt for kiosk type # Prompt for kiosk type
echo "" echo ""
type_choice=false type_choice="none"
while !$type_choice while [[ "$type_choice" == "none" ]]
do do
echo "Will this kiosk be an interactive kiosk or a display-only kiosk?" echo "Will this kiosk be an interactive kiosk or a display-only kiosk?"
echo -n "[I]nteractive or [D]isplay-only? [I] :" echo -n "[I]nteractive or [D]isplay-only? [I] :"
@@ -359,11 +338,60 @@ function set_kiosk_type() {
;; ;;
*) *)
echo "Please enter I for interactive or D for display-only." echo "Please enter I for interactive or D for display-only."
type_choice="none"
;; ;;
esac esac
done done
} }
function install_required_packages() {
# Positional parameters supplied to this function should be quoted
# apt-get installable package names.
# Note: Each package supplied to the for loop below can either be a
# single package name or a list of alternatives separated by the word "or".
# If supplying a list, the last one in the list will be the one that
# gets installed.
for prereq in "$@"
do
echo "Checking for $prereq installation..."
gpattern=""
for pkg_option in $(echo $prereq)
do
if [ "$pkg_option" != "or" ]
then
gpattern+=" -e $pkg_option"
preferred_pkg=$pkg_option
fi
done
if dpkg -l|grep $gpattern >/dev/null 2>&1
then
echo "$prereq is installed. Continuing."
else
echo "$APP_NAME requires $prereq, but it doesn't seem to be installed. "
echo -n "Install $preferred_pkg now? [Y/n]: "
read reqinstall
if [ "$reqinstall" = "N" -o "$reqinstall" = "n" ]
then
echo "$APP_NAME requires $prereq, but you have elected not to install it."
echo "Installation cannot continue."
abort_exit
else
echo ""
echo "Proceeding with $preferred_pkg installation"
echo ""
sleep 3
apt-get install -y $preferred_pkg
echo ""
echo "Finished with $preferred_pkg installation"
echo ""
sleep 3
fi
fi
done
}
# -------------- Begin execution -------------- # -------------- Begin execution --------------
privilege_check privilege_check
@@ -438,6 +466,8 @@ echo ""
echo "Preparing for $kconfig installation. Please wait..." echo "Preparing for $kconfig installation. Please wait..."
disable_unattended_upgrades disable_unattended_upgrades
apt-get update -qq
install_required_packages "chromium" "xpdf"
# Determine OS Release version # Determine OS Release version
echo -n "OS information: " echo -n "OS information: "
@@ -446,7 +476,7 @@ cat /etc/os-release
echo "" echo ""
sleep 5 sleep 5
chmod +x usr/local/bin/* chmod +x distfiles/usr/local/bin/*
case "$kconfig" in case "$kconfig" in
"standalone") "standalone")
@@ -468,7 +498,6 @@ case "$kconfig" in
install_rpi5_gl install_rpi5_gl
fi fi
install_x_server install_x_server
install_chromium
install_webmin install_webmin
install_cups install_cups
create_standalone_user create_standalone_user
@@ -477,6 +506,10 @@ case "$kconfig" in
echo "" echo ""
echo "Kiosk configuration is now complete. " echo "Kiosk configuration is now complete. "
echo "" echo ""
echo "For standalone installation:"
echo " - You can change the configuration by editing the configuration file:"
echo " /etc/openkiosk/openkiosk.conf"
echo ""
echo "The system must be rebooted for the configuration to take effect." echo "The system must be rebooted for the configuration to take effect."
echo "" echo ""
read -p "Would you like to reboot now? [Y/n]: " -r rebootok read -p "Would you like to reboot now? [Y/n]: " -r rebootok
@@ -493,15 +526,28 @@ case "$kconfig" in
# Copy in the needed files # Copy in the needed files
echo "Copying files..." echo "Copying files..."
cp -vf distfiles/usr/local/bin/* /usr/local/bin cp -vf distfiles/usr/local/bin/* /usr/local/bin
mkdir -p /etc/openkiosk
cp -vf distfiles/etc/openkiosk/openkiosk.conf /etc/openkiosk/ cp -vf distfiles/etc/openkiosk/openkiosk.conf /etc/openkiosk/
cp -vf distfiles/etc/openkiosk/openkiosk_welcome.html /etc/openkiosk/ cp -vf distfiles/etc/openkiosk/openkiosk_welcome.html /etc/openkiosk/
install_chromium
install_cups install_cups
set_kiosk_url set_kiosk_url
set_kiosk_type set_kiosk_type
echo "" echo ""
echo "Kiosk configuration is now complete. " echo "Kiosk configuration is now complete. "
echo "" echo ""
echo "For standalone installation:"
echo " - You can change the configuration by editing the configuration file:"
echo " /etc/openkiosk/openkiosk.conf"
echo " - Reboot the system to launch OpenKiosk."
echo ""
echo "For workstation installation:"
echo " - You can change the configuration by editing the configuration file:"
echo " /etc/openkiosk/openkiosk.conf"
echo " - Type openkiosk at a shell prompt to run it, or create a launcher for it."
echo " The executable is /usr/local/bin/openkiosk."
echo ""
echo ""
echo "Enjoy!"
clean_exit clean_exit
;; ;;
*) *)