diff --git a/ublinux/rc.post.d/11-xorg b/ublinux/rc.post.d/11-xorg index 87145ed..f7d4608 100755 --- a/ublinux/rc.post.d/11-xorg +++ b/ublinux/rc.post.d/11-xorg @@ -100,7 +100,7 @@ SOURCE=${SYSCONF}/keyboard; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null XORG_STR_MONITOR+=" Option \"Above\" \"$(cut -d: -f2 <<< ${VIDEO_PORT_PARAM^^})\"\n" elif egrep -iq "^be:[A-z0-9]*$|^Below:[A-z0-9]*$" <<< "${VIDEO_PORT_PARAM}"; then XORG_STR_MONITOR+=" Option \"Below\" \"$(cut -d: -f2 <<< ${VIDEO_PORT_PARAM^^})\"\n" - elif egrep -iq "^Rotate:[A-z]*$" <<< "${VIDEO_PORT_PARAM}"; then + elif egrep -iq "^rotate:[A-z]*$" <<< "${VIDEO_PORT_PARAM}"; then XORG_STR_MONITOR+=" Option \"Rotate\" \"$(cut -d: -f2 <<< ${VIDEO_PORT_PARAM^^})\"\n" fi [[ -z ${PREFERRED_MODE} ]] && PREFERRED_MODE=$(grep Modeline <<< "${XORG_STR_MONITOR}" | cut -d'"' -f2) diff --git a/ublinux/rc.post.d/16-kiosk b/ublinux/rc.post.d/16-kiosk index e4c5389..117938c 100755 --- a/ublinux/rc.post.d/16-kiosk +++ b/ublinux/rc.post.d/16-kiosk @@ -11,6 +11,7 @@ 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 @@ -35,3 +36,42 @@ polkit.addRule(function(action, subject) { EOF done fi + +## Настройка desktop файлов + if [[ -n ${APPDESKTOP_WHITELIST[@]} ]]; then + for USER in "${!APPDESKTOP_WHITELIST[@]}"; do + true + done + fi + if [[ -n ${APPDESKTOP_BLACKLIST[@]} ]]; then + for USER in "${!APPDESKTOP_BLACKLIST[@]}"; do + if [[ ${USER} == "LOCAL" ]]; then +# for DESKTOP_FILE in $(tr ',;' '\n' <<< ${APPDESKTOP_BLACKLIST[${USER}]}); do + true +# done + elif [[ ${USER} == "GLOBAL" ]]; then + for DESKTOP_FILE in $(tr ',;' '\n' <<< ${APPDESKTOP_BLACKLIST[${USER}]}); do + if [[ ${DESKTOP_FILE} == "*" ]]; then + for DESKTOP_FILE_FIND in $(find /usr/share/applications/ /usr/share/local/applications/ /home/*/.local/share/applications/ -type f -iname "*.desktop"); do + DESKTOP_FILE_FIND_NAME=${DESKTOP_FILE_FIND##*/}; DESKTOP_FILE_FIND_NAME=${DESKTOP_FILE_FIND_NAME%.desktop} + #Нужно сравнить с белым списком, и то что в белом списке есть не удалить +# if [[ ${DESKTOP_FILE_FIND_NAME} == + done + else + rm -f /usr/share/applications/${DESKTOP_FILE}.desktop + rm -f /usr/share/local/applications/${DESKTOP_FILE}.desktop + rm -f /home/*/.local/share/applications/${DESKTOP_FILE}.desktop + fi + done + else + true + fi + 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') + \ No newline at end of file diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 415ce5b..a4bed49 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -373,6 +373,30 @@ NSSWITCHWINBIND=yes ## Назначить настройки XFCE4 по умолчанию #XFCE4_KIOSK_DEFAULT="user-1,user-2" +## Скрыть иконки приложений из меню +## Значения ${USERNAME}: +## ${USERNAME} - Имя пользователя +## * - Все пользователи системы +## Допустимые значения после = : +## * - все файлы *.desktop +## ИМЯ_DESKTOP_ФАЙЛА - файлы .desktop через запятую: xarchiver,xfce4-power-manager-settings +## APPDESKTOP_BLACKLIST[${USERNAME}]=* +## APPDESKTOP_WHITELIST[${USERNAME}]=xarchiver,xfce4-power-manager-settings +## Скопирует все [/usr/share/applications/*.desktop] в [${USERNAME}/.local/share/applications/] и добавит опцию NoDisplay=true в файлы [${USERNAME}/.local/share/applications/*.desktop]: +## Изменения храняться в профиле пользователя, для любого режима +## APPDESKTOP_BLACKLIST[LOCAL]=* +## APPDESKTOP_WHITELIST[LOCAL]=xarchiver,xfce4-power-manager-settings +## Скопирует все [/usr/share/applications/*.desktop] в [/usr/share/local/applications/] и добавит опцию NoDisplay=true в файлы [/usr/share/local/applications/*.desktop]: +## В режиме песочницы изменения применяются каждую перезагрузку +## В режиме полного сохранения, вернуть изменения можно только вручную +## APPDESKTOP_BLACKLIST[GLOBAL]=* +## APPDESKTOP_WHITELIST[GLOBAL]=xarchiver,xfce4-power-manager-settings +## Удалит файлы [/usr/share/applications/*.desktop] [/usr/share/local/applications/*.desktop] [/home/*/.local/share/applications/*.desktop]: +## В режиме песочницы изменения применяются каждую перезагрузку +## В режиме полного сохранения, вернуть изменения можно только вручную +#APPDESKTOP_BLACKLIST[user-1]=xarchiver,xfce4-power-manager-settings +#APPDESKTOP_WHITELIST[user-1]= + ################################################################################ [/etc/ublinux/desktop] # Графическая среда по умолчанию может быть изменена @@ -428,15 +452,6 @@ NSSWITCHWINBIND=yes ## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert #XORG_MONITOR[VGA1]=1920x1080,ro:hdmi1 -## Принудительно добавить и установить разрешение монитора после запуска X через xrandr -## Перечень имён портов вывода получить по каманде: xrandr или xrandr | grep -E "^[A-Z0-9]* connected" | cut -d' ' -f1 -## XRANDR_MONITOR[VGA1]=1920x1080 -## Примеры имени видео порта: VGA1 HDMI1 DP1 VIRTUAL1 -## =1920x1080 =1920x1080x75 -## cvt , gtf , reduced|r , auto , preferred , off , primary , mode:1920x1080 , mode:1920x1080:60 -## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert -#XRANDR_MONITOR[VGA1]=1920x1080,ro:hdmi1 - ## драйверы для видеокарт в случае, если проприентарные не доступны или не работают #FAILSAFENVIDIA=fbdev #FAILSAFEATI=fbdev