Como posso desligar / reiniciar / desconectar o KDE com segurança na linha de comando?

22

Eu não estou falando shutdowne rebootcomandos. Eu quero iniciar a mesma rotina na linha de comando que seria executada se eu pressionasse o botão logout / reboot / shutdown dentro da área de trabalho do KDE.

txwikinger
fonte
Não sei se você poderia fazer isso. um dos comandos acabaria fechando o terminal que você está usando para interagir com ele. Talvez mais idéias sobre por que você precisa fazer isso? :)
myusuf3
Eu preciso fazer isso porque plasma-desktop está agindo para cima, por vezes, e eu ainda quiser manter as informações de sessão que é salvo quando finalizar a sessão
txwikinger

Respostas:

24

Para o kde4:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1

Os três parâmetros inteiros são os argumentos confirm, sdtypee sdmodepara KWorkSpace :: requestShutDown . Seus valores são explicados na parte superior da página.

Gilles 'SO- parar de ser mau'
fonte
A resposta de Gilles também me ajudou. Apenas uma pequena nota: não funciona com su. No meu caso, isso fazia parte de um comando emitido usando o sudo. Nesse caso, não funciona. Reclama Cannot find 'org.kde.KSMServerInterface.logout' in object /KSMServer at org.kde.ksmserver. No entanto, funciona muito bem quando executado com o usuário comum ^ _ ^ #
user3099609
3

Para qualquer versão do KDE (talvez também o GNOME e outros):

No KDE Control Center (KDE3.5 / trinity), você pode definir um atalho de teclado para "parar sem confirmação" (deve ser complicado para evitar tragédias, como Ctrl+ Shift+ Alt+ Delete) e depois executar xvkbd(teclado virtual):

xvkbd -text '\C\S\A\d'

Você pode criar um alias para isso (por exemplo kdehalt);

Meu favorito: sleep 1h 20m && kdehaltou wget "http://something" ; kdehalt.

Zdeněk Válek
fonte
2

Então, tentei a resposta apresentada por Gilles, mas isso só funciona no KDE4.

Após uma atualização do sistema com meus gráficos, não era mais possível sair, reiniciar ou desligar. Eventualmente encontrado este comando funcionou:

qdbus org.kde.ksmserver /KSMServer logout 0 0 0

Minha fonte é daqui, onde eles discutem um pouco mais. Eu não tenho certeza sobre ele outras optoins. Discussão de tópicos do fórum Opções de desligamento do KDE5. O comando acima parece ter desligado meu sistema normalmente. Todos os meus programas voltaram como eram esperados, na ordem certa de layout, e eu não parecia estar perdendo nada. Se isso não funcionar, comente e eu ajustarei minha resposta, mas até agora é tudo o que funcionou para um desligamento normal do KDE5 quando o meu está bloqueado. (Obviamente, eu poderia ter usado o comando shutdown ou chamado init, mas eles não são graciosos.)

CD
fonte