Como desligar automaticamente da linha de comando em 13.04

1

Eu sei que já existe uma pergunta semelhante sobre este tópico . Mas essa questão era apenas sobre como obter o diálogo de desligamento em geral. Eu preciso voltar a contagem regressiva da caixa de diálogo de desligamento antigo (Ubuntu < = 12.10), que encerra o sistema após 60seg.

o geobuntu sugeriu esta chamada dbus em sua resposta :

dbus-send --print-reply --dest="org.gnome.Shell" /org/gnome/SessionManager/EndSessionDialog org.gnome.SessionManager.EndSessionDialog.Open uint32:2 uint32:0 uint32:60 array:objpath:/org/gnome/SessionManager/EndSessionDialog

qdbus indica que o terceiro argumento é max_wait , o que (na minha opinião) deve definir e iniciar a contagem regressiva:

~$ qdbus org.gnome.Shell /org/gnome/SessionManager/EndSessionDialog
[...]
method void org.gnome.SessionManager.EndSessionDialog.Open(uint type, uint arg_1, uint max_wait, QList<QDBusObjectPath> inhibitors)

Mas isso não acontece. Eu já tentei vários valores para type e arg_1 sem sorte.

EDIT: Na verdade, a contagem regressiva é mais 'legal de ter'. O que eu realmente preciso é que o sistema irá desligar sem qualquer ação extra do usuário. Ele deve funcionar sem sudo (incluindo quaisquer sudoers sem senha).

Eu preferiria chamadas dbus, porque eu já tenho um bom lista de chamadas dbus que irá desligar todos os DE, exceto Unity > = 13.04

EDIT2: Eu dei uma olhada na fonte Unity . Eu não sei C++ mas, para mim, parece que arg1 e timeout_length não são tratados na fonte (alguém com C++ pode confirmar isso?). Talvez isso seja adicionado em versões posteriores.

EDIT3: Eu relatei isso como bug # 1256703 no Launchpad.

    
por Germar 25.11.2013 / 22:40

2 respostas

3

Houve uma grande resposta de Majal Mirasol sobre isso. Ele sugeriu usar

/usr/bin/dbus-send --system --print-reply \
--dest="org.freedesktop.ConsoleKit" \
/org/freedesktop/ConsoleKit/Manager \
org.freedesktop.ConsoleKit.Manager.Stop

Isso funcionará perfeitamente para mim.

Se você gostou desta solução, por favor, envie elogios à resposta de Majal e não a esta.

    
por Germar 04.12.2013 / 20:52
1

Execute sudo visudo no terminal e adicione a seguinte linha:

%user_name ALL=(ALL) NOPASSWD: /sbin/poweroff, /sbin/reboot, /sbin/shutdown

Isso permite que você execute os três comandos acima, usando sudo , mas sem senha.

Portanto, sudo poweroff agora resultará em uma senha menos desligada.

crie um alias colocando o seguinte no final de ~/.bashrc_aliases abrindo-o como -

gedit ~/.bash_aliases

e adicione o seguinte no último -

alias shutdown='sudo shutdown -h now'

Agora, vamos carregar as alterações no arquivo .bash_aliases.

source ~/.bash_aliases

Experimente shutdown . espero que funcione.

    
por Sukupa91 28.11.2013 / 19:25