Add new function

master v2.64
Dmitry Razumov 2 years ago
parent 8379affbf6
commit 634091d344
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -2,7 +2,7 @@
[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } [[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; }
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
export TEXTDOMAINDIR=/usr/share/locale export TEXTDOMAINDIR=/usr/share/locale
export TEXTDOMAIN=ublinux_functions export TEXTDOMAIN=ublinux_functions
@ -381,7 +381,6 @@ get_conf_usershadow_from_system(){
done <<< "${PARAM_ALL// /$'\n'}" done <<< "${PARAM_ALL// /$'\n'}"
} }
############################################################################################################
# Получить запись вида конфигурации GROUPADD из систеных групп # Получить запись вида конфигурации GROUPADD из систеных групп
# $1 # Варианты групп, можно указывать несколько через пробел, кроме nobody # $1 # Варианты групп, можно указывать несколько через пробел, кроме nobody
# <пусто> # Эквивалентно '@groups @systems' # <пусто> # Эквивалентно '@groups @systems'
@ -431,7 +430,7 @@ get_conf_groupadd_from_system(){
GID_MAX=$([[ $(cat "${FILE_LOGINDEFS}") =~ [^#[^:blank:]]*GID_MAX[[:blank:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}") GID_MAX=$([[ $(cat "${FILE_LOGINDEFS}") =~ [^#[^:blank:]]*GID_MAX[[:blank:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}")
while IFS= read -r SELECT_GROUP; do while IFS= read -r SELECT_GROUP; do
show_group "${SELECT_GROUP}" show_group "${SELECT_GROUP}"
done < <(awk -F':' -v GROUP_MIN=${GID_MIN:=1000} -v GROUP_MAX=${GID_MAX:=65534} '$3 >= GROUP_MIN && $3 <= GROUP_MAX && $1 != "nobody" { print $1}' ${FILE_GROUP}) done < <(awk -F':' -v GROUP_MIN=${GID_MIN:=1000} -v GROUP_MAX=${GID_MAX:=60000} '$3 >= GROUP_MIN && $3 <= GROUP_MAX && $1 != "nobody" { print $1}' ${FILE_GROUP})
elif [[ ${SELECT_PARAM} == "@systems" ]]; then elif [[ ${SELECT_PARAM} == "@systems" ]]; then
# Группы системные # Группы системные
GID_MIN=$([[ $(cat "${FILE_LOGINDEFS}") =~ [^#[^:blank:]]*SYS_GID_MIN[[:blank:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}") GID_MIN=$([[ $(cat "${FILE_LOGINDEFS}") =~ [^#[^:blank:]]*SYS_GID_MIN[[:blank:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}")
@ -450,7 +449,7 @@ get_conf_groupadd_from_system(){
[[ -n ${GID_MAX} ]] || GID_MAX=${GID_MIN} [[ -n ${GID_MAX} ]] || GID_MAX=${GID_MIN}
while IFS= read -r SELECT_GROUP; do while IFS= read -r SELECT_GROUP; do
show_group "${SELECT_GROUP}" show_group "${SELECT_GROUP}"
done < <(awk -F':' -v GROUP_MIN=${GID_MIN:=1000} -v GROUP_MAX=${GID_MAX:=65534} '$3 >= GROUP_MIN && $3 <= GROUP_MAX && $1 != "nobody" { print $1}' ${FILE_GROUP}) done < <(awk -F':' -v GROUP_MIN=${GID_MIN:=1000} -v GROUP_MAX=${GID_MAX:=60000} '$3 >= GROUP_MIN && $3 <= GROUP_MAX && $1 != "nobody" { print $1}' ${FILE_GROUP})
elif grep -q ^"${SELECT_PARAM}:" ${FILE_GROUP} &>/dev/null; then elif grep -q ^"${SELECT_PARAM}:" ${FILE_GROUP} &>/dev/null; then
show_group "${SELECT_PARAM}" show_group "${SELECT_PARAM}"
fi fi
@ -470,20 +469,23 @@ detectDE(){
[[ -z ${SESSION} && ${DESKTOP_SESSION} == i3term ]] && SESSION=i3term [[ -z ${SESSION} && ${DESKTOP_SESSION} == i3term ]] && SESSION=i3term
[[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == i3term ]] && SESSION=i3term [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == i3term ]] && SESSION=i3term
[[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == MATE ]] && SESSION=mate [[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == MATE ]] && SESSION=mate
[[ -z ${SESSION} && ${XDG_CURRENT_DESKTOP} == Pantheon ]] && SESSION=pantheon
if [[ -z ${SESSION} ]]; then if [[ -z ${SESSION} ]]; then
ps -A | grep -q " xfce4-session$" && SESSION=xfce SESSION_COMMANDS=$(ps xo args)
ps -A | grep -q " kdeinit$" && SESSION=kde [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+"xfce4-session"($'\n'|$)+ ]] && SESSION=xfce
ps -A | grep -q " i3$" && SESSION=i3 [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"kdeinit"($'\n'|$)+ ]] && SESSION=kde
ps -A | grep -q " i3term$" && SESSION=i3term [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"i3"($'\n'|$)+ ]] && SESSION=i3
ps -A | grep -q " gnome-panel$" && SESSION=gnome [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"i3term"($'\n'|$)+ ]] && SESSION=i3term
ps -A | grep -q " gnome-shell$" && SESSION=gnome-shell [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"gnome-panel"($'\n'|$)+ ]] && SESSION=gnome
ps -A | grep -q " plasmashell$" && SESSION=plasma [[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"gnome-shell"($'\n'|$)+ ]] && SESSION=gnome-shell
[[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)"plasmashell"($'\n'|$)+ ]] && SESSION=plasma
[[ -z ${SESSION} && ${SESSION_COMMANDS} =~ ($'\n'|^)+([^$'\n']*)" --session=pantheon"([^$'\n']*)($'\n'|$)+ ]] && SESSION=pantheon
fi fi
[[ -z ${SESSION} && -x /usr/bin/startxfce4 ]] && SESSION=xfce [[ -z ${SESSION} && -x /usr/bin/startxfce4 ]] && SESSION=xfce
[[ -z ${SESSION} && -x /usr/bin/startlxde ]] && SESSION=lxde [[ -z ${SESSION} && -x /usr/bin/startlxde ]] && SESSION=lxde
[[ -z ${SESSION} && -x /usr/bin/startlxqt ]] && SESSION=lxqt [[ -z ${SESSION} && -x /usr/bin/startlxqt ]] && SESSION=lxqt
[[ -z ${SESSION} && -x /usr/bin/plasmashell ]] && SESSION=plasma [[ -z ${SESSION} && -x /usr/bin/plasmashell ]] && SESSION=plasma
[[ ${SESSION} == kde && -x /usr/bin/plasmashell ]] && SESSION=plasma [[ ${SESSION} == "kde" && -x /usr/bin/plasmashell ]] && SESSION=plasma
# SESSION=budgie # SESSION=budgie
# SESSION=cinnamon # SESSION=cinnamon
# SESSION=sway # SESSION=sway
@ -792,6 +794,163 @@ screen_scale(){
fi fi
} }
#####################################
### ::: UBCONFIG EXEC ::: ###
#####################################
ubconfig_exec_system(){
SYSCONF=${SYSCONF//${ROOTFS}/}
local SECTION_NAME=$1
local COMMAND_MODE_VAR=$2
local NAME_VAR=$3
local VALUE_VAR=$4
local NO_FIND_EXCUTE=
case "[${SECTION_NAME}]" in
"[${SYSCONF}/config]"|"[config]")
case "${NAME_VAR}" in
HOSTNAME) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/30-network-hostname "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
SERVICESSTART|SERVICESNOSTART|SERVICESMASK|SERVICESUNMASK|\
SERVICES_ENABLE|SERVICES_DISABLE|SERVICES_MASK|SERVICES_UNMASK)
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_enabledisable "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_startstop_live "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
;;
FIRSTSTART) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_99_firststart "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/system]"|"[system]")
case "${NAME_VAR}" in
HOSTNAME) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/30-network-hostname "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
SERVICESSTART|SERVICESNOSTART|SERVICESMASK|SERVICESUNMASK|\
SERVICES_ENABLE|SERVICES_DISABLE|SERVICES_MASK|SERVICES_UNMASK)
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_enabledisable "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
${ROOTFS}/usr/lib/ublinux/rc.preinit.d/20-services exec_services_startstop_live "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/users]"|"[users]")
case "${NAME_VAR}" in
DEFAULTROOTPASSWD) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_00_defaultrootpasswd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
DEFAULTPASSWD) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_00_defaultpasswd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
DEFAULTGROUP) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_01_add_groups "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
ADMGROUPS) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_01_add_groups "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERGROUPS) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_01_add_groups "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
NEEDEDUSERS) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_02_neededusers "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_03_useradd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERSHADOW\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_04_usershadow "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
GROUPADD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit/10-accounts exec_05_groupadd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
USERADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_useradd_sync ;;
GROUPADD_SYNC) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/25-accounts-sync exec_groupadd_sync ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/boot]"|"[boot]")
case "${NAME_VAR}" in
GRUB_TIMEOUT) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_timeout ;;
GRUB_DEFAULT) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_default ;;
GRUB_SUPERUSERS) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_superusers ;;
GRUB_PASSWORD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_password ;;
GRUB_BOOT_SILENT) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_boot_silent ;;
GRUB_TERMINAL_INPUT) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_terminal_input ;;
GRUB_TERMINAL_OUTPUT) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_terminal_output ;;
GRUB_PLAY) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_play ;;
GRUB_CMDLINE_LINUX) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/20-grub exec_grub_cmdline_linux ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/logging]"|"[logging]")
case "${NAME_VAR}" in
AUDITD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_auditd "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
setsid ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_auditd_live & ;;
JOURNALD\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_journald "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
setsid ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_journald_live & ;;
LOGROTATE\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_logrotate "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}"
setsid ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_logrotate_live "${NAME_VAR}" & ;;
SYSTEMD_COREDUMP\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/24-logging exec_systemd_coredump "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/clock]"|"[clock]")
case "${NAME_VAR}" in
ZONE) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/10-system exec_timezone ;;
HWCLOCK_SYNC)
${ROOTFS}/usr/lib/ublinux/rc.halt/20-timesave
${ROOTFS}/usr/lib/ublinux/rc.post.d/02-hwclock
;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/server]"|"[server]")
case "${NAME_VAR}" in
STORAGE_CONTAINERS_PATH) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/80-server-containers-storage "${COMMAND_MODE_VAR}" ;;
STORAGE_LIBVIRT_PATH) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/81-server-libvirt-storage "${COMMAND_MODE_VAR}" ;;
UBPILE) ${ROOTFS}/usr/lib/ublinux/rc.local.d/98-ubpile exec_01_ubpile "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
UBPILE\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.local.d/98-ubpile exec_01_ubpile "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
UBPILE_REVERSE_PROXY_PORT) ${ROOTFS}/usr/lib/ublinux/rc.local.d/98-ubpile exec_02_reverse_proxy_port "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/desktop]"|"[desktop]")
case "${NAME_VAR}" in
MULTISEAT_SIMPLE) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/55-multiseat ;;
AUTOEXEC) ${ROOTFS}/usr/lib/ublinux/rc.desktop/all/autoexec "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
AUTOEXEC\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.desktop/all/autoexec "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
LIGHTDM_XDMCP) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/60-lightdm-settings exec_lightdm_xdmcp ;;
LIGHTDM_XDMCP\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/60-lightdm-settings exec_lightdm_xdmcp ;;
LIGHTDM_GREETER\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/60-lightdm-settings exec_lightdm_greeter;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/save]"|"[save]")
case "${NAME_VAR}" in
SAVE_ALL_CACHE) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/75-save-cache ;;
SAVE_ROOTCOPY_CHANGES) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/76-save-rootcopy "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
SAVE_ROOTCOPY_INCLUDE) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/76-save-rootcopy "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
SAVE_ROOTCOPY_EXCLUDE) ${ROOTFS}/usr/lib/ublinux/rc.halt.pre/76-save-rootcopy "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/network]"|"[network]")
case "${NAME_VAR}" in
DOMAIN) export PARENT="${PKGNAME}"
if [[ "${COMMAND_MODE_VAR}" == 'set' ]]; then
${ROOTFS}/usr/bin/ubdomain-client -q configure
elif [[ "${COMMAND_MODE_VAR}" == 'remove' ]]; then
${ROOTFS}/usr/bin/ubdomain-client -q unconfigure
fi
;;
'DOMAIN[server]') true ;;
NTPSERVERS) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/21-ntp "${COMMAND_MODE_VAR}" ;;
PROXY_SYSTEM\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/31-network-proxy-system ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
"[${SYSCONF}/security]"|"[security]")
case "${NAME_VAR}" in
OPENSSL_ENGINE) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/56-openssl-engine ;;
ACCESS_DENIED_VTX11) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/57-access-denied-vtx11 ;;
ACCESS_ALLOWED_LOGIN) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/58-access-login exec_access_allowed_login ;;
ACCESS_DENIED_LOGIN) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/58-access-login exec_access_denied_login ;;
ACCESS_ALLOWED_SUID\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/42-access-suid-sgid exec_access_allowed_suid ;;
ACCESS_ALLOWED_SGID\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/42-access-suid-sgid exec_access_allowed_sgid ;;
ACCESS_ALLOWED_INTERPRETER\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/43-access-interpreter ;;
MOUNT_ATTR\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/44-mountattr ;;
MOUNT_QUOTA\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/45-disk-quota ;;
CGROUP_QUOTA\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.post.d/46-cgroup-quota "${COMMAND_MODE_VAR}" "${NAME_VAR}=${VALUE_VAR}" ;;
POLKIT\[*\]) ${ROOTFS}/usr/lib/ublinux/rc.preinit.d/59-polkit ;;
*) NO_FIND_EXCUTE=1 ;;
esac
;;
\[*\])
case "${NAME_VAR}" in
*) NO_FIND_EXCUTE=1 ;;
esac
;;
*) NO_FIND_EXCUTE=1 ;;
esac
[[ $? -eq 0 ]] && return 0 || return 1
}
################ ################
##### MAIN ##### ##### MAIN #####
################ ################
@ -803,7 +962,8 @@ screen_scale(){
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" '${1}'" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -7,7 +7,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
#SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 #SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -7,7 +7,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -0,0 +1,11 @@
#!/bin/bash
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
NAME_EXEC=${0##*/}
which ${NAME_EXEC} >/dev/null 2>&1 || exit 0
[[ ${START_PLANK} == @("no"|"none"|"disable") ]] || ${NAME_EXEC} &

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/boot; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/boot; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
@ -173,8 +173,10 @@ exec_grub_cmdline_linux(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" \"${1}\"" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
@ -24,8 +24,8 @@ exec_useradd_sync(){
local PARAM=$1 local PARAM=$1
local GET_USERADD=$(get_conf_useradd_from_system ${PARAM}) local GET_USERADD=$(get_conf_useradd_from_system ${PARAM})
local GET_USERSHADOW=$(get_conf_usershadow_from_system ${PARAM}) local GET_USERSHADOW=$(get_conf_usershadow_from_system ${PARAM})
${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] USERADD[*] ${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] ${GET_USERADD}
${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] USERSHADOW[*] ${ROOTFS}/usr/bin/ubconfig --quiet --target global remove [users] ${GET_USERSHADOW}
[[ -n ${GET_USERADD} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERADD} [[ -n ${GET_USERADD} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERADD}
[[ -n ${GET_USERSHADOW} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERSHADOW} [[ -n ${GET_USERSHADOW} ]] && ${ROOTFS}/usr/bin/ubconfig --quiet --target global set [users] ${GET_USERSHADOW}
} }
@ -95,8 +95,10 @@ exec_groupadd_sync(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" \"${1}\"" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/save; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/save; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -50,8 +50,10 @@ exec_check_user_group(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" '${1}'" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -132,8 +132,10 @@ exec_autoupdate(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done 3< <(declare -F | grep "declare -f exec_") done 3< <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" '${1}'" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -7,7 +7,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
#SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 #SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -184,8 +184,10 @@ message_motd(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done 3< <(declare -F | grep "declare -f exec_") done 3< <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" '${1}'" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -102,8 +102,10 @@ exec_network(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/clock; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/clock; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -11,7 +11,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
@ -25,7 +25,7 @@ OPTSDEF=""
exec_mount_direct(){ exec_mount_direct(){
if [[ -n "${AUTOMOUNT_SHARE[@]}" ]]; then if [[ -n "${AUTOMOUNT_SHARE[@]}" ]]; then
#typeset -p AUTOMOUNT_SHARE #typeset -p AUTOMOUNT_SHARE
for SELECT_SHARE in ${!AUTOMOUNT_SHARE[@]}; do for SELECT_SHARE in "${!AUTOMOUNT_SHARE[@]}"; do
#while IFS=' ' read -r -d $'\n' SELECT_SHARE; do #while IFS=' ' read -r -d $'\n' SELECT_SHARE; do
IFS=: read -r MOUNT_MODE SOURCE_MOUNT GROUP MOD OPTS NULL <<< "${AUTOMOUNT_SHARE[${SELECT_SHARE}]}" IFS=: read -r MOUNT_MODE SOURCE_MOUNT GROUP MOD OPTS NULL <<< "${AUTOMOUNT_SHARE[${SELECT_SHARE}]}"
if [[ ${MOUNT_MODE} == "direct" ]]; then if [[ ${MOUNT_MODE} == "direct" ]]; then
@ -43,7 +43,7 @@ exec_mount_direct(){
[[ -n ${GROUP} ]] && chown -f root:${GROUP} "${SELECT_SHARE}" [[ -n ${GROUP} ]] && chown -f root:${GROUP} "${SELECT_SHARE}"
[[ -n ${MOD} ]] && chmod -f ${MOD} "${SELECT_SHARE}" [[ -n ${MOD} ]] && chmod -f ${MOD} "${SELECT_SHARE}"
fi fi
#done <<< ${!AUTOMOUNT_SHARE[@]} #done <<< "${!AUTOMOUNT_SHARE[@]}"
done done
fi fi
} }

@ -11,7 +11,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
@ -41,20 +41,21 @@ exec_access_allowed_sgid(){
##### MAIN ##### ##### MAIN #####
################ ################
# Возможность подключить как source из любого скрипта и вызов встроенных функций # Если файл подключен как ресурс с функциями, то выйти
return 0 2>/dev/null && return 0
if [[ ${0##*/} == ${SELF_NAME} && -z $@ ]]; then if [[ -z $@ ]]; then
while read -r FUNCTION; do while read -r FUNCTION; do
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
elif [[ ${0##*/} == ${SELF_NAME} ]]; then else
FUNCTION=
# for FUNCTION in $@; do # for FUNCTION in $@; do
# declare -f ${FUNCTION} &>/dev/null && ${FUNCTION} # declare -f ${FUNCTION} &>/dev/null && ${FUNCTION}
# done # done
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
else
true
fi fi

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -9,7 +9,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/hardware; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
@ -143,8 +143,10 @@ exec_enviroment(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -15,7 +15,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
PATH_LIB_UBBOOT="${ROOTFS}/usr/lib/ubboot" PATH_LIB_UBBOOT="${ROOTFS}/usr/lib/ubboot"

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
@ -222,8 +222,10 @@ exec_services_startstop_live(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" \"${1}\"" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/logging; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/logging; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
@ -280,8 +280,10 @@ exec_logrotate_live(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" \"${1}\"" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -17,7 +17,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -18,7 +18,7 @@ debug_mode "$0" "$@"
HOSTNAME=ublinux-live HOSTNAME=ublinux-live
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,45 +16,16 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -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} AUTOLOGINUSER_CMDLINE=$(cmdline_value autologin) && [[ -n ${AUTOLOGINUSER_CMDLINE} ]] && AUTOLOGINUSER=${AUTOLOGINUSER_CMDLINE}
if [[ -z ${AUTOLOGINUSER} ]]; then
#PASS_ADMUID=$(grep "^$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):" ${ROOTFS}/etc/shadow | cut -d: -f2) #"
#UID_MIN=$(grep "^UID_MIN" ${ROOTFS}/etc/login.defs | cut -d' ' -f2)
#UID_MIN=$(read -d '' < "${ROOTFS}/etc/login.defs"; [[ "${REPLY}" =~ [^#[^:space:]]*UID_MIN[[:space:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}")
UID_MIN=$([[ $(cat "${ROOTFS}/etc/login.defs") =~ [^#[^:space:]]*UID_MIN[[:space:]]+([[:digit:]]+) ]]; echo -n "${BASH_REMATCH[1]}")
MORE_ONE_USER=$(awk -F':' -v USER_MIN=${UID_MIN} '$3 > USER_MIN && $1 != "nobody" { print $1}' ${ROOTFS}/etc/passwd)
# Если в системе всего один пользователь и FIRSTSATART, то автологин
[[ -z ${MORE_ONE_USER} && -n ${FIRSTSTART} ]] && AUTOLOGINUSER=yes
fi
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf" FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf"
FILE_LIGHTDM_AUTOLOGIN_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/100-autologin-ubconfig.conf" FILE_LIGHTDM_AUTOLOGIN_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/100-autologin-ubconfig.conf"
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 ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
rm -f "${FILE_LIGHTDM_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
autologin_enable(){
grep -q "^${AUTOLOGINUSER}:" ${ROOTFS}/etc/passwd 2>/dev/null || exit 0
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/gdm/custom.conf [[ -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}/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/sddm.conf ]] && sed -i "s/^User=.*/User=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/sddm.conf
@ -73,5 +44,40 @@ EOF
${CMD_CHROOT} /usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1 ${CMD_CHROOT} /usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1
${CMD_CHROOT} /usr/bin/gpasswd -M ${AUTOLOGINUSER} autologin >/dev/null 2>&1 ${CMD_CHROOT} /usr/bin/gpasswd -M ${AUTOLOGINUSER} autologin >/dev/null 2>&1
fi fi
}
autologin_disable(){
[[ -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 ${FILE_LIGHTDM_CONF} ]]; then
sed "/^autologin-user=.*/d" -i ${FILE_LIGHTDM_CONF}
rm -f "${FILE_LIGHTDM_AUTOLOGIN_CONF}"
fi
}
if [[ -z ${AUTOLOGINUSER} ]]; then
#PASS_ADMUID=$(grep "^$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):" ${ROOTFS}/etc/shadow | cut -d: -f2) #"
[[ $(cat "${ROOTFS}/etc/login.defs") =~ ($'\n'|^)+UID_MIN[[:blank:]]+([[:digit:]]+)($'\n'|$)+ ]] && UID_MIN=${BASH_REMATCH[2]:-1000}
MORE_ONE_USER=$(awk -F':' -v USER_MIN=${UID_MIN} '$3 > USER_MIN && $1 != "nobody" {print $1}' ${ROOTFS}/etc/passwd)
# Если в системе всего один пользователь и FIRSTSATART, то автологин
[[ -z ${MORE_ONE_USER} && -n ${FIRSTSTART} ]] && AUTOLOGINUSER=yes
fi
if [[ ${AUTOLOGINUSER} == @("yes"|"enable") && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
AUTOLOGINUSER="${DISPLAYMANAGER_DEFAULTUSER}"
elif [[ ${AUTOLOGINUSER} == @("yes"|"enable") ]]; then
AUTOLOGINUSER=$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1)
fi fi
if [[ -n ${AUTOLOGINUSER} ]]; then
[[ ${AUTOLOGINUSER} == @("no"|"none"|"disable") ]] && autologin_disable || autologin_enable ${AUTOLOGINUSER}
else
# Если параметр не задан, то всегда отключать автологин
#autologin_disable
true
fi

@ -123,6 +123,7 @@ for i in $(cmdline_value desktop | tr , " " ) ;do
plasma) DESKTOP=plasma ;; plasma) DESKTOP=plasma ;;
mate) DESKTOP=mate ;; mate) DESKTOP=mate ;;
ukui) DESKTOP=ukui ;; ukui) DESKTOP=ukui ;;
pantheon) DESKTOP=pantheon ;;
none) DISPLAYMANAGER=none && DESKTOP=none ;; none) DISPLAYMANAGER=none && DESKTOP=none ;;
lightdm) DISPLAYMANAGER=lightdm ;; lightdm) DISPLAYMANAGER=lightdm ;;
kdm) DISPLAYMANAGER=kdm ;; kdm) DISPLAYMANAGER=kdm ;;
@ -148,7 +149,7 @@ done
# Autodetect Display Environment # Autodetect Display Environment
# /usr/share/xsessions/*.desktop for X's sessions and /usr/share/wayland-sessions/*.desktop for Wayland's. # /usr/share/xsessions/*.desktop for X's sessions and /usr/share/wayland-sessions/*.desktop for Wayland's.
[[ -z "${DESKTOP}" ]] && for i in i3 ukui steam lxde lxqt kde4 xfce mate gnome gnomeshell plasma; do [[ -z "${DESKTOP}" ]] && for i in i3 ukui steam lxde lxqt kde4 xfce pantheon mate gnome gnomeshell plasma; do
[[ -f usr/share/wayland-sessions/$i.desktop ]] && DESKTOP=$i [[ -f usr/share/wayland-sessions/$i.desktop ]] && DESKTOP=$i
[[ -f usr/share/xsessions/$i.desktop ]] && DESKTOP=$i [[ -f usr/share/xsessions/$i.desktop ]] && DESKTOP=$i
done done
@ -157,7 +158,7 @@ done
[[ -z "${DISPLAYMANAGER}" && -z "${DESKTOP}" ]] && disabledmde [[ -z "${DISPLAYMANAGER}" && -z "${DESKTOP}" ]] && disabledmde
# Set default user to Display Manager # Set default user to Display Manager
if [[ "${DISPLAYMANAGER}" == "lightdm" && ${DISPLAYMANAGER_DEFAULTUSER} ]]; then if [[ ${DISPLAYMANAGER} == "lightdm" && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
sed -i /DISPLAYMANAGER_DEFAULTUSER=/d ${SYSCONF}/desktop sed -i /DISPLAYMANAGER_DEFAULTUSER=/d ${SYSCONF}/desktop
echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> ${SYSCONF}/desktop echo "DISPLAYMANAGER_DEFAULTUSER=${DISPLAYMANAGER_DEFAULTUSER}" >> ${SYSCONF}/desktop
mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/ mkdir -p var/lib/lightdm/.cache/lightdm-gtk-greeter/

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
@ -54,8 +54,10 @@ exec_access_denied_login(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_") done < <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -0,0 +1,101 @@
#!/usr/bin/env bash
#
# Initial script for UBLinux
# This script are launching before starting init from initrd 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/default; [[ -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
## Сервер XDMCP Lightdm
## LIGHTDM_XDMCP=yes|no|enable|disable
## yes|enable # Включить XDMCP с параметрами по умолчанию
## no|disable # Выключить XDMCP
## LIGHTDM_XDMCP[<parametr>]=<value>
## <parametr> # Название параметра, примеры в /etc/lightdm/lightdm.conf
## port # Порт подключения UDP/IP. По умолчанию: 177
## address # Адрес хоста соединения XDMCP. По умолчанию: все адреса
## key # Ключ аутентификации, используемый для XDM-AUTHENTICATION-1, или пустой, чтобы не использовать аутентификацию (хранится в файлеkeys.conf)
## hostname # Имя хоста для отправки отчета клиентам XDMCP. По умолчанию: системное имя хоста
## <value> # Значение параметра
#LIGHTDM_XDMCP=enable
exec_lightdm_xdmcp(){
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf"
FILE_LIGHTDM_XDMCP_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/99-xdmcp-ubconfig.conf"
if [[ ${LIGHTDM_XDMCP} == @("enable"|"yes") && ${#LIGHTDM_XDMCP[@]} -ne 0 ]]; then
[[ -d ${ROOTFS}/etc/lightdm/${FILE_LIGHTDM_XDMCP_CONF%/*} ]] || mkdir -p ${FILE_LIGHTDM_XDMCP_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_XDMCP_CONF}"
[XDMCPServer]
enabled=true
EOF
for LIGHTDM_PARAM in "${!LIGHTDM_XDMCP[@]}"; do
[[ ${LIGHTDM_PARAM} == 0 ]] && continue
echo "${LIGHTDM_PARAM}=${LIGHTDM_XDMCP[${LIGHTDM_PARAM}]}" >> "${FILE_LIGHTDM_XDMCP_CONF}"
done
else
rm -f "${FILE_LIGHTDM_XDMCP_CONF}"
fi
}
## Настройка гритера для менеджера диспелея Lightdm
## По умолчанию если не выбрано, то любой доступный, обычно 'lightdm-gtk-greeter'
## LIGHTDM_GREETER[<parametr>]=<value>
## <parametr> # Название параметра, примеры в /etc/lightdm/lightdm.conf
## greeter-session # Название установленного гритера в каталоге /usr/share/xgreeters/*.desktop
## =lightdm-gtk-greeter # LightDM GTK+ гритер
## =io.elementary.greeter # Pantheon гритер
## greeter-hide-users # Скрыть список пользователей, значения (true|false)
## greeter-allow-guest # В списке пользователей показывать Гостя, значения (true|false)
## greeter-show-manual-login # Разрешить вводить произвольного пользователя, значения (true|false)
## greeter-show-remote-login # Разрешить выбрать удалённого пользователя, значения (true|false)
## <value> # Значение параметра
#LIGHTDM_GREETER[greeter-session]=io.elementary.greeter
exec_lightdm_greeter(){
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf"
FILE_LIGHTDM_GREETER_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/99-greeter-ubconfig.conf"
if [[ ${#LIGHTDM_GREETER[@]} -ne 0 ]]; then
[[ -d ${ROOTFS}/etc/lightdm/${FILE_LIGHTDM_GREETER_CONF%/*} ]] || mkdir -p ${FILE_LIGHTDM_GREETER_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_GREETER_CONF}"
[Seat:*]
EOF
for LIGHTDM_PARAM in "${!LIGHTDM_GREETER[@]}"; do
[[ ${LIGHTDM_PARAM} == 0 ]] && continue
echo "${LIGHTDM_PARAM}=${LIGHTDM_GREETER[${LIGHTDM_PARAM}]}" >> "${FILE_LIGHTDM_GREETER_CONF}"
done
else
rm -f "${FILE_LIGHTDM_GREETER_CONF}"
fi
}
################
##### MAIN #####
################
# Если файл подключен как ресурс с функциями, то выйти
return 0 2>/dev/null && return 0
if [[ -z $@ ]]; then
while read -r FUNCTION; do
$"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_")
else
FUNCTION=
while [[ $# -gt 0 ]]; do
[[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done
eval ${FUNCTION#*; }
fi

@ -1,54 +0,0 @@
#!/usr/bin/env bash
#
# Initial script for UBLinux
# This script are launching before starting init from initrd 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/default; [[ -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
## Сервер XDMCP Lightdm
## LIGHTDM_XDMCP=yes|no|enable|disable
## yes|enable # Включить XDMCP
## no|disable # Выключить XDMCP
## LIGHTDM_XDMCP[port]=<port>
## <port> # Порт подключения UDP/IP. По умолчанию: 177
## LIGHTDM_XDMCP[listen-address]=<address>
## <address> # Адрес хоста соединения XDMCP. По умолчанию: все адреса
## LIGHTDM_XDMCP[key]=<key>
## <key> # Ключ аутентификации, используемый для XDM-AUTHENTICATION-1, или пустой, чтобы не использовать аутентификацию (хранится в файлеkeys.conf)
## LIGHTDM_XDMCP[hostname]=<hostname>
## <hostname> # Имя хоста для отправки отчета клиентам XDMCP. По умолчанию: системное имя хоста
declare -A LIGHTDM_XDMCP
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf"
FILE_LIGHTDM_XDMCP_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/99-xdmcp-ubconfig.conf"
if [[ ${LIGHTDM_XDMCP} == @(""|"disable"|"no") ]]; then
rm -f "${FILE_LIGHTDM_XDMCP_CONF}"
else
[[ -d ${ROOTFS}/etc/lightdm/${FILE_LIGHTDM_XDMCP_CONF%/*} ]] || mkdir -p ${FILE_LIGHTDM_XDMCP_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_XDMCP_CONF}"
[XDMCPServer]
enabled=true
EOF
[[ -z ${LIGHTDM_XDMCP[port]} ]] || printf "port=${LIGHTDM_XDMCP[port]}\n" >> "${FILE_LIGHTDM_XDMCP_CONF}"
[[ -z ${LIGHTDM_XDMCP[listen-address]} ]] || printf "listen-address=${LIGHTDM_XDMCP[listen-address]}\n" >> "${FILE_LIGHTDM_XDMCP_CONF}"
[[ -z ${LIGHTDM_XDMCP[key]} ]] || printf "key=${LIGHTDM_XDMCP[key]}\n" >> "${FILE_LIGHTDM_XDMCP_CONF}"
[[ -z ${LIGHTDM_XDMCP[hostname]} ]] || printf "hostname=${LIGHTDM_XDMCP[hostname]}\n" >> "${FILE_LIGHTDM_XDMCP_CONF}"
fi

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/video; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/server; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -16,7 +16,7 @@ SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@" debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
if [ "$(cmdline_parameter ub.osinstall)" ]; then if [ "$(cmdline_parameter ub.osinstall)" ]; then

@ -814,9 +814,9 @@ exec_99_firststart(){
[[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}" [[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}"
fi fi
if [[ -n ${ROOTFS} ]]; then if [[ -n ${ROOTFS} ]]; then
if grep -q "^root:${DEFAULTROOTPASSWD}:" ${ROOTFS}/etc/shadow \ if [[ ${NOSECUREROOTPASSWD} == ${DEFAULTROOTPASSWD} ]] \
&& grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${DEFAULTPASSWD}:" ${ROOTFS}/etc/shadow; then && grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${NOSECUREROOTPASSWD}:" ${ROOTFS}/etc/shadow; then
grep -q "^FIRSTSTART$" ${SYSCONF}/config 2>/dev/null || echo "FIRSTSTART=yes" >> ${SYSCONF}/config [[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'FIRSTSTART=' ]] || echo "FIRSTSTART=yes" >> ${SYSCONF}/config
fi fi
elif [[ ${COMMAND} == @("set="|"set+="|"set++=") ]] && [[ -n ${FIRSTSTART} ]]; then elif [[ ${COMMAND} == @("set="|"set+="|"set++=") ]] && [[ -n ${FIRSTSTART} ]]; then
[[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'FIRSTSTART=' ]] || echo "FIRSTSTART=yes" >> ${SYSCONF}/config [[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'FIRSTSTART=' ]] || echo "FIRSTSTART=yes" >> ${SYSCONF}/config
@ -838,8 +838,10 @@ exec_99_firststart(){
$"${FUNCTION##* }" $"${FUNCTION##* }"
done 3< <(declare -F | grep "declare -f exec_") done 3< <(declare -F | grep "declare -f exec_")
else else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" '${1}'" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
fi fi

@ -7,7 +7,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
#SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 #SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/keyboard; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -7,7 +7,7 @@ unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SYSCONF="${ROOTFS}/${SYSCONF}" SYSCONF="${ROOTFS}${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/video; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

@ -56,13 +56,19 @@ exec_get_last_menuentry(){
##### MAIN ##### ##### MAIN #####
################ ################
# Возможность подключить как source из любого скрипта и вызов встроенных функций # Если файл подключен как ресурс с функциями, то выйти
return 0 2>/dev/null && return 0
if [[ ${0##*/} == ${SELF_NAME} ]]; then if [[ -z $@ ]]; then
true
# while read -r FUNCTION; do
# $"${FUNCTION##* }"
# done < <(declare -F | grep "declare -f exec_")
else
FUNCTION=
while [[ $# -gt 0 ]]; do while [[ $# -gt 0 ]]; do
declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" && shift || { FUNCTION+=" ${1}" && shift; } [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; }
shift
done done
eval ${FUNCTION#*; } eval ${FUNCTION#*; }
else
true
fi fi

@ -15,12 +15,12 @@
#[[ $USER != 'root' ]] && exec sudo "$0" #[[ $USER != 'root' ]] && exec sudo "$0"
init_printer(){ init_printer(){
echo "${DEVNAME}" | grep -q "/dev/usb/lp" && DEVNAME="sys$(udevadm info -a -n ${DEVNAME} 2>/dev/null | grep "looking at" | head -1 | cut -d\' -f2 | sed "s/\/usbmisc.*//")" echo "${DEVNAME}" | grep -q "/dev/usb/lp" && DEVNAME="$(udevadm info -a -n ${DEVNAME} 2>/dev/null | grep "looking at" | head -1 | cut -d\' -f2 | sed "s/\/usbmisc.*//")"
[[ -z "${DEVNAME}" ]] && echo "$(date '+%m.%d.%Y %T') : $0 : ${ACTION} : ERROR : Not found DEVICE ${DEVNAME}"; [[ -z "${DEVNAME}" ]] && exit 1 [[ -z "${DEVNAME}" ]] && echo "$(date '+%m.%d.%Y %T') : $0 : ${ACTION} : ERROR : Not found DEVICE ${DEVNAME}"; [[ -z "${DEVNAME}" ]] && exit 1
DEV_IDPRODUCT="$(cat /${DEVNAME}/../idProduct)" DEV_IDPRODUCT="$(cat /sys/${DEVNAME}/../idProduct)"
DEV_IDVENDOR="$(cat /${DEVNAME}/../idVendor)" DEV_IDVENDOR="$(cat /sys/${DEVNAME}/../idVendor)"
DEV_SERIAL="$(cat /${DEVNAME}/../serial)" DEV_SERIAL="$(cat /sys/${DEVNAME}/../serial)"
DEV_IEEE1284_ID="$(cat /${DEVNAME}/ieee1284_id | head -1 | tr ";" "\n")" DEV_IEEE1284_ID="$(cat /sys/${DEVNAME}/ieee1284_id | head -1 | tr ";" "\n")"
PRINTER_MFG="$(echo "${DEV_IEEE1284_ID}" | grep MFG | head -1 | cut -d: -f2 2>/dev/null)" PRINTER_MFG="$(echo "${DEV_IEEE1284_ID}" | grep MFG | head -1 | cut -d: -f2 2>/dev/null)"
PRINTER_MDL="$(echo "${DEV_IEEE1284_ID}" | grep MDL | head -1 | cut -d: -f2 2>/dev/null)" PRINTER_MDL="$(echo "${DEV_IEEE1284_ID}" | grep MDL | head -1 | cut -d: -f2 2>/dev/null)"
PRINTER_CMD="$(echo "${DEV_IEEE1284_ID}" | grep CMD | head -1 | cut -d: -f2 2>/dev/null)" PRINTER_CMD="$(echo "${DEV_IEEE1284_ID}" | grep CMD | head -1 | cut -d: -f2 2>/dev/null)"
@ -29,10 +29,10 @@ init_printer(){
PRINTER_NAME="$(echo "${PRINTER_MDL}" | tr "/" "-" | tr " " "-" 2>/dev/null)" PRINTER_NAME="$(echo "${PRINTER_MDL}" | tr "/" "-" | tr " " "-" 2>/dev/null)"
PRINTER_NAME_PPD="$(echo "${PRINTER_MDL}" | tr " " "-" 2>/dev/null)" PRINTER_NAME_PPD="$(echo "${PRINTER_MDL}" | tr " " "-" 2>/dev/null)"
for WAIT_TIME in 1 2 3 4; do for WAIT_TIME in 1 2 3 4; do
PRINTER_LP=$(basename $(ls -Udb /${DEVNAME}/usbmisc/lp* 2>/dev/null | head -1) 2>/dev/null) PRINTER_LP=$(basename $(ls -Udb /sys/${DEVNAME}/usbmisc/lp* 2>/dev/null | head -1) 2>/dev/null)
[[ -z ${PRINTER_LP} ]] && sleep ${WAIT_TIME} || break [[ -z ${PRINTER_LP} ]] && sleep ${WAIT_TIME} || break
done done
# PRINTER_LP="/dev/$(cat /${DEVNAME}/usbmisc/*/uevent | grep DEVNAME | cut -d= -f2)" # PRINTER_LP="/dev/$(cat /sys/${DEVNAME}/usbmisc/*/uevent | grep DEVNAME | cut -d= -f2)"
PRINTER_LP="/dev/usb/${PRINTER_LP}" PRINTER_LP="/dev/usb/${PRINTER_LP}"
[[ ${PRINTER_MDL} == "LBP810" ]] && PRINTER_MDL="LBP1120" [[ ${PRINTER_MDL} == "LBP810" ]] && PRINTER_MDL="LBP1120"
echo "$(date '+%m.%d.%Y %T') : $0 : init_printer : ${ACTION} : ${DEVNAME} : ${DEV_IDPRODUCT}:${DEV_IDVENDOR} : ${PRINTER_MFG} : ${PRINTER_MDL} : ${PRINTER_CMD} : ${PRINTER_CLS} : ${DEV_SERIAL} : ${PRINTER_NAME} : ${PRINTER_LP}" echo "$(date '+%m.%d.%Y %T') : $0 : init_printer : ${ACTION} : ${DEVNAME} : ${DEV_IDPRODUCT}:${DEV_IDVENDOR} : ${PRINTER_MFG} : ${PRINTER_MDL} : ${PRINTER_CMD} : ${PRINTER_CLS} : ${DEV_SERIAL} : ${PRINTER_NAME} : ${PRINTER_LP}"

@ -194,6 +194,7 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket
## <gecos> # Поле GECOS, с подробным описанием пользователя, можно локализованное, не обязательное ## <gecos> # Поле GECOS, с подробным описанием пользователя, можно локализованное, не обязательное
## <uid> # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x' ## <uid> # UID пользователя, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## # Если не указан <uid> и существует каталог /home/<user_name> , то <uid> будет взят у этого каталога ## # Если не указан <uid> и существует каталог /home/<user_name> , то <uid> будет взят у этого каталога
## # Если указано 's' или 'system', то свободный uid системного пользователя
## <user_group> # Основная группа пользователя, номер или имя, если выбрано пусто или 'x', то 'user_group=user_name' ## <user_group> # Основная группа пользователя, номер или имя, если выбрано пусто или 'x', то 'user_group=user_name'
## # Если не указан <user_group> и существует каталог /home/<user_name> , то <user_group> будет взят у этого каталога ## # Если не указан <user_group> и существует каталог /home/<user_name> , то <user_group> будет взят у этого каталога
## <extra_groups> # Дополнительные группы пользователя. Дополнительные к USERGROUPS ## <extra_groups> # Дополнительные группы пользователя. Дополнительные к USERGROUPS
@ -201,7 +202,7 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket
## <optional> # Дополнительные параметры, например: '--shell /usr/bin/bash --create-home --no-create-home --no-user-group --non-unique' ## <optional> # Дополнительные параметры, например: '--shell /usr/bin/bash --create-home --no-create-home --no-user-group --non-unique'
## --home-dir <ДОМ_КАТ> # Домашний каталог новой учётной записи ## --home-dir <ДОМ_КАТ> # Домашний каталог новой учётной записи
## -s, --shell /usr/bin/bash # Регистрационная оболочка новой учётной записи ## -s, --shell /usr/bin/bash # Регистрационная оболочка новой учётной записи
## -r, --system # Создать системную группу ## -r, --system # Создать системного пользователя
## -M, --no-create-home # Не создавать домашний каталог пользователя ## -M, --no-create-home # Не создавать домашний каталог пользователя
## -N, --no-user-group # Не создавать группу с тем же именем что и у пользователя ## -N, --no-user-group # Не создавать группу с тем же именем что и у пользователя
## -o, --non-unique # Разрешить создание пользователей с повторяющимися (не уникальными) UID, использовать только совместно с параметром <uid> ## -o, --non-unique # Разрешить создание пользователей с повторяющимися (не уникальными) UID, использовать только совместно с параметром <uid>
@ -242,8 +243,8 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket
## shutdown@<min>-<max> # При завершении работы системы синхронизировать диапазон UID пользователей в системе с глобальной конфигурацией ## shutdown@<min>-<max> # При завершении работы системы синхронизировать диапазон UID пользователей в системе с глобальной конфигурацией
## shutdown@<gid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией ## shutdown@<gid> # При завершении работы системы синхронизировать UID пользователя в системе с глобальной конфигурацией
## ##
## USERADD_SYNC[user_name]='boot,shutdown' ## USERADD_SYNC[<user_name>]='boot,shutdown'
## user_name # Имя пользователя, необязательное поле. Если не указано, то применяется для всех пользователей ## <user_name> # Имя пользователя, необязательное поле. Если не указано, то применяется для всех пользователей
## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя ## boot # При загрузке системы принудительно применить глобальную конфигурацию на пользователя
## shutdown # При завершении работы системы синхронизировать указанного пользователя в системе с глобальной конфигурацией ## shutdown # При завершении работы системы синхронизировать указанного пользователя в системе с глобальной конфигурацией
## USERADD_SYNC=boot ## USERADD_SYNC=boot
@ -254,6 +255,7 @@ SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket
## group_name # Имя группы ## group_name # Имя группы
## group_users # Пользователи группы, перечисление через запятую, если выбрано 'x' то пусто. Может быть пусто. ## group_users # Пользователи группы, перечисление через запятую, если выбрано 'x' то пусто. Может быть пусто.
## gid # GID группы, если необходимо автоматически рассчитывать, то оставить пустым или 'x' ## gid # GID группы, если необходимо автоматически рассчитывать, то оставить пустым или 'x'
## # Если указано 's' или 'system', то свободный gid системной группы
## optional # Дополнительные параметры, например: '--system --non-unique', если выбрано 'x' то пусто ## optional # Дополнительные параметры, например: '--system --non-unique', если выбрано 'x' то пусто
## -o, --non-unique # Разрешить создание групп с повторяющимися (не уникальными) GID, использовать только совместно с параметром <gid> ## -o, --non-unique # Разрешить создание групп с повторяющимися (не уникальными) GID, использовать только совместно с параметром <gid>
## -r, --system # Cоздавать системную группу ## -r, --system # Cоздавать системную группу
@ -608,6 +610,12 @@ GRUB_BOOT_SILENT="splash"
## ipv6.disable=1 # Отключить глобально ipv6 ## ipv6.disable=1 # Отключить глобально ipv6
## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" ## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## Выбор загрузки версии ядра
## Если параметр не задан, то загружаемся с самой последней установленной версией
## KERNEL_BOOT=<пакет>
## <пакет> # Имя пакета с требуемой версией ядра, с которого необходимо загрузиться
## # Варианты: linux49, linux420, linux54, linux510, linux515, linux517, linux519, linux61, linux66, linux68
[/etc/ublinux/server] [/etc/ublinux/server]
## Настройка сервера ## Настройка сервера
################################################################################ ################################################################################
@ -1213,6 +1221,7 @@ NSSWITCHWINBIND=yes
## lxde # Быстрая среда для слабых компьютеров ## lxde # Быстрая среда для слабых компьютеров
## gnome # Альтернативная среда для средних и мощных машин ## gnome # Альтернативная среда для средних и мощных машин
## plasma # Альтернативная среда для мощных машин ## plasma # Альтернативная среда для мощных машин
## pantheon # Pantheon альтернативная среда для средних и мощных машин
## <other> # Любая среда установленная в систему ## <other> # Любая среда установленная в систему
## DESKTOP=none ## DESKTOP=none
@ -1282,16 +1291,29 @@ NSSWITCHWINBIND=yes
## Сервер XDMCP Lightdm ## Сервер XDMCP Lightdm
## LIGHTDM_XDMCP=yes|no|enable|disable ## LIGHTDM_XDMCP=yes|no|enable|disable
## yes|enable # Включить XDMCP ## yes|enable # Включить XDMCP с параметрами по умолчанию
## no|disable # Выключить XDMCP ## no|disable # Выключить XDMCP
## LIGHTDM_XDMCP[port]=<port> ## LIGHTDM_XDMCP[<parametr>]=<value>
## <port> # Порт подключения UDP/IP. По умолчанию: 177 ## <parametr> # Название параметра, примеры в /etc/lightdm/lightdm.conf
## LIGHTDM_XDMCP[listen-address]=<address> ## port # Порт подключения UDP/IP. По умолчанию: 177
## <address> # Адрес хоста соединения XDMCP. По умолчанию: все адреса ## address # Адрес хоста соединения XDMCP. По умолчанию: все адреса
## LIGHTDM_XDMCP[key]=<key> ## key # Ключ аутентификации, используемый для XDM-AUTHENTICATION-1, или пустой, чтобы не использовать аутентификацию (хранится в файлеkeys.conf)
## <key> # Ключ аутентификации, используемый для XDM-AUTHENTICATION-1, или пустой, чтобы не использовать аутентификацию (хранится в файлеkeys.conf) ## hostname # Имя хоста для отправки отчета клиентам XDMCP. По умолчанию: системное имя хоста
## LIGHTDM_XDMCP[hostname]=<hostname> ## <value> # Значение параметра
## <hostname> # Имя хоста для отправки отчета клиентам XDMCP. По умолчанию: системное имя хоста
## Настройка гритера для менеджера диспелея Lightdm
## По умолчанию если не выбрано, то любой доступный, обычно 'lightdm-gtk-greeter'
## LIGHTDM_GREETER[<parametr>]=<value>
## <parametr> # Название параметра, примеры в /etc/lightdm/lightdm.conf
## greeter-session # Название установленного гритера в каталоге /usr/share/xgreeters/*.desktop
## =lightdm-gtk-greeter # LightDM GTK+ гритер
## =io.elementary.greeter # Pantheon гритер
## greeter-hide-users # Скрыть список пользователей, значения (true|false)
## greeter-allow-guest # В списке пользователей показывать Гостя, значения (true|false)
## greeter-show-manual-login # Разрешить вводить произвольного пользователя, значения (true|false)
## greeter-show-remote-login # Разрешить выбрать удалённого пользователя, значения (true|false)
## <value> # Значение параметра
#LIGHTDM_GREETER[greeter-session]=io.elementary.greeter
[/etc/ublinux/video] [/etc/ublinux/video]
## Настройка видеоподсистемы ## Настройка видеоподсистемы

Loading…
Cancel
Save