#! /bin/sh set -e # Try to detect which frontend will be used by looking for a frontend # module. frontend= for f in gtk_ui kde_ui debconf_ui; do if [ -f "/usr/lib/ubiquity/ubiquity/frontend/$f.py" ]; then frontend="$f" break fi done quiet= if [ "$1" = --quiet ]; then quiet=1 shift fi if [ "$(id -u)" = 0 ]; then # Machine-specific, so remove in case this system is going to be # cloned. These will be regenerated on the first boot. rm -f /etc/udev/rules.d/70-persistent-cd.rules \ /etc/udev/rules.d/70-persistent-net.rules rm -f /etc/NetworkManager/system-connections/* # Potentially sensitive. rm -f /home/oem/.ssh/known_hosts cp -a /usr/lib/oem-config/oem-config.service /lib/systemd/system cp -a /usr/lib/oem-config/oem-config.target /lib/systemd/system /bin/systemctl enable oem-config.service /bin/systemctl enable oem-config.target /bin/systemctl set-default oem-config.target else pkexec "$0" ${quiet:+--quiet} "$@" exit 0 fi if [ -z "$quiet" ]; then MESSAGE='oem-config will run the next time the system boots.' case $frontend in gtk_ui) if [ "$DISPLAY" ] && type zenity >/dev/null 2>&1; then # Drop privileges to the oem user so the dialog is not blocked # by wayland sudo -u oem zenity --title oem-config-prepare --info --text \ "$MESSAGE" exit 0 fi ;; kde_ui) if [ "$DISPLAY" ] && type kdialog >/dev/null 2>&1; then kdialog --title oem-config-prepare --msgbox "$MESSAGE" exit 0 fi ;; esac echo "$MESSAGE" fi exit 0