On Mon, 2010-03-22 at 22:38 +0200, Serguei Miridonov wrote: > 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? This works because, with a HOME directory specified, the xkbcomp command can find the ~/.Xauthority file to get the magic cookie for display connection authentication. You should be able to set the XAUTHORITY environment variable to the absolute path of the .Xauthority file instead of using su (try something like: export XAUTHORITY=/home/${user}/.Xauthority) -Chris -- users mailing list users@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe or change subscription options: https://admin.fedoraproject.org/mailman/listinfo/users Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines