This is the script I am using. It is spawned by the default.sh from /etc/acpi:

-------------------------- SCRIPT START --------------------------
# default display on current host
export XAUTHORITY="/home/<your_user>/.Xauthority"
DISPLAY=:0.0

# find out if monitor is on
STATUS=`cat /proc/acpi/button/lid/LID0/state`
logger "monitor: $STATUS"

# find out if DPMS is enabled
DPMS=`xset -display $DISPLAY -q | grep -e 'DPMS is'`
logger "dpms: $DPMS"

# enable DPMS if disabled
if [ "$DPMS" == "  DPMS is Disabled" ]
then
        logger "Enabling DPMS ..."
        xset -display $DISPLAY +dpms
fi

if [ `echo $STATUS | grep -i closed | wc -l` -eq 1 ]
then
        logger "[`date`] Turning display OFF"
        xset -display $DISPLAY dpms force off
else
        logger "[`date`] Turning display ON"              # shows up in log
        xset -display $DISPLAY dpms force on            # turn monitor on
        xset -display $DISPLAY s activate               # un-blank monitor
fi

#clean up
unset STATUS
unset DPMS

# comment this line out if you're manually running this script from a
shell (put a # in front of it)
unset DISPLAY

exit 0
-------------------------- SCRIPT STOP --------------------------

Change the <your_user> variable.
I had also to set xscreensaver to switch off my monitor instead of
blanking it, because I think (not sure) that xscreensaver was
switching on my monitor when it was supposed to start the screensaver
(as after a while, my monitor was switched back on, and as I didn't
see that happening since my xscreensaver modification, I can only
assume that was the problem).


HTH,

Greg


On Fri, Jan 23, 2009 at 8:14 AM, Joshua Murphy <poiso...@gmail.com> wrote:
> On Thu, Jan 22, 2009 at 8:24 PM, BRM <bm_witn...@yahoo.com> wrote:
>> I'm running a Dell D600, and I've located a number of tools for it but I am 
>> not seeing anything related to when I close the lid. Since I got Gentoo 
>> running on it, the Monitor continues running when I close the lid.
>>
>> I've found several sources for doing something as an ACPI event, which seems 
>> to be the right method. I can toggle the button with the lid open and cat 
>> /etc/acpi/button/lid/LID/state and see it change between 'open' and 
>> 'closed'; and I know I could write myself a little script do something like 
>> calling radeontool to turn off the backlight, but I'd like to find a more 
>> official method.
>>
>> I mostly run KDE 3.5 (I'll go to KDE4 when I can...once portage 2.2 comes 
>> out and all), but I didn't see anything for a 'turn off monitor on lid 
>> close' setting (preferrably root controlled so that it affects all users). 
>> The only thing I can find is a the standby/suspend/shutdown/logoff, system 
>> performance, and CPU throttling. I don't really want to do any of that - 
>> just put the monitor into stand-by, not necessarily the whole system.
>>
>> Any how...I'd really like to get this working.
>>
>> TIA,
>>
>> Ben
>
> In...
> /etc/acpi/default.sh
>
> there's a comment (with commented code you can use following it)...
> # if your laptop doesnt turn on/off the display via hardware
> # switch and instead just generates an acpi event, you can force
> # X to turn off the display via dpms.  note you will have to run
> # 'xhost +local:0' so root can access the X DISPLAY.
>
> if radeontool or something will allow you to disable the display even
> when you aren't in X, or without proper access to the display (like
> xset requires) you might be able to even escape needing that xhost
> setting. No way of testing it at all myself though.
>
> --
> Poison [BLX]
> Joshua M. Murphy
>
>

Reply via email to