Como posso desativar o botão de desligamento e reinicialização no sddm no Debian?

10

O que eu tentei: criei o arquivo /etc/sddm/sddm.conf(também tentei /etc/sddm.conf) com o seguinte conteúdo:

[General]
HaltCommand=true
RebootCommand=true

Infelizmente, isso não ajudou - o botão de reinicialização continuou funcionando. De preferência, os botões também devem desaparecer.

Edit: Eu gostaria de esclarecer que não estou esperando trueser interpretado como um valor booleano, estou esperando que seja interpretado como comando. E trueé um comando válido, pois existe o executável /bin/truena maioria dos sistemas Linux que não faz nada, exceto retornar o status de saída com êxito. Apenas para ter certeza de que esse não é um problema de caminho, também tentei configurá-lo para o /bin/truequal também não ajudou.

W.Mann
fonte
1
Você reiniciou o SDDM (ou reinicializou) depois de fazer essa alteração?
Telcom
Não há nada que você possa fazer para me impedir de desligar sua máquina, se você me deixar tocá-la. Se eu pressionar o botão liga / desliga, a maioria das máquinas será desligada após 4 segundos. Se eu puder tocar no cabo de alimentação, posso desconectá-lo.
ctrl-alt-delor
2
@ ctrl-alt-delor Antes de tudo, você nem sempre tem acesso físico apenas porque pode acessar a tela de login. Mas no meu caso, não se trata de segurança, é apenas o que eu quero evitar desligamentos acidentais.
W.Mann

Respostas:

1

Se você não quiser que eles apareçam, deve ser definido como false no /etc/sddm/sddm.conf. De qualquer maneira, em teoria, isso não parece ser uma opção real listada nos documentos. por exemplo, HaltCommand = deve apontar para o comando a ser executado quando uma solicitação de desligamento for feita, portanto a configuração true deve ser efetivamente a mesma que o padrão, que é "/ usr / bin / systemctl poweroff" e false sendo o oposto de isso deve ser o que você quer.

[General]
HaltCommand=false
RebootCommand=false

A maneira permitida nos documentos seria permitir que eles fiquem visíveis e apenas fazê-los não funcionar, definindo como / path / para / some / script / cujo conteúdo deve ser algo como:

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

Para que isso seja notificado, você precisa do libnotify-bin instalado, mas ainda deve desativar a opção.

O procedimento acima deve funcionar, no entanto, muitas pessoas estão tendo problemas com isso e estão voltando ao KDM. Referenciado aqui: https://github.com/sddm/sddm/issues/611

Michael Prokopec
fonte
Infelizmente, isso não parece funcionar na minha máquina. Os botões continuam a se comportar conforme o esperado.
AF7 30/01/19
1
@ AF7 Tudo o que posso fazer é apontar você na direção de obter mais informações. À medida que eu aprofundava, parece que muitas pessoas estão tendo esse mesmo problema. Infelizmente sem soluções. github.com/sddm/sddm/issues/611
Michael Prokopec
@MichaelProkopec Adicionei um esclarecimento sobre por que o defini true. Obrigado pelo link.
W.Mann 31/01/19
@ W.Mann Problema interessante Eu tenho o mesmo problema na caixa virtual que configurei para ver se eu poderia corrigi-lo e ainda não tenho alegria. Sejam bem-vindos ao link, raramente recebo agradecimentos por más notícias.
Michael Prokopec
0

Você deve colocar suas edições neste arquivo aqui /etc/sddm.conf.d

[General]
HaltCommand=true
RebootCommand=true

Em seguida, reinicie e veja se seus botões continuam funcionando. Isso deve corrigir o problema. Você pode ler mais sobre o SDDM no wiki do arco aqui: https://wiki.archlinux.org/index.php/SDDM#Configuration

garshol
fonte
1
Eu acredito que você quer dizer que você deve criar um arquivo de configuração dentro dessa mesma pasta, não editar /etc/sddm.conf.d, que é uma pasta.
AF7 29/01/19
Você poderia simplesmente reiniciar o serviço (ou melhor dizer ao serviço para recarregar sua configuração). Você não precisa reiniciar.
Ctrl-alt-delor
Qual seria a diferença? Os .ddiretórios geralmente estão lá apenas para evitar a necessidade de mesclar alterações nos arquivos de configuração instalados nos pacotes nas atualizações e permitir que outros pacotes estendam facilmente a configuração. Além disso, não existe /etc/sddm.conf.dno Debian (stretch) e a página de manual claramente indica /etc/sddm.conf como arquivo de configuração. Acabei de descobrir que sddm --example-configimprime a configuração atual e respeita o conteúdo do /etc/sddm.conf. Simplesmente não se comporta como eu esperaria.
W.Mann
-1

Seu sistema está usando o systemd? Nesse caso, o systemd instala um manipulador para a chave Poweroff, que pode ser desativada editando /etc/systemd/logind.conf com:

HandlePowerKey=ignore

Também pode desligar o botão liga / desliga (suave) do computador (ainda não tentei isso).

Tommy Pettersson
fonte
Para esclarecer a pergunta original: Não quero desativar nenhum botão de hardware, mas os botões mostrados em sddm na tela.
W.Mann 18/09/19