I have a fairly obscure question that I may have asked here months ago. It was probably mixed in with a bunch of other issues that I've resolved, so I thought I'd ask again, just in case.
I'm always logged in to my machine (F9). I use gdmflexiserver to switch to the gdm greeter when I leave the machine. I also run a process that checks for idleness (using dbus-monitor) in case I walk away and forget to switch; after 10 minutes, it runs gdmflexiserver. It works well, but for one small detail: If I switch to the gdm greeter but don't hit a key or move the mouse, DPMS never kicks in to turn off the monitor. The server is configured to do that after a period of time. If I move the mouse, then it seems to restart some idle counter and it does turn it off. It's as if the gdm X server thinks the monitor is off when it really isn't (i.e. the idle counter is already beyond the DPMS setting). This is a problem when idleness forces the switch and I'm not there to move the mouse.
I have two ideas for solutions: 1) Fake an event somehow after switching; or 2) call "xset force dpms off" in my script. I don't know if 1) is possible, especially since I don't necessarily know the gdm screen's DISPLAY value (maybe there's a way to get it). I thought 2) would be easy, but it doesn't work, even if I do it as root. I admit I don't understand the relationship between xset and DISPLAY.
Any suggestions...?
Thanks, reid