Just wanted to give my solution, this works for me
:
#! /bin/bash
set_theme() {
new_color_theme="$1"
new_gtk_theme="$2"
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -u $USER)/bus"
current_gtk_theme=$(gsettings get org.gnome.desktop.interface gtk-theme)
if [[ "$current_gtk_theme" != "'$new_gtk_theme'" ]]
then
echo "$(date): Switching from $current_gtk_theme to theme '$new_gtk_theme'"
# https://forum.zorin.com/t/how-to-switch-dark-light-theme-with-the-terminal/48920/5
gsettings set org.gnome.desktop.interface color-scheme ${new_color_theme}
gsettings set org.gnome.desktop.interface gtk-theme ${new_gtk_theme}
gsettings set org.gnome.desktop.interface icon-theme ${new_gtk_theme}
gsettings set org.gnome.shell.extensions.user-theme name ${new_gtk_theme}
fi
}
# dark
set_theme "prefer-dark" "ZorinGrey-Dark"
# light
# set_theme "prefer-light" "ZorinBlue-Light"
Hope I helped future users.