#!/usr/bin/bash # # Author: Dmitry Razumov # Copyright (c) 2021-2025 UBLinux # # SPDX-License-Identifier: AGPL-3.0-or-later # ENABLED=yes [[ ${ENABLED} == "yes" ]] || { return 0 2>/dev/null && return 0 || exit 0; } SOURCE=/usr/lib/ublinux/default; [[ -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