Suspender el comando de pantalla bajo Gnome

2

Estoy buscando una manera de suspender fácilmente el monitor en Ubuntu 9.10. yo tengo xscreensaver configura y apaga correctamente el monitor después de mostrar los protectores de pantalla durante un tiempo. La mayoría de las veces eso es lo correcto, pero cuando salgo de mi computadora, me gustaría poder suspenderla inmediatamente a través de un botón del panel.

Traté de usar xset, como sugerido en ubuntuforms . Esto funciona brevemente, pero después de un momento la pantalla vuelve a encenderse. Error de Debian # 552506 Establece que xset no juega bien con gnome-power-manager, y como en ese informe de error, xset trabaja cuando gnome-power-manager no está funcionando. Supuestamente hay una interfaz dbus para obtener gnome-power-manager para cambiar los modos en sí.

Algunas búsquedas llevaron a la Preguntas frecuentes de g-p-m , lo que sugiere el siguiente 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

Sin embargo, cuando intento eso, me sale el error.

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

Hay una manera de ver los métodos que admite una interfaz:

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

Pero el único método específico para org.gnome.PowerManager es GetPreferencesOptions:

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

Miré en /usr/share/dbus-1/services y /usr/share/dbus-1/system-services, y nada obvio se presentó.

Estoy usando Ubuntu 9.10 con una configuración mayoritariamente predeterminada. Gnome-power-manager es la versión 2.28.1. ¿Alguna sugerencia?

EDITAR:

Como dije en los comentarios, he tratado de usar xset force dpms {standby|suspend|off}. En mi hardware particular, los tres modos DPMS parecen hacer lo mismo. Desde Pantalla en blanco debajo de X , estos modos son:

  • Tiempo de espera
    • En un CRT, esto apaga el cañón de electrones, pero deja todo lo demás encendido para que la pantalla pueda recuperarse rápidamente. El tiempo de espera predeterminado es de 20 minutos.
  • Suspender el tiempo
    • Esto apaga la fuente de alimentación del monitor además del cañón de electrones. De forma predeterminada, este tiempo de espera se establece en 30 minutos.
  • Fuera de tiempo
    • Esto apaga toda la alimentación del monitor y es el estado más conservador de energía. Por defecto, esto sucede después de 40 minutos.

Su hardware puede tratar estos modos de manera diferente, y en consecuencia gnome-power-manager podría no monitorear cada uno de los diferentes modos. Esto significa que una propuesta xset solución basada en la necesidad de trabajar para los tres modos en su hardware, no solo por uno o dos modos

Dado eso, creo que xset no funcionará, y tampoco necesito una forma de decirlo gnome-power-manager Para suspender la pantalla o algo totalmente diferente.

Jason Owen
fuente
Teniendo el mismo problema. Quiero bloquear y suspender mis monitores desde la línea de comandos. Pero algo como: #!/bin/bash; gnome-screensaver-command --lock; xset dpms force suspend; resultará en que los monitores queden suspendidos, pero volverán después de unos segundos. También hay un error gnome: bugzilla.gnome.org/show_bug.cgi?id=631625 Además, no estoy en ubuntu, así que creo que esto no es un bug relacionado con ubuntu ni ubuntu-9.10.
Flow

Respuestas:

1

El comando

# xset dpms force standby

funciona para mi. ¿Es ese el que vuelve a aparecer unos segundos después?

Editar: Parece que si uso suspender en su lugar, entonces se comporta como usted describió y vuelve a aparecer después de unos momentos.

djhowell
fuente
Mismo comportamiento para los tres modos (espera, suspender, apagar). Esto está en una computadora portátil, y todos los tres modos tienen el mismo efecto.
Jason Owen
El modo de espera funciona en mi Thinkpad, suspender no. Voy a jugar con dbus.
djhowell
Tanto 'xset dpms force standby' como 'xset dpms force suspend' funcionan para mí en una computadora portátil Dell Latitude E6500. Jason, ¿tal vez tienes "Wake on Network" activado o algo similar?
pbr
pbr: Como lo entiendo, Wake on LAN se aplica cuando el sistema está suspendido o apagado, no el monitor . Además de eso, el hecho de que xset funcione como se esperaba cuando gnome-power-manager no se está ejecutando (como en el informe de errores de Debian que he vinculado en el segundo párrafo) parece descartar esa teoría.
Jason Owen