You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.6 KiB
32 lines
1.6 KiB
#!/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}"
|
|
# Дописать для массивов, где --type и --set несколько, пример
|
|
# xfconf-query --channel "xfce4-panel" --property "/panels/panel-2/plugin-ids" --create --type "int" --type "int" --set "12" --set "14"
|
|
# Добавить условие, если --channel "xfce4-panel", то `xfce4-panel -r`
|
|
fi
|
|
fi
|
|
done
|
|
fi
|
|
|