Running X window programs from PM suspend-resume scripts

Serguei Miridonov mirsev at cicese.mx
Mon Mar 22 20:38:04 UTC 2010


On Monday 22 March 2010, Chris Tyler wrote:
> On Mon, 2010-03-22 at 21:10 +0200, Serguei Miridonov wrote:
> > Hello,
> > 
> > Is there a trick to run X window programs from PM suspend-resume
> > hooks? For example, I need to restore keyboard mapping after
> > suspend to RAM using
> > 
> > xkbcomp some_file.xkm :0.0
> > 
> > Running this in
> > 
> > #!/bin/bash
> > DISPLAY=":0.0"
> > export DISPLAY
> > case $1 in
> > 
> >     hibernate | suspend)
> > 	
> > 	;;
> > 	
> >     thaw | resume)
> >     
> >         sleep 2
> > 	
> > 	chvt 1
> > 	sleep 1
> > 	xkbcomp /etc/X11/GoodKeyMap.xkm $DISPLAY
> > 	;;
> > 	
> >     *)
> >     
> >         ;;
> > 
> > esac
> > exit 0
> > 
> > gives an error: Cannot open display ":0.0"
> > 
> > Any idea?
> 
> Sounds like a problem with auth. Try setting the XAUTHORITY
> environment variable, perhaps?

OK, I have changed the script adding the line

user=`who | grep -e ' :0' | sed 's/ *:0.*$//'`

and then running the required command as

su - $user -c "xkbcomp /etc/X11/GoodKeyMap.xkm $DISPLAY"

It works now. Is there a something simpler?


More information about the users mailing list