Страница 1 из 1
Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 13:12
treenew
Всех приветствую!!! Возникла необходимость запретить пользователям завершать работу, перезагружать пк, отправлять в сон и в гибернацию из KDE Plasmа или скрыть кнопки управлением этим функционалом. Перелопатил уже кучу информации в инете. Что только не пробовал... И конфиги sddm правил, и команды всякие пробовал, и kiosk пробовал... Никак не могу добраться до истины..
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 13:26
irton
кнопку выключения на системном блоке выкорчевали уже?
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 13:50
treenew
))))) Нет! Кнопка как раз-то и не интересует! Мне нужно, что бы программно из графической оболочки невозможно было управлять питанием! Из консоли тоже нет необходимости лочить.
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 14:07
av179120
Кнопки можно убрать из меню через ПКМ на каждую кнопку "убрать из избранного"...если устроит вас
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 14:45
treenew
Не совсем понимаю... Из какого меню? Нажимаю "пуск" и у меня там кнопки заблокировать, перезагрузить, выключить. Если нажимаю пкм на них, ничего не происходит...
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 15:28
av179120
Да. они.
Меню Классическое.
На 2-я плазмах5 именно так работает

Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 15:31
irton
Кнопки поди не убрать без правки кода,
но интернет советует
"юзеров из группы power убрать поробуй ты."
Настройка Polkit (для Linux):
Создайте файл /etc/polkit-1/localauthority/50-local.d/disable-shutdown.pkla.
Добавьте правило, запрещающее действие org.freedesktop.consolekit.system.stop или org.freedesktop.login1.power-off для обычных пользователей.
Блокировка действий: В настройках KDE перейдите в «Поведение рабочей области» -> «Экран блокировки» и убедитесь, что действия выключения недоступны.
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 15:41
av179120
Извиняюсь. Это у меня кнопки ещё и в избранном добавлены.
А так-то это поломка системы, как недавно про Вин11 пишут
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 15:58
treenew
Группы power не обнаружил. Polkit тоже не сработал... Возможно, я что-то не так делаю... Не опытен в линуксах...
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 16:04
treenew
av179120 писал(а): 22 янв 2026, 15:41
Извиняюсь. Это у меня кнопки ещё и в избранном добавлены.
А так-то это поломка системы, как недавно про Вин11 пишут
Система только установленнная... Если только из коробки сломаная не идет))
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 22 янв 2026, 16:24
av179120
Недавнее обноаление Вин11 привело некоторые ПК к поломке, когда ОС не реагировала на кнопки!
А вы пытаетесь САМИ добться такого результата???
Ну и irton сказал - кнопку на системнике вы же выламывать не станете?
СМЫСЛ?
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 23 янв 2026, 09:51
treenew
av179120 писал(а): 22 янв 2026, 16:24
Недавнее обноаление Вин11 привело некоторые ПК к поломке, когда ОС не реагировала на кнопки!
А вы пытаетесь САМИ добться такого результата???
Ну и irton сказал - кнопку на системнике вы же выламывать не станете?
СМЫСЛ?
Объясню. Роса будет использоваться на виртуальной машине. К ней будут подключаться несколько пользователей одновременно по RDP(то-есть физическая кнопка выкл меня не интересует). Пользователи не особо взрослые и обязательные. И если по RDP нажать в Plasma выключение или перезагрузку, то виртуальная машина не выключается, а выключается KDE и у пользователя черный экран навсегда! Что бы вернуть все обратно необходимо физически перезагрузить виртуальную машину, или под другим пользователем из консоли коммандой. Для этого мне и необходимо скрыть или обездействовать данный функционал KDE. В винде в любой все это без проблем 100500-ми способами...
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 23 янв 2026, 14:03
va9(2)
treenew писал(а): 22 янв 2026, 15:58
Polkit тоже не сработал... Возможно, я что-то не так делаю...
Гопота такой вариант выдал:
Подходит, если это корпоративная машина / киоск / общий ноутбук.
Пример: запретить power-off обычному пользователю
Код: Выделить всё
sudo nano /etc/polkit-1/rules.d/49-disable-power.rules
Код: Выделить всё
polkit.addRule(function(action, subject) {
if (
action.id.indexOf("org.freedesktop.login1.power-off") >= 0 ||
action.id.indexOf("org.freedesktop.login1.reboot") >= 0 ||
action.id.indexOf("org.freedesktop.login1.suspend") >= 0
) {
return polkit.Result.NO;
}
});
Перезайди в сессию.

Кнопки могут исчезнуть полностью

Но выключение станет невозможно даже через терминал
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 23 янв 2026, 14:50
treenew
va9(2) писал(а): 23 янв 2026, 14:03
treenew писал(а): 22 янв 2026, 15:58
Polkit тоже не сработал... Возможно, я что-то не так делаю...
Гопота такой вариант выдал:
Подходит, если это корпоративная машина / киоск / общий ноутбук.
Пример: запретить power-off обычному пользователю
Код: Выделить всё
sudo nano /etc/polkit-1/rules.d/49-disable-power.rules
Код: Выделить всё
polkit.addRule(function(action, subject) {
if (
action.id.indexOf("org.freedesktop.login1.power-off") >= 0 ||
action.id.indexOf("org.freedesktop.login1.reboot") >= 0 ||
action.id.indexOf("org.freedesktop.login1.suspend") >= 0
) {
return polkit.Result.NO;
}
});
Перезайди в сессию.

Кнопки могут исчезнуть полностью

Но выключение станет невозможно даже через терминал
Вау!!! Почти годнота!!! Пропало всё!!! Кроме перезагрузки... Хотя, вроде, она в правиле тоже прописана...
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 23 янв 2026, 15:18
va9(2)
treenew писал(а): 23 янв 2026, 14:50
Вау!!! Почти годнота!!! Пропало всё!!! Кроме перезагрузки... Хотя, вроде, она в правиле тоже прописана...

Правильное и полное правило (рекомендую)
Открой правило:
Код: Выделить всё
sudo nano /etc/polkit-1/rules.d/49-disable-power.rules
И замени **целиком** на это:
Код: Выделить всё
polkit.addRule(function(action, subject) {
if (
action.id.startsWith("org.freedesktop.login1.power-off") ||
action.id.startsWith("org.freedesktop.login1.reboot") ||
action.id.startsWith("org.freedesktop.login1.suspend") ||
action.id.startsWith("org.freedesktop.login1.hibernate") ||
action.id.startsWith("org.freedesktop.systemd1.power-off") ||
action.id.startsWith("org.freedesktop.systemd1.reboot")
) {
return polkit.Result.NO;
}
});

`startsWith()` — ключевой момент.
Он **перехватывает все варианты**, включая `*-multiple-sessions`.
---

Применение
или просто **перелогинься**.
---
Если хочешь убедиться на 100%
Можно посмотреть, какое именно действие дергает KDE, так:
И нажать «Перезагрузка» в меню.
В логах будет точный `action.id`.
---
Важное предупреждение

После этого:
* **перезагрузка не будет работать нигде**
* ни через меню
* ни через `reboot`
* ни через `systemctl reboot`
Вернуть можно **только удалив правило** или загрузившись под root.
---
Итог
* `login1` — корректно
* проблема была **в неполном списке action.id**
* `reboot` ≠ `reboot-multiple-sessions`
* `startsWith()` — правильное решение
Re: Запрет пользователям управлять питанием через KDE Plasma
Добавлено: 26 янв 2026, 10:47
treenew
Спасибо всем откликнувшимся!!! Особенная благодарность Va9(2)!!! Все заработало согласно ТЗ! Все супер!!!!