Как отключить кнопку выключения и перезагрузки в sddm на Debian?


10

Что я пробовал: я создал файл /etc/sddm/sddm.conf(также пробовал /etc/sddm.conf) со следующим содержанием:

[General]
HaltCommand=true
RebootCommand=true

К сожалению, это не помогло - кнопка перезагрузки продолжала работать. Желательно, чтобы кнопки также ушли.

Изменить: Я хотел бы уточнить, что я не ожидаю, trueчто будет интерпретироваться как логическое значение, я ожидаю, что это будет интерпретироваться как команда. И trueэто допустимая команда, так как в /bin/trueбольшинстве систем Linux есть исполняемый файл , который ничего не делает, кроме возврата успешного завершения состояния выхода. Просто чтобы быть уверенным, что это не проблема пути, я также попытался установить его, /bin/trueчто также не помогло.


1
Вы перезапустили SDDM (или перезагрузили компьютер) после внесения этого изменения?
Телеком

Ты ничего не сможешь сделать, чтобы я отключил питание твоей машины, если ты позволишь мне прикоснуться к ней. Если я смогу нажать кнопку питания, то после 4 секундного нажатия большинство машин выключится. Если я могу дотронуться до шнура питания, я могу отключить его.
Ctrl-Alt-Delor

2
@ ctrl-alt-delor Прежде всего, у вас не всегда есть физический доступ только потому, что вы можете получить доступ к экрану входа в систему. Но в моем случае речь идет не о безопасности, а о том, что я хочу предотвратить случайные отключения.
У. Манн

Ответы:


1

Если вы не хотите, чтобы они отображались, тогда следует установить значение false в /etc/sddm/sddm.conf. В любом случае, теоретически, поскольку это не является действительным вариантом, перечисленным в документации. например, HaltCommand = должен указывать на команду, которая должна выполняться, когда сделан запрос на отключение, поэтому установка true должна фактически совпадать с установкой по умолчанию, которая равна "/ usr / bin / systemctl poweroff", а false - противоположность это должно быть то, что вы хотите.

[General]
HaltCommand=false
RebootCommand=false

Способ, разрешенный в документах, состоит в том, чтобы позволить им быть видимыми и просто заставить их не работать, установив / path / to / some / script /, содержимое которого должно быть примерно таким:

#!/bin/bash
notify-send "Shutdown/Reboot not allowed!"

Для этого вам нужно установить libnotify-bin, но он все равно должен отключить эту опцию.

Вышесказанное должно работать, однако многие люди испытывают проблемы с этим и возвращаются к KDM. Ссылка здесь: https://github.com/sddm/sddm/issues/611


К сожалению, это не работает на моей машине. Кнопки продолжают вести себя как положено.
AF7

1
@ AF7 Все, что я могу сделать, это указать вам направление, чтобы получить больше информации. Поскольку я вырыл глубже, кажется, что у многих людей есть та же самая проблема. К сожалению, без решений. github.com/sddm/sddm/issues/611
Майкл Прокопец

@MichaelProkopec Я добавил пояснение, почему я его установил true. Спасибо за ссылку.
W.Mann

@ W.Mann Интересная проблема У меня та же проблема в виртуальной коробке, которую я настроил, чтобы посмотреть, смогу ли я ее исправить, но пока не радуюсь. Добро пожаловать за ссылку, я редко получаю спасибо за плохие новости.
Майкл Прокопец

0

Вы должны поместить свои правки в этот файл здесь /etc/sddm.conf.d

[General]
HaltCommand=true
RebootCommand=true

Затем перезагрузите компьютер и посмотрите, продолжают ли работать ваши кнопки. Это должно решить проблему. Вы можете прочитать больше о SDDM на вики-сайте arch здесь: https://wiki.archlinux.org/index.php/SDDM#Configuration


1
Я полагаю, вы имеете в виду, что вы должны создать файл конфигурации внутри той же папки, а не редактировать /etc/sddm.conf.d, которая является папкой.
AF7

Не могли бы вы просто перезапустить службу (или лучше сказать службе перезагружать ее конфигурацию). Вам не нужно перезагружаться.
Ctrl-Alt-Delor

Какая будет разница? В .dкаталогах, как правило , только там , чтобы избежать необходимости в изменениях слияния в пакет установленных конфигурационных файлов на обновление и разрешить другие пакеты легко расширить конфигурацию. Кроме того, /etc/sddm.conf.dв Debian нет (stretch), а на man-странице четко указан файл /etc/sddm.conf как файл конфигурации. Я только что обнаружил, что sddm --example-configпечатает текущий конфиг, и он уважает содержимое /etc/sddm.conf. Это просто не ведет себя так, как я ожидал.
У. Манн

-1

Ваша система использует systemd? В этом случае systemd устанавливает обработчик для ключа Poweroff, который можно отключить, отредактировав /etc/systemd/logind.conf с помощью:

HandlePowerKey=ignore

Может также отключить (мягкую) кнопку питания на компьютере (я этого не пробовал).


Чтобы уточнить исходный вопрос: я не хочу отключать какие-либо аппаратные кнопки, но кнопки, показанные в sddm на экране.
У. Манн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.