You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
3.9 KiB
66 lines
3.9 KiB
#!/bin/bash
|
|
#
|
|
# Initial script for Live operating system
|
|
# This script are launching before starting init from linux-live script.
|
|
# Current dir allways must be set to root (/)
|
|
# All system path must be relative, except initrd dirs
|
|
|
|
ENABLED=yes
|
|
[ "$ENABLED" != "yes" ] && exit 0
|
|
DEBUGMODE=no
|
|
|
|
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
|
|
|
|
[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; }
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
|
|
debug_mode "$0" "$@"
|
|
|
|
SYSCONF="${ROOTFS}/${SYSCONF}"
|
|
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
|
|
|
|
AUTOLOGINUSER_CMDLINE=$(cmdline_value autologin) && [[ -n ${AUTOLOGINUSER_CMDLINE} ]] && AUTOLOGINUSER=${AUTOLOGINUSER_CMDLINE}
|
|
|
|
if [[ -z "${AUTOLOGINUSER}" ]]; then
|
|
unset AUTOLOGINUSER
|
|
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*//g" ${ROOTFS}/etc/X11/gdm/custom.conf
|
|
[[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*//g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc
|
|
[[ -f ${ROOTFS}/etc/sddm.conf ]] && sed -i "s/^User=.*//g" ${ROOTFS}/etc/sddm.conf
|
|
[[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/slim.conf
|
|
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/X11/slim/slim.conf
|
|
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^autologin=.*//g" ${ROOTFS}/etc/lxdm/lxdm.conf
|
|
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
|
|
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
|
|
rm -f ${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf
|
|
fi
|
|
else
|
|
if [[ ${AUTOLOGINUSER} == yes && -z ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
|
|
unset AUTOLOGINUSER
|
|
AUTOLOGINUSER=$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1)
|
|
elif [[ ${AUTOLOGINUSER} == yes && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
|
|
AUTOLOGINUSER="${DISPLAYMANAGER_DEFAULTUSER}"
|
|
fi
|
|
grep -q "^${AUTOLOGINUSER}:" ${ROOTFS}/etc/passwd || exit 0
|
|
|
|
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/gdm/custom.conf
|
|
[[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*/AutoLoginUser=${AUTOLOGINUSER}/g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc
|
|
[[ -f ${ROOTFS}/etc/sddm.conf ]] && sed -i "s/^User=.*/User=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/sddm.conf
|
|
[[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/slim.conf
|
|
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/slim/slim.conf
|
|
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^#autologin=.*/autologin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lxdm/lxdm.conf
|
|
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
|
|
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
|
|
mkdir -p ${ROOTFS}/etc/lightdm/lightdm.conf.d
|
|
cat <<-EOF | sed 's/^\s*\t*//' > "${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf"
|
|
[Seat:*]
|
|
autologin-user=${AUTOLOGINUSER}
|
|
EOF
|
|
AUTOLOGIN_IDGROUP=$(grep -i "g\s*autologin\s*[[:digit:]]\s*" ${ROOTFS}/usr/share/ublinux-sysusers/*.sysusers | cut -d: -f2 | xargs | cut -d " " -f3 | head -1)
|
|
[[ -n ${AUTOLOGIN_IDGROUP} ]] && ARG_AUTOLOGIN_IDGROUP="-g ${AUTOLOGIN_IDGROUP}"
|
|
${CMD_CHROOT} ${ROOTFS}/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1
|
|
${CMD_CHROOT} ${ROOTFS}/usr/bin/gpasswd -M ${AUTOLOGINUSER} autologin >/dev/null 2>&1
|
|
fi
|
|
fi
|
|
|