Como logout do KDE forçado a partir do comando?

1

No meu projeto, se o processo receber algumas mensagens específicas, ele executará um script para fazer o logout da área de trabalho do KDE forçosamente, mesmo que haja alguns dados não salvos no aplicativo.

Pesquisei no Google e recebi o seguinte comando:
qdbus org.kde.ksmserver / KSMServer org.kde.KSMServerInterface.logout 0 0 2

O comando acima funciona bem se não houver aplicativos para bloquear o logout. Mas, se houver dados não salvos em alguns aplicativos, o aplicativo exibirá uma caixa de diálogo para bloquear o logout, como o aplicativo "kwrite":

EumereferiaodocumentodoKDE: link

Parece que o terceiro parâmetro "2" passado para o org.kde.KSMServerInterface.logout significa que o aplicativo "kwrite" deve ser eliminado imediatamente em vez do diálogo pop-up. Mas isso não funciona.
 Existe algum especialista sabe o motivo pelo qual o terceiro parâmetro "2" não funciona? Como posso fazer o logout do KDE forçadamente, mesmo se o aplicativo "kwrite" estiver sendo executado com a data não salva?

Minha versão do KDE é kdebase-workspace-4.3.4-30.el6_6.x86_64 e a distribuição é CentOS 6.7.

    
por yw5643 22.03.2017 / 12:32

1 resposta

0

Se não precisar ser gracioso, você pode tentar killall -9 plasma-desktop . Você pode ter que ajustar o nome do processo.

Tenha cuidado com isso se houver vários usuários com sessões ativas do KDE. Pode ser uma boa ideia manter o PID em uma variável avaliando algo como ps aux | grep plasma-desktop | grep $USER | awk '{print $2}' e kill -9 $PID .

    
por 22.03.2017 / 13:24

Tags