Jak mogę wyłączyć przycisk wyłączania i ponownego uruchamiania w sddm na Debianie?

10

Co próbowałem: utworzyłem plik /etc/sddm/sddm.conf(również próbowałem /etc/sddm.conf) o następującej treści:

[General]
HaltCommand=true
RebootCommand=true

Niestety to nie pomogło - przycisk restartu nadal działał. Najlepiej, aby przyciski również zniknęły.

Edycja: Chciałbym wyjaśnić, że nie oczekuję trueinterpretacji jako wartości boolowskiej, oczekuję, że będzie interpretowana jako polecenie. A trueto ważne, ponieważ istnieje komenda wykonywalny /bin/truena większości systemów Linux, który nie robi nic oprócz powrocie sukces status wyjścia. Aby mieć pewność, że nie jest to problem ze ścieżką, próbowałem również ustawić to, /bin/trueco również nie pomogło.

W.Mann
źródło
1
Czy po wprowadzeniu tej zmiany ponownie uruchomiłeś SDDM (lub uruchomiłeś ponownie)?
telcoM
Nic nie możesz zrobić, aby powstrzymać mnie od wyłączania komputera, jeśli pozwolisz mi go dotknąć. Jeśli mogę nacisnąć przycisk zasilania, większość maszyn wyłączy się po 4 sekundach. Jeśli mogę dotknąć przewodu zasilającego, mogę go odłączyć.
ctrl-alt-delor
2
@ ctrl-alt-delor Po pierwsze, nie zawsze masz fizyczny dostęp tylko dlatego, że możesz uzyskać dostęp do ekranu logowania. Ale w moim przypadku nie chodzi o bezpieczeństwo, po prostu chcę zapobiec przypadkowym wyłączeniom.
W.Mann

Odpowiedzi:

1

Jeśli nie chcesz, aby się wyświetlały, ustaw wartość false w /etc/sddm/sddm.conf. Teoretycznie zresztą, ponieważ nie wydaje się to faktyczną opcją wymienioną w dokumentacji. np. HaltCommand = ma wskazywać na polecenie, które ma zostać wykonane po wysłaniu żądania zamknięcia, więc ustawienie true powinno być faktycznie takie samo jak domyślne, czyli „/ usr / bin / systemctl poweroff”, a false oznacza przeciwieństwo to powinno być to, czego chcesz.

[General]
HaltCommand=false
RebootCommand=false

W dokumentach dozwolony jest sposób, aby były widoczne i po prostu sprawiały, że nie działały, ustawiając na / path / to / some / script / których zawartość powinna być podobna do:

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

Aby to zrobić, musisz zainstalować libnotify-bin, ale powinien on nadal wyłączać tę opcję.

Powyższe powinno zadziałać, jednak wiele osób ma z tym problemy i wraca do KDM. Odnośnik tutaj: https://github.com/sddm/sddm/issues/611

Michael Prokopec
źródło
Niestety nie działa to na moim komputerze. Przyciski zachowują się zgodnie z oczekiwaniami.
AF7
1
@ AF7 Wszystko, co mogę zrobić, to skierować cię w stronę, aby uzyskać więcej informacji. Ponieważ kopałem głębiej, wydaje się, że wiele osób ma ten sam problem. Niestety bez rozwiązań. github.com/sddm/sddm/issues/611
Michael Prokopec 30.01.2019
@MichaelProkopec Dodałem wyjaśnienie, dlaczego to ustawiłem true. Dzięki za link.
W.Mann
@ W.Mann Ciekawy problem Mam ten sam problem w wirtualnej skrzynce, którą skonfigurowałem, aby sprawdzić, czy mogę to naprawić i nie mam jeszcze radości. Nie ma za co, dzięki za złe wieści.
Michael Prokopec
0

Powinieneś umieścić tutaj swoje zmiany w tym pliku /etc/sddm.conf.d

[General]
HaltCommand=true
RebootCommand=true

Następnie uruchom ponownie i sprawdź, czy przyciski nadal działają. To powinno rozwiązać problem. Możesz przeczytać więcej o SDDM na arch wiki: https://wiki.archlinux.org/index.php/SDDM#Configuration

garshol
źródło
1
Uważam, że masz na myśli, że powinieneś utworzyć plik konfiguracyjny w tym samym folderze, a nie edytować /etc/sddm.conf.d, który jest folderem.
AF7
Czy możesz po prostu zrestartować usługę (lub lepiej powiedzieć tej usłudze, aby ponownie załadowała swoją konfigurację). Nie powinieneś ponownie uruchamiać systemu.
ctrl-alt-delor
Jaka byłaby różnica? Te .dkatalogi są zazwyczaj tylko tam, aby uniknąć konieczności zmiany seryjnej do plików konfiguracyjnych pakietu zainstalowanych na rozbudowę i umożliwić inne pakiety łatwo rozszerzyć konfigurację. Poza tym nie ma go /etc/sddm.conf.dw Debianie (stretch), a manpage wyraźnie określa /etc/sddm.conf jako plik konfiguracyjny. Właśnie znalazłem, że sddm --example-configdrukuje bieżącą konfigurację i szanuje zawartość pliku /etc/sddm.conf. Po prostu nie zachowuje się tak, jak bym się spodziewał.
W.Mann
-1

Czy twój system używa systemd? W takim przypadku systemd instaluje moduł obsługi klucza Poweroff, który można wyłączyć, edytując /etc/systemd/logind.conf za pomocą:

HandlePowerKey=ignore

Może także wyłączyć (miękki) przycisk zasilania na komputerze (nie próbowałem tego).

Tommy Pettersson
źródło
Aby wyjaśnić oryginalne pytanie: Nie chcę wyłączać żadnego przycisku sprzętowego, ale przyciski pokazane w sddm na ekranie.
W.Mann