Add timezone confiruation to system menu.
This commit is contained in:
@@ -111,6 +111,9 @@ case "$GAME" in
|
|||||||
"Install to Disk")
|
"Install to Disk")
|
||||||
/usr/local/bin/install_to_disk.sh
|
/usr/local/bin/install_to_disk.sh
|
||||||
;;
|
;;
|
||||||
|
"Set Timezone")
|
||||||
|
sudo /usr/local/bin/set-timezone.sh
|
||||||
|
;;
|
||||||
*".md") /usr/bin/markdown -toc "$GAME" | /usr/bin/w3m -T text/html ;;
|
*".md") /usr/bin/markdown -toc "$GAME" | /usr/bin/w3m -T text/html ;;
|
||||||
"/usr/bin/"*) $GAME ;;
|
"/usr/bin/"*) $GAME ;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -962,6 +962,7 @@ if __name__ == "__main__":
|
|||||||
menu.add_item("System", "Disable HDMI Screen", lambda: menu.toggle_screen("headless"))
|
menu.add_item("System", "Disable HDMI Screen", lambda: menu.toggle_screen("headless"))
|
||||||
menu.add_item("System", "Set System Default Speech Rate", "/usr/local/bin/speechd_rate.py")
|
menu.add_item("System", "Set System Default Speech Rate", "/usr/local/bin/speechd_rate.py")
|
||||||
menu.add_item("System", "Set Default Voice", "/usr/local/bin/set-voice.py")
|
menu.add_item("System", "Set Default Voice", "/usr/local/bin/set-voice.py")
|
||||||
|
menu.add_item("System", "Set Timezone", "GAME='Set Timezone' /home/stormux/.clirc")
|
||||||
menu.add_item("System", "Upload Files", "/home/stormux/.local/upload_server/uploader.py")
|
menu.add_item("System", "Upload Files", "/home/stormux/.local/upload_server/uploader.py")
|
||||||
menu.add_item("System", "Restart: Can Take Several Minutes", "sudo reboot")
|
menu.add_item("System", "Restart: Can Take Several Minutes", "sudo reboot")
|
||||||
menu.add_item("System", "Power Off: Wait 2 Minutes Before Disconnecting Power", "sudo poweroff")
|
menu.add_item("System", "Power Off: Wait 2 Minutes Before Disconnecting Power", "sudo poweroff")
|
||||||
|
|||||||
Executable
+52
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Timezone configuration for Stormux Gaming Image
|
||||||
|
# Uses the same interface as standard Stormux images
|
||||||
|
|
||||||
|
export DIALOGOPTS='--insecure --no-lines --visit-items'
|
||||||
|
|
||||||
|
set_timezone() {
|
||||||
|
# Get the list of timezones
|
||||||
|
mapfile -t regions < <(timedatectl --no-pager list-timezones | cut -d '/' -f1 | sort -u)
|
||||||
|
|
||||||
|
# Use the same text twice here and just hide the tag field.
|
||||||
|
region=$(dialog --backtitle "Please select your Region" \
|
||||||
|
--no-tags \
|
||||||
|
--menu "Use up and down arrows or page-up and page-down to navigate the list, and press 'Enter' to make your selection." 0 0 0 \
|
||||||
|
$(for i in ${regions[@]} ; do echo "$i";echo "$i";done) --stdout)
|
||||||
|
|
||||||
|
if [[ -z "$region" ]]; then
|
||||||
|
echo "No region selected"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mapfile -t cities < <(timedatectl --no-pager list-timezones | grep "$region" | cut -d '/' -f2 | sort -u)
|
||||||
|
|
||||||
|
# Use the same text twice here and just hide the tag field.
|
||||||
|
city=$(dialog --backtitle "Please select a city near you" \
|
||||||
|
--no-tags \
|
||||||
|
--menu "Use up and down arrow or page-up and page-down to navigate the list." 0 0 10 \
|
||||||
|
$(for i in ${cities[@]} ; do echo "$i";echo "$i";done) --stdout)
|
||||||
|
|
||||||
|
if [[ -z "$city" ]]; then
|
||||||
|
echo "No city selected"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Set the timezone
|
||||||
|
if [[ -f /etc/localtime ]]; then
|
||||||
|
rm /etc/localtime
|
||||||
|
fi
|
||||||
|
ln -sf /usr/share/zoneinfo/${region}/${city} /etc/localtime
|
||||||
|
timedatectl set-ntp true
|
||||||
|
|
||||||
|
echo "Timezone set to ${region}/${city}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Check if running as root
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
echo "This script requires root privileges"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set_timezone
|
||||||
Reference in New Issue
Block a user