❗Более подробнее о возможностях ограничения можно почитать тут (офф вики Альт)
❗Более подробнее о ключах KDE — KDE Kiosk Keys и тут
Ограничения рабочего стола. Запрет смены обоев (фоновых рисунков) и т.д.
Расположение файла в котором указываются параметры ограничений рабочего стола KDE действующих на все учётки:
/etc/kf5/xdg/kdeglobals
При использовании разных ограничений глобально/пользователь необходимо прописать в данном файле
[KDE Action Restrictions][$ie]
Тогда ограничения пользователя будут учитываться, в противном случае будут действовать только параметры заданные глобально.
Расположение файла в котором указываются параметры ограничений рабочего стола KDE действующих на УЗ «user«:
/home/user/.config/kdeglobals
файл /home/user/.config/kdeglobals
файл может содержать разные параметры:
[KDE Resource Restrictions][$i] # Отключает возможность изменения обоев рабочего стола wallpaper=false [KDE Action Restrictions][$i] # Запрещает доступ к командной оболочке shell_access=false # Запрещает выполнение команд run_command=false # Запрещает выполнение команд через интерфейс действий action/run_command=false # Запрещает редактирование значков рабочего стола editable_desktop_icons=false # Отключает возможность блокировки экрана action/lock_screen=false # Отключает возможность создания новой сессии action/start_new_session=false # Отключает переключение пользователей action/switch_user=false # Скрывает опцию показа панели инструментов action/options_show_toolbar=false # Отключает предупреждения о невозможности записи в конфиг warn_unwritable_config=false # Запрещает перемещение панелей инструментов movable_toolbars=false # Отключает возможность разблокировки рабочего стола plasma/plasmashell/unlockedDesktop=false # Запрещает конфигурацию рабочего стола при его блокировке plasma/plasmashell/allow_configure_when_locked=false # Отключает контекстное меню оболочки плазмы plasma/plasmashell/containment_context_menu=false # Запрещает действия в контекстных меню plasma/containment_actions=false # Отключает возможность настройки горячих клавиш action/options_configure_keybinding=false # Отключает настройку панелей инструментов action/options_configure_toolbars=false # Отключает настройку уведомлений action/options_configure_notifications=false # Отключает доступ к настройке рабочего стола action/configdesktop=false # Отключает изменение размера значков на рабочем столе action/incIconSize=false action/decIconSize=false # Отключает показ скрытых файлов/папок action/show_dot=false # Отключает возможность отправки страниц через интерфейс action/sendPage=false # Отключает возможность отправки URL action/sendURL=false # Отключает возможность изменения шрифтов action/font=false # Отключает возможность загрузки новых компонентов через GHNS ghns=false # Запрещает редактирование значков рабочего стола (повтор команды выше) editable_desktop_icons=false # Отключает предупреждения о невозможности записи в конфиг (повтор команды выше) warn_unwritable_config=false # Отключает автозаполнение текста в текстовых полях lineedit_text_completion=false # Отключает отображение пароля при вводе lineedit_reveal_password=false # Запрещает использование привилегий root user/root=false # Отключает контекстное меню для панели меню (Kickoff) action/kicker_rmb=false # Отключает контекстное меню для рабочего стола action/kdesktop_rmb=true # Отключает контекстное меню для терминала action/konsole_rmb=false # Отключает доступ к настройкам action/settings=false # Отключает использование данных приложений рабочего стола appdata_kdesktop=false [KDE Control Module Restrictions][$i] # Отключает доступ к системным настройкам systemsettings.desktop=false # Отключает модуль энергопотребления kcm_energyinfo.desktop=false # Отключает информацию о дистрибутиве kcm_about-distro.desktop=false # Отключает модуль специальных возможностей kcm_access.desktop=false # Отключает модуль настройки цветов kcm_colors.desktop=false # Отключает модуль темы рабочего стола kcm_desktoptheme.desktop=false # Отключает настройки рабочей среды kcm_workspace.desktop=false # Отключает настройки файлового индекса Baloo kcm_baloofile.desktop=false # Отключает настройки клавиш kcm_keys.desktop=false # Отключает модуль настройки шрифтов kcm_fonts.desktop=false # Отключает модуль уведомлений kcm_notifications.desktop=false # Отключает управление пользователями kcm_users.desktop=false # Отключает настройки языка kcm_translations.desktop=false # Отключает модуль настройки тачпада kcm_touchpad.desktop=false # Отключает модуль стилей интерфейса kcm_style.desktop=false # Отключает заставки при входе kcm_splashscreen.desktop=false # Отключает настройки мыши kcm_mouse.desktop=false # Отключает настройки диспетчера входа (SDDM) kcm_sddm.desktop=false # Отключает настройку значков kcm_icons.desktop=false # Отключает общие настройки внешнего вида kcm_lookandfeel.desktop=false # Отключает настройки сессий kcm_smserver.desktop=false # Отключает начальную страницу настроек kcm_landingpage.desktop=false # Отключает настройки ночного режима kcm_nightcolor.desktop=false # Отключает настройки указателя мыши kcm_cursortheme.desktop=false # Отключает настройки форматов (даты, чисел и пр.) kcm_formats.desktop=false # Отключает настройки автозапуска приложений kcm_autostart.desktop=false # Отключает настройки графического планшета kcm_tablet.desktop=false # Отключает настройки Bluetooth kcm_bluetooth.desktop=false # Отключает настройки клавиатуры kcm_keyboard.desktop=false # Отключает выбор компонентов приложений kcm_componentchooser.desktop=false # Отключает настройки обратной связи при запуске приложений kcm_launchfeedback.desktop=false # Отключает настройки цветовой калибровки kcm_kgamma.desktop=false # Отключает управление демонами KDE kcm_kded.desktop=false # Отключает настройки часов kcm_clock.desktop=false # Отключает модуль работы с камерой kamera.desktop=false # Отключает проверку правописания kcmspellchecking.desktop=false # Отключает настройки джойстика kcm_joystick.desktop=false # Отключает настройки типов файлов kcm_filetypes.desktop=false # Отключает поиск по Plasmoid kcm_plasmasearch.desktop=false # Отключает действия Solid kcm_solid_actions.desktop=false # Отключает настройки активности kcm_activities.desktop=false # Отключает настройки интерфейса QtQuick kcm_qtquicksettings.desktop=false # Отключает управление принтерами kcm_printer_manager.desktop=false # Отключает настройки автоматического монтирования kcm_device_automounter.desktop=false # Отключает настройку путей в файловой системе kcm_desktoppaths.desktop=false # Отключает модуль установки шрифтов kcm_fontinst.desktop=false # Отключает настройки PCI устройств kcm_pci.desktop=false # Отключает настройки Samba kcm_samba.desktop=false # Отключает настройки OpenGL kcm_glx.desktop=false # Отключает настройки Wayland kcm_wayland.desktop=false # Отключает настройки USB устройств kcm_usb.desktop=false # Отключает SMART мониторинг smart.desktop=false # Отключает настройки прерываний kcm_interrupts.desktop=false # Отключает настройки Vulkan kcm_vulkan.desktop=false # Отключает настройки процессора kcm_cpu.desktop=false # Отключает настройки сетевых интерфейсов kcm_nic.desktop=false # Отключает настройки X-сервера kcm_xserver.desktop=false # Отключает настройки информации об устройстве kcm_devinfo.desktop=false # Отключает настройки EGL kcm_egl.desktop=false # Отключает настройки для аудио CD kcm_audiocd.desktop=false # Отключает настройки cookies kcm_cookies.desktop=false # Отключает настройки Cron kcm_cron.desktop=false # Отключает уведомления о свободной памяти kcm_freememorynotifier.desktop=false # Отключает настройки учетных записей kcm_kaccounts.desktop=false # Отключает KDE Connect kcm_kdeconnect.desktop=false # Отключает настройки дисплея kcm_kscreen.desktop=false # Отключает эффекты KWin kcm_kwin_effects.desktop=false # Отключает виртуальные рабочие столы KWin kcm_kwin_virtualdesktops.desktop=false # Отключает правила для окон KWin kcm_kwinrules.desktop=false # Отключает настройки сети kcm_networkmanagement.desktop=false # Отключает настройки PulseAudio kcm_pulseaudio.desktop=false # Отключает настройки SSL kcm_ssl.desktop=false # Отключает виртуальную клавиатуру kcm_virtualkeyboard.desktop=false # Отключает KDiskFree kcm_kdf.desktop=false # Отключает горячие клавиши kcm_hotkeys.desktop=false # Отключает KDE Wallet kcm_kwallet5.desktop=false # Отключает настройки композитора KWin kwincompositing.desktop=false # Отключает настройки декораций окон KWin kcm_kwindecoration.desktop=false # Отключает настройки поведения окон KWin kcm_kwinoptions.desktop=false # Отключает настройку экранных краев KWin kcm_kwinscreenedges.desktop=false # Отключает скрипты KWin kcm_kwin_scripts.desktop=false # Отключает настройки переключателя задач KWin kcm_kwintabbox.desktop=false # Отключает настройки сенсорного ввода KWin kcm_kwintouchscreen.desktop=false # Отключает модуль CDDB kcm_cddb.desktop=false # Отключает настройки компонентов kcm_multicomponentchooser.desktop=false # Отключает предпочтения сети kcm_netpref.desktop=false # Отключает профили PowerDevil kcm_powerdevilactivitiesconfig.desktop=false kcm_powerdevilglobalconfig.desktop=false kcm_powerdevilprofilesconfig.desktop=false # Отключает настройки прокси kcm_proxy.desktop=false # Отключает настройки блокировки экрана kcm_screenlocker.desktop=false # Отключает настройки Samba kcm_smb.desktop=false # Отключает веб-ярлыки kcm_webshortcuts.desktop=false
В данном примере ограничены настройки параметров рабочего стола KDE (kcm_), ограничены параметры блокировки рабочего стола, ограничены изменения внешнего вида и другие. Запрещена смена обоев.
Почти полный список ключей для настройки рабочего стола можно получить выполнив в консоли команду
kcmshell5 --list
Для настройки ключа в [KDE Action Restrictions] необходимо добавить .desktop.
Т.е. в выводе команды —list будет указано kcm_webshortcuts, соответственно для управления необходимо указывать kcm_webshortcuts.desktop.
Меню для включения и отключения защиты KDE
Скрипт при снятии защиты делает бекап актуальных настроек, внесенных в файл kdeglobals и удаляет сам файл с настройками. При установке защиты, скрипт просто восстанавливает файл из бекапа.
Создаете файл с расширением .sh, в правах файла ставите галочку, что он является исполняемым. Содержимое файла
#!/bin/bash i=$(kdialog --radiolist "Выберите действие" 1 "Установить защиту KDE" on 2 "Снять защиту KDE" off) if [ $i = 1 ] ; then pkexec bash -c 'cp /etc/kf5/xdg/kdeglobals.bk /etc/kf5/xdg/kdeglobals' kdialog --msgbox "Защита установлена" fi if [ $i = 2 ] ; then pkexec bash -c 'cp /etc/kf5/xdg/kdeglobals /etc/kf5/xdg/kdeglobals.bk && rm -f /etc/kf5/xdg/kdeglobals' kdialog --msgbox "Защита снята" fi
После выполнения скрипта, рекомендуется делать ребут системы или релог пользователя, но часть настроек будет доступна сразу после удаления защиты.
chmod 744 /usr/bin/kcmshell5
Блокировка ярлыков
su - chown root:root /home/user/Рабочий\ стол chown root:root /home/user/Рабочий\ стол/* chmod 0755 /home/user/Рабочий\ стол chmod 0755 /home/user/Рабочий\ стол/*
* user — пользователь, измените на свой
