Como posso suspender a maneira que o Ubuntu faz?

4

Eu gostaria de um comando que eu pudesse mapear para um botão ou executar na minha rede.

Até agora eu sei o comando sudo pm-suspend , mas não consegui fazer pmi action suspend funcionar em 12.04 nem em 14.04:

Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Hal was not provided by any .service files

Eu também usei esse método supostamente mais limpo: dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Mas todos esses métodos têm o mesmo resultado aparente. Quando eu acordo meu computador, seja em 12.04 ou 14.04, algum negócio inacabado falha o launcher de unidade e eu tenho que interagir com ele para "consertar".

Isso não acontece se eu suspender da GUI de unidade. Nem isso acontece do meu laptop, onde há uma chave de sono dedicada. Além disso, há outra diferença clara com o método GUI e os acima, no método GUI limpo (incl meu laptop), eu tenho uma notificação que nunca aparece com os métodos "sujos".

Então, qual função / programa / script a unidade chama quando ela é suspensa corretamente? E como eu poderia mapeá-lo para uma chave / evento / gesto?

    
por sinekonata 16.04.2014 / 22:56

2 respostas

1

A suspensão do indicador de sessão no canto superior direito da tela pode ser replicada com o seguinte comando dbus .

qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.Suspend

Eu usei este serviço dbus antes em outros scripts e outras respostas no askubuntu. Por exemplo, isso foi usado para determinar as opções específicas que o usuário faz para executar o script personalizado ao fazer login nesse post: Como posso executar um comando local? (para executar um script) em (logo antes) sair de uma sessão Unity?

    
por Sergiy Kolodyazhnyy 30.06.2016 / 09:05
0

O comando exato para suspender seu sistema como um clique no menu gráfico em 14.04 seria:

dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
    
por Sylvain Pineau 17.07.2015 / 17:06