exmh-async & X authorization???

Kevin Cosgrove <[email protected]> Thu, 25 Aug 2005 10:45:34 -0700
Newsgroups gmane.mail.exmh.devel,gmane.mail.exmh.user
Message-ID <[email protected]>
Hi folks,

I've got a new flavor of not being able to run external
apps.  In the past this has been an issue of X authorization,
and I know all about questions 4a, 4b & 4c in the FAQ.
My problem shows up when I'm editing a message and click
"More..." -> "Alternate Editor".  When I do that I get an
sedit window which is empty except for the text "Cannot open
/login/kevinc/Mail/drafts/<message_number>".  Of course the
message number corresponds to whatever I was editing.

My "Editor Support" configuration parameter "2nd Editor command"
is set to:

    "exmh-async /usr/bin/xterm +sb -e vi"

At times this has failed me.  But, every failure I've ever seen
is due to X authorization problems.

'xhost' reports:

    [kevinc@lwe125529-tmp #149] xhost 
    access control enabled, only authorized clients can connect
    [kevinc@lwe125529-tmp #150]

My DISPLAY environment variable is set to:

    lwe125529.me.com:0.0

xauth list reports:

    lwe125529/unix:0  MIT-MAGIC-COOKIE-1  b3e8284b4b7ff15017bfeac8808e5485
    lwe125529.me.com:0  MIT-MAGIC-COOKIE-1  b3e8284b4b7ff15017bfeac8808e5485

I've tried starting exmh with/without setting -display on the command 
line to "lwe125529.me.com:0".  I get the same behavior in either case.
All of the above story holds for running exmh on the same machine 
where the X server resides.

Now to throw another wrinkle into this, I connect to a remote
server via SSH, and SSH is set up for X11 forwarding.  On the
remote host my DISPLAY variable is set to "joseph.you.com:10.1".
The corresponding xauth list output is:

    lwe125529/unix:10  MIT-MAGIC-COOKIE-1  ba5f7993776e308444a716638e17d8bf

When I start exmh without any command-line arguments (i.e. exmh uses 
DISPLAY) then everything works just fine.  I can edit messages with 
my alternate editor, etc.  It's just the _locally_running_ exmh which 
is having trouble.

Because of the differences in local and remote behavior I connected 
"remotely" to the local host through SSH in just the same way that I 
connect to the actual remote host.  Then I started exmh on the 
"remote" SSH session.  Unfortunately, this doesn't work either; it 
behaves just the same way that the fully local exmh does.

The error message that exmh writes is:

Error in startup script: can't read "exmh(21,action)": no such element in array
    while executing
"set sedit($t,$svar) $exmh($evar)"
    (procedure "SeditSetIsigHeader" line 5)
    invoked from within
"SeditSetIsigHeader $t CompType isigc $ctype"
    (procedure "SeditSetIsigHeaders" line 3)
    invoked from within
"SeditSetIsigHeaders $t "$id,action""
    (procedure "Sedit_Start" line 197)
    invoked from within
"Sedit_Start $mhProfile(path)/$mhProfile(draft-folder)/$draftID"
    (procedure "Edit_Dialog" line 5)
    invoked from within
"Edit_Dialog $draftID"
    (procedure "EditDialog" line 2)
    invoked from within
"EditDialog 21"
    invoked from within
"send $exmh EditDialog $draftm"
    (file "/login/kevinc/.Linux/2.4.21-32.0.1.EL/i686/bin/exmh-async" line 29)



Can any one give me some advice on what to try next?

Thanks much....


--
Kevin