[package] update

master
Dmitry Razumov 3 years ago
parent cd1a565d20
commit 7d582c1e32

@ -0,0 +1 @@
VERSION 2.5

@ -0,0 +1,22 @@
#!/bin/bash
##
## Update VERSION 1.4
## $1 - Version
## Default - current Version value plus one (in minor section)
##
FILE_VERSION="VERSION.md"
[[ $1 ]] && VER=$1
if [[ -z ${VER} ]] ; then
SOURCE_FILE_VERSION=$(find ../ -maxdepth 1 -type f -iname "${FILE_VERSION}" -print -quit)
CURRENT=$(cat ${SOURCE_FILE_VERSION} | grep 'VERSION' | cut -d" " -f2)
MAJOR=$(echo ${CURRENT} | cut -d. -f1)
MINOR=$(echo ${CURRENT} | cut -d. -f2)
VER="${MAJOR}.$(echo $((${MINOR} +1)))"
fi
echo ":: Updated VERSION ${CURRENT} to ${VER}"
find ../ -maxdepth 2 -type f -iname "${FILE_VERSION}" -exec echo ":: Insert version in file: {}" \; -exec sed "s/VERSION *[[:digit:]]*.*/VERSION ${VER}/" -i {} \;
find ../ -type f -iname "ublinux-data.ini" -exec echo ":: Insert version in file: {}" \; -exec sed "s/^VERSION=[[:digit:].]*$/VERSION=${VER}/" -i {} \;

@ -171,6 +171,10 @@ MKSQFS_FASTALG="-b 32K -comp gzip"
#/rc.post.d/11-xorg
SYSCONF=/etc/ublinux
#/rc.preinit.d/21-ntp
NTPSERVERS_DEFAULT="ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org"
NTPSERVERS_FALLBACK="0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org"
#/rc.d/rc.desktop
#NOEXEC="i3term:xbindkeys;i3term:fusion-icon;i3term:ublinuxupdate"

@ -0,0 +1,28 @@
#!/bin/bash
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
if [[ -n ${XFCE4_XFCONF[@]} ]]; then
for CHANNEL_PROPERTY in "${!XFCE4_XFCONF[@]}"; do
USERS=$(cut -d: -f1 <<< ${CHANNEL_PROPERTY} | tr " ,;" "\n")
# Выбрать пользователей из указанных групп %..
USERS_GROUP=$(grep "^%" <<< ${USERS} | tr -d "%" | xargs -rl getent group | cut -d: -f4 | tr "," "\n")
if [[ -z ${USERS} ]] || grep -q "^${USER}$" <<< ${USERS} || grep -q "^${USER}$" <<< ${USERS_GROUP}; then
CHANNEL=$(cut -d: -f2 <<< ${CHANNEL_PROPERTY})
PROPERTY=$(cut -d: -f3 <<< ${CHANNEL_PROPERTY})
TYPE=$(cut -d: -f1 <<< ${XFCE4_XFCONF[${CHANNEL_PROPERTY}]})
SET=$(cut -d: -f2 <<< ${XFCE4_XFCONF[${CHANNEL_PROPERTY}]})
if [[ ${TYPE,,} == "reset" ]]; then
xfconf-query --channel "${CHANNEL}" --property "${PROPERTY}" --reset --recursive
else
xfconf-query --channel "${CHANNEL}" --property "${PROPERTY}" --create --type "${TYPE}" --set "${SET}"
fi
fi
done
fi

@ -0,0 +1 @@
../deonly/xfce4-xfconf

@ -3,9 +3,9 @@
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
. /usr/lib/ublinux/os-config
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/save; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
PATH_ROOT=""
@ -21,7 +21,7 @@ PATH_MODULES=$(find ${PATH_ROOT}/memory/layer-base/*/ -maxdepth 1 -type d -name
[[ -n ${PATH_MODULES} ]] || PATH_MODULES="$(find ${PATH_ROOT}/memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_MODULES} ]] && PATH_MODULES="${PATH_MODULES%/*}/${NAME_MODULES}" || exit 0
[[ -n ${PATH_ROOTCOPY} ]] || install -dm0750 -o root -g root "${PATH_ROOTCOPY}"
[[ -n ${PATH_ROOTCOPY} ]] || install -dm0755 -o root -g root "${PATH_ROOTCOPY}"
if [[ ${SAVE_ALL_CACHE} == "rootcopy" && -w ${PATH_ROOTCOPY} ]]; then
cd ${PATH_CHANGES}
# find etc/ -type f -name ld.so.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
@ -34,7 +34,6 @@ PATH_MODULES=$(find ${PATH_ROOT}/memory/layer-base/*/ -maxdepth 1 -type d -name
find usr/share/glib-*/schemas/ -type f -name gschemas.compiled -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/icons/ -type f -name icon-theme.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/mime/ -maxdepth 1 -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/mime/ -type f -name *.xml -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find var/cache/fontconfig/ -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
# find var/cache/ldconfig/ -type f -name aux-cache -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \;
# install -dm700 ${PATH_ROOTCOPY}/var/cache/ldconfig

@ -4,38 +4,12 @@ ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
. /usr/lib/ublinux/functions
. /usr/lib/ublinux/os-config
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
## Настрока polkit парвил
rm -f /etc/polkit-1/rules.d/kiosk-*
if [[ -n ${POLKIT[@]} ]]; then
for RULES in "${!POLKIT[@]}"; do
RULES_GROUP=
RULES_FILE="/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules"
RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]})
for GROUP in $(cut -d: -f2 <<< ${POLKIT[${RULES}]} | tr ',' '\n'); do
RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") "
done
cat >> ${RULES_FILE} <<EOF
polkit.addRule(function(action, subject) {
if (action.id.indexOf("${RULES}") == 0
&& subject.active == true
&& subject.local == true
${RULES_GROUP}
)
{
return polkit.Result.${RULES_RESULT^^};
}
});
EOF
done
fi
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Настройка desktop файлов
if [[ -n ${APPDESKTOP_WHITELIST[@]} ]]; then
@ -69,9 +43,3 @@ EOF
done
fi
# while read LSPCI_DEVICE; do
# while read KERNEL_MODULE; do
# [[ ${KERNEL_MODULE} != "nouveau" ]] && modprobe ${KERNEL_MODULE} 2>/dev/null && break
# done < <(lspci -ks ${LSPCI_DEVICE%% *} | grep 'Kernel modules:' | cut -d: -f2 | tr ',' '\n' | tac)
# done < <(lspci | egrep -i 'vga|3d')

@ -0,0 +1,36 @@
#!/usr/bin/env bash
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
XFCE4_LOGOUT_BUTTON=".xfsm-logout-buttons > box:first-child button:nth-child(1) { margin-left: -160px; margin-right: 160px; }"
## Настройка GTK3 для XFCE4
if [[ -n ${XFCE4_DIALOGPOWER_LOGOUT[@]} ]]; then
for SELECT_USERS in "${!XFCE4_DIALOGPOWER_LOGOUT[@]}"; do
USERS=$(cut -d: -f1 <<< ${SELECT_USERS} | tr " ,;" "\n")
# Выбрать пользователей из указанных групп %..
USERS_GROUP=$(grep "^%" <<< ${USERS} | tr -d "%" | xargs -rl getent group | cut -d: -f4 | tr "," "\n")
[[ ${USERS} == 0 ]] && USERS=$(ls -1 /home/ 2>/dev/null)
while read SELECT_USER; do
FILE_GTKCSS="/home/${SELECT_USER}/.config/gtk-3.0/gtk.css"
if [[ -d ${FILE_GTKCSS%/*} ]]; then
if [[ ${XFCE4_DIALOGPOWER_LOGOUT[${SELECT_USERS}],,} == "hide" ]]; then
grep -q "${XFCE4_LOGOUT_BUTTON}" ${FILE_GTKCSS} 2>/dev/null || echo "${XFCE4_LOGOUT_BUTTON}" >> ${FILE_GTKCSS}
else
sed "/${XFCE4_LOGOUT_BUTTON}/d" -i ${FILE_GTKCSS}
fi
fi
done < <(echo -e "$(grep -v "^%" <<< ${USERS})\n${USERS_GROUP}" | uniq)
done
fi

@ -0,0 +1,48 @@
#!/usr/bin/env bash
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Настрока polkit правил
rm -f /etc/polkit-1/rules.d/kiosk-*
if [[ -n ${POLKIT[@]} ]]; then
for RULES in "${!POLKIT[@]}"; do
RULES_GROUP=
RULES_FILE="/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules"
RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]})
for GROUP in $(grep ":" <<< ${POLKIT[${RULES}]} | cut -d: -f2 | tr ',' '\n'); do
RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") "
done
cat >> ${RULES_FILE} <<EOF
polkit.addRule(function(action, subject) {
if (action.id.indexOf("${RULES}") == 0
&& subject.active == true
&& subject.local == true
${RULES_GROUP}
)
{
return polkit.Result.${RULES_RESULT^^};
}
});
EOF
done
# touch /etc/polkit-1/rules.d
# systemctl restart polkit
fi
# while read LSPCI_DEVICE; do
# while read KERNEL_MODULE; do
# [[ ${KERNEL_MODULE} != "nouveau" ]] && modprobe ${KERNEL_MODULE} 2>/dev/null && break
# done < <(lspci -ks ${LSPCI_DEVICE%% *} | grep 'Kernel modules:' | cut -d: -f2 | tr ',' '\n' | tac)
# done < <(lspci | egrep -i 'vga|3d')

@ -0,0 +1,31 @@
#!/usr/bin/env bash
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
KIOSKRC="/etc/xdg/xfce4/kiosk/kioskrc"
## Настройка /etc/xdg/xfce4/kiosk/kioskrc
if [[ -n ${XFCE4_KIOSK[@]} ]]; then
[[ -d ${KIOSKRC%/*} ]] || install -dm0755 -o root -g root "${KIOSKRC%/*}"
[[ -f ${KIOSKRC} ]] && true > ${KIOSKRC}
for SELECT in "${!XFCE4_KIOSK[@]}"; do
SECTION=$(cut -d: -f1 <<< ${SELECT})
PROPERTY=$(cut -d: -f2 <<< ${SELECT})
VALUE=${XFCE4_KIOSK[${SELECT}]}
[[ ${VALUE} == "none" ]] && VALUE=NONE
[[ ${VALUE} == "all" ]] && VALUE=ALL
grep -q "${SECTION}" ${KIOSKRC} || echo -e "[${SECTION}]\n" >> ${KIOSKRC}
sed "/^${PROPERTY}.*/d" -i ${KIOSKRC}
sed "/\[${SECTION}\]/a ${PROPERTY}=${VALUE}" -i ${KIOSKRC}
done
fi

@ -21,14 +21,16 @@ SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
NTPSERVERS_DEFAULT="ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org"
NTPSERVERS_FALLBACK="0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org"
[[ -n $1 ]] && NTPSERVERS=$1
[[ -n $2 ]] && ETH_INTERFACE="_$2"
if [[ -n ${NTPSERVERS} && ${NTPSERVERS,,} != "dhcp" ]]; then
[[ ${NTPSERVERS,,} == "default" ]] && NTPSERVERS=${NTPSERVERS_DEFAULT}
if [[ -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then
CONFIG_TIMESYNCD=${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig${ETH_INTERFACE}.conf
mkdir -p ${ROOTFS}/etc/systemd/timesyncd.conf.d
echo "[Time]" > ${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig.conf
echo "NTP=${NTPSERVERS}" | tr ',;' ' ' >> ${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig.conf
echo "FallbackNTP=${NTPSERVERS_FALLBACK}" >> ${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig.conf
echo "[Time]" > ${CONFIG_TIMESYNCD}
echo "NTP=${NTPSERVERS}" | tr ',;' ' ' >> ${CONFIG_TIMESYNCD}
echo "FallbackNTP=${NTPSERVERS_FALLBACK}" >> ${CONFIG_TIMESYNCD}
fi
fi

@ -28,7 +28,7 @@
[/etc/ublinux/config]
## Config verison
## Версия конфигурации
VERSION=2.3
VERSION=2.5
## Additional boot parameters
## Дополнительные параметры загрузки
@ -159,9 +159,6 @@ MACHINEID=RANDOM
## PRINTERADD=manual (default)
#PRINTERADD=auto
##Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы
#SAVE_ALL_CACHE=rootcopy
## Обновлять кеш библиотек при старте. Полезно при использовании модулей от старых сборок.
#RUNLDCONFIG=yes
@ -211,6 +208,16 @@ DEPMOD=yes
## Алгоритм сжатия, используемый для сохранения измененний в моудль
#MKSQFS_FASTALG="-b 512K -comp lz4 -Xhc"
################################################################################
## Настройка сохранений
[/etc/ublinux/save]
##Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы
#SAVE_ALL_CACHE=rootcopy
#SELECT_SAVE_ROOTCOPY_WHITELIST=""
#SELECT_SAVE_ROOTCOPY_BLACKLIST=""
#SELECT_SAVE_MODULE_WHITELIST=""
#SELECT_SAVE_MODULE_BLACKLIST=""
################################################################################
## Настройка сети
[/etc/ublinux/network]
@ -305,7 +312,9 @@ DEPMOD=yes
IPV6=no
## Серверы времени
#NTPSERVERS=ntp1.vniiftri.ru,ru.pool.ntp.org
## NTPSERVERS=dhcp # Выбрать сервер времени предложенный DHCP
## NTPSERVERS=default # Выбрать сервера времени ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## NTPSERVERS=ntp1.vniiftri.ru,ru.pool.ntp.org
NTPSERVERS=dhcp
## Дбавить порядок поиска DNS: avahi и winbind (default no)
@ -363,16 +372,44 @@ NSSWITCHWINBIND=yes
## Режим киоска XFCE4
## =all - разрешить всем | =none - запретить | =%whell,%users - разрешить группам | =superadmin,user-1 - разрешить пользователям | =%wheel,user-1 - разрешить пользователю и группе
#XFCE4_KIOSK[CustomizeSplash]=ALL
#XFCE4_KIOSK[CustomizeChooser]=NONE
#XFCE4_KIOSK[CustomizeLogout]=NONE
#XFCE4_KIOSK[CustomizeCompatibility]=%wheel
#XFCE4_KIOSK[Shutdown]=%wheel
#XFCE4_KIOSK[CustomizeSecurity]=NONE
#XFCE4_KIOSK[xfce4-panel:CustomizePanel]=%wheel
#XFCE4_KIOSK[xfce4-session:SaveSession]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeSplash]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeChooser]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeLogout]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeCompatibility]=NONE
#XFCE4_KIOSK[xfce4-session:Shutdown]=ALL
#XFCE4_KIOSK[xfce4-session:CustomizeSecurity]=NONE
#XFCE4_KIOSK[xfdesktop:UserMenu]=%wheel
#XFCE4_KIOSK[xfdesktop:CustomizeBackdrop]=%wheel
#XFCE4_KIOSK[xfdesktop:CustomizeDesktopMenu]=%wheel
#XFCE4_KIOSK[xfdesktop:CustomizeWindowlist]=NONE
#XFCE4_KIOSK[xfdesktop:CustomizeDesktopIcons]=%wheel
## Назначить настройки XFCE4 по умолчанию
#XFCE4_KIOSK_DEFAULT="user-1,user-2"
## Назначить настройки XFCE4 через xfconf-query
## XFCE4_XFCONF[$users,%$groups:$channel:$property]=$type:$value
## $users =superadmin,user-1 - разрешить пользователям.
## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе
## $channel $property $type $value - значения xfconf-query --channel $channel --property $property --create --type $type --set $set
## #type =reset - выполняет xfconf-query --channel $channel --property $property --reset --recursive
#XFCE4_XFCONF[%users:xfce4-session:/shutdown/LockScreen]=bool:false
#XFCE4_XFCONF[%users:xfce4-session:/shutdown/ShowHibernate]=bool:false
#XFCE4_XFCONF[%users:xfce4-session:/shutdown/ShowSuspend]=bool:false
#XFCE4_XFCONF[%users:xfce4-session:/shutdown/ShowHybridSleep]=bool:false
#XFCE4_XFCONF[%users:xfce4-session:/shutdown/ShowSwitchUser]=bool:false
#XFCE4_XFCONF[%users:xfce4-session:/general/ShowSave]=bool:false
## Скрыть кнопку LOGOUT в XFCE4 диалог выключения питания
## XFCE4_DIALOGPOWER_LOGOUT[$users,%$groups]=$value
## $users =superadmin,user-1 - разрешить пользователям.
## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе
## $value =hide - скрыть кнопку
## $value =show - показать кнопку
#XFCE4_DIALOGPOWER_LOGOUT[%users]=hide
## Скрыть иконки приложений из меню
## Значения ${USERNAME}:
## ${USERNAME} - Имя пользователя

Loading…
Cancel
Save