Re: [Hampshire] Using at command with xmessage

Top Page
Author: Dave Walker
Date:  
To: Hampshire LUG Discussion List
Subject: Re: [Hampshire] Using at command with xmessage

Reply to this message
gpg: failed to create temporary file '/var/lib/lurker/.#lk0x58493100.hantslug.org.uk.22372': Permission denied
gpg: keyblock resource '/var/lib/lurker/pubring.gpg': Permission denied
gpg: Signature made Mon Jun 18 18:24:10 2007 BST
gpg: using DSA key 09D38B17936ADE15
gpg: Can't check signature: No public key
On Mon, 2007-06-18 at 17:08 +0100, Clive Woodfine wrote:
> I am trying to send myself an alarm call in a few minutes time. If I
> run 'xmessage "Wake Up"' from the command line in Bash a little window
> pops up showing Wake Up.
>
> If I run 'at now + 2 minutes' then press enter I get
> at>          At which point I enter 'xmessage '"Wake Up"' and press
> enter which gives
> at>          I then do Ctrl D and get
> at> <EOT>
> job 42 at 2007-06-18 16:38
> [clive@Core ~]$

>
> The at command seems to work as I get a mail saying
> Error: Can't open display:
>
> I have tried all combinations of enter and Ctrl D I can think of but
> can't get xmessage to show up. I have also used 'cd /etc' instead of
> xmessage but the working directory does not change.
>
> Is it the way Bash interprets the call?
>
> What am I doing wrong?
>
> --
> Clive Woodfine
>


Hey Clive,

You need to prepend the DISPLAY variable as part of the command.
Personally i think zenity looks a whole lot nicer the xmessage, but
that's IMO.

Zenity:
$ at now + 2 minutes <<< 'DISPLAY=:0 zenity --warning --text "Wake Up";'

xmessage:
$ at now + 2 minutes <<< 'DISPLAY=:0 xmessage '"Wake Up"'

The <<< will directly pass the command to be run 'at' without having to
manually empty. Good for scripting :)

Kind Regards,
Dave Walker