Suspender o comando de tela sob o Gnome

2

Estou procurando uma maneira de suspender facilmente o monitor no Ubuntu 9.10. Eu tenho xscreensaver configurado e ele corretamente desliga o monitor depois de mostrar os protetores de tela por um tempo. A maior parte do tempo é a coisa certa, mas quando eu saio do meu computador eu gostaria de poder suspendê-lo imediatamente através de um botão no painel.

Eu tentei usar xset , como sugerido em ubuntuforms . Isso funciona rapidamente, mas depois de um momento a tela liga novamente. O bug Debian # 552506 afirma que xset não funciona bem com gnome-power-manager e, como nesse relatório de bug, xset funciona quando gnome-power-manager não está em execução. Existe supostamente uma interface dbus para obter gnome-power-manager para mudar os modos em si.

Algumas pesquisas levaram à g-p-m FAQ , que sugere o seguinte comando:

dbus-send --session --dest=org.gnome.PowerManager \
  --type=method_call --print-reply \
  --reply-timeout=2000 /org/gnome/PowerManager \
  org.gnome.PowerManager.SetDpmsMode string:suspend

No entanto, quando eu tento isso, recebo o erro

Error org.freedesktop.DBus.Error.UnknownMethod:
Method "SetDpmsMode" with signature "s" on interface
"org.gnome.PowerManager" doesn't exist

Existe uma maneira de visualizar os métodos que uma interface suporta:

dbus-send --session --dest=org.gnome.PowerManager \
  --type=method_call --print-reply \
  --reply-timeout=2000 /org/gnome/PowerManager \
  org.freedesktop.DBus.Introspectable.Introspect

Mas o único método específico para org.gnome.PowerManager é GetPreferencesOptions :

<interface name="org.gnome.PowerManager">
  <method name="GetPreferencesOptions">
    <arg name="capability" type="i" direction="out"/>
  </method>
</interface>

Eu procurei em /usr/share/dbus-1/services e /usr/share/dbus-1/system-services e nada de óbvio se apresentou.

Estou usando o Ubuntu 9.10 com uma configuração padrão. Gnome-power-manager é a versão 2.28.1. Alguma sugestão?

EDITAR:

Como eu disse nos comentários, tentei usar xset force dpms {standby|suspend|off} . No meu hardware particular, todos os três modos DPMS parecem fazer a mesma coisa. A partir de Screen Blanking Under X , esses modos são:

  • Tempo de espera
    • Em um CRT, isso desativa a arma de elétrons, mas deixa tudo ligado para que a tela possa se recuperar rapidamente. O tempo limite é padronizado para 20 minutos.
  • Suspender tempo
    • Isso desliga a fonte de alimentação do monitor além da pistola de elétrons. Por padrão, esse tempo limite é definido para 30 minutos.
  • Tempo de inatividade
    • Isso desliga toda a energia para o monitor e é o estado mais conservador de energia. Por padrão, isso acontece depois de 40 minutos.

Seu hardware pode tratar esses modos de maneira diferente e, consequentemente, gnome-power-manager pode não monitorar cada um dos diferentes modos. Isso significa que uma solução proposta com xset precisa funcionar para os todos os três modos em seu hardware, não apenas para apenas um ou dois modos.

Dado que, acredito que xset não funcionará, e eu preciso de uma maneira de dizer gnome-power-manager para suspender a exibição ou algo totalmente diferente.

    
por Jason Owen 06.11.2009 / 23:03

1 resposta

1

O comando

# xset dpms force standby

funciona para mim. É esse que volta alguns segundos depois para você?

Edit: Parece que se eu usar suspender ele se comporta como você descreveu e volta depois de alguns instantes.

    
por 06.11.2009 / 23:27