On Monday 22 March 2010, Chris Tyler wrote: > 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) Yes, this works too. Thanks. Serguei -- 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