[mythtv-users] X dpms problem

Robin Gilks g8ecj at gilks.org
Sat Jun 7 00:31:07 UTC 2008


I'm having problems getting the dpms line in my power on/off script (see
below) to work!!

If I run the script from a telnet session its OK, if I run it from an
xterm in the same X session as MythTV it runs OK but if the script is run
by irexec (as a result of me pressing the Power button on the remote) it
doesn't seem to do anything.

I guess this is something to do with irexec being run as a service and
hence run by root so something is missing from the environment but even
putting the '-display' option into the xset command as "xset -display :0
dpms force off" I don't get anywhere. I've also tried exporting the
DISPLAY variable at the start of the shell script and I've tried it in
short and long form (i.e. as :0 and as hostname:0).

More ideas required:-)

#!/bin/sh

AMP=rm-aap013
FILE=/home/mythtv/.power
DEV=/dev/lircd1

DATE=`date +%s`

# Use the presense of a flag file to see if we are powering up or down
if [ -e $FILE  ]
then
LAST=`cat $FILE`
# ignore unless at least 10 seconds has passed  this stops a keybounce
# from turning us off straight after a turn on
if [ $(($LAST + 10)) -lt $DATE ]
then
# power down - just blindly do it
/usr/bin/xset dpms force off
# the amp needs the code repeated to get it to work - handled by repeat
value in the conf file
/usr/bin/irsend -d $DEV SEND_ONCE $AMP A_power
/bin/rm -f $FILE
fi

else
# power up and select the correct input on the amp
/usr/bin/xset dpms force on
/usr/bin/irsend -d $DEV SEND_ONCE $AMP A_dvd
/usr/bin/irsend -d $DEV SEND_ONCE $AMP A_dvd
/usr/bin/irsend -d $DEV SEND_ONCE $AMP A_dvd
echo $DATE > $FILE

fi

-- 
Robin Gilks




More information about the mythtv-users mailing list