Ubuntu 16.04 - logout do terminal quando o gnome está zangado

1

Estou com um problema semelhante a aqui , onde meu painel e painel superior não serão carregados.

Ao tentar sair de um terminal (já que não há barra de menu superior a usar), mas recebo este erro:

~$ gnome-session-quit

** (gnome-session-quit:6288): WARNING **: Failed to call logout: GDBus.Error:org.gnome.SessionManager.NotInRunning: Logout interface is only available during the Running phase

Existe outra maneira de eu sair quando isso acontecer, além de reinicializar o computador?

    
por 43Tesseracts 15.05.2017 / 23:09

2 respostas

1

Não é elegante, mas você pode tentar isso:

ps -wweo pid,args | grep gnome | grep -v grep

Isso lhe dará PELO MENOS uma linha de saída. Cada linha será o número de identificação do processo seguido por um espaço, seguido pela cadeia de comando exata e completa que iniciou o processo. Você provavelmente pode dizer qual (assumindo que há mais de um) processo é a sessão do gnome e matar isso:

kill NUMBER

ou se reclamar sobre permissões (mas não acho que seja)

sudo kill NUMBER

em que NUMBER é o número de identificação do processo que o comando ps mostrou a você.

Se isso acontecer muito, você poderá alterar o segundo grep para que ele procure uma correspondência exata em toda a cadeia de caracteres de comando, de modo que mostre apenas o processo que você deseja eliminar. Essa será a string que segue o número de identificação do processo na linha correspondente à sessão do gnome na saída de

ps -wweo pid,args | grep gnome | grep -v grep

Eu não posso te dizer o que será porque eu não uso gnome e não tenho certeza de que todo sistema gnome usaria exatamente a mesma string de qualquer maneira. Pode haver algumas opções que variam. Coloque essa string em um script que extraia o número do processo e o mata. Assim:

#!/bin/bash
PID_to_kill=$(ps -wweo pid,args | grep "ENTIRE COMMAND STRING GNOME IS STARTED WITH" | grep -v grep | cut -d' ' -f1)    
kill $PID_to_kill

Ao usar a string de comando inteira, você remove qualquer possibilidade de matar algum processo que você realmente não queria matar, só porque ele tinha "gnome" como parte da string de comando que o iniciou.

Nomeie o script como algo fácil de lembrar, como "killgnome". Coloque-o em um diretório em seu caminho. "/ usr / local / bin /" seria um lugar bastante convencional. Torne isso executável. Invoque-o inserindo seu nome em um terminal ou caixa de execução.

Isto irá desconectar você e o levará de volta ao seu "gerenciador de exibição" (o diálogo de login do gui) se você tiver um. Se você não estiver executando uma configuração padrão e tiver evitado um gerenciador de exibição (eles são realmente totalmente desnecessários), ele também pára o X, deixando um prompt de login. Ou pelo menos é assim que funciona com o Openbox. Provavelmente a maneira como todos trabalham.

    
por Lew Rockwell Fan 16.05.2017 / 00:43
4

E sobre  %código% ?

Isso deve parar o gerenciador de tela, efetivamente efetua o login, inicia o lightdm novamente e você deve estar na tela de login em pouco tempo.

    
por mondjunge 18.05.2017 / 16:50