Ok so I changed my local sshd_config file but it
still didn't work. And anyway I've never had problems
with this when I remote login to the Solaris unix
server.
When you say "local" are you referring to the computer you are using, or the XServe you are trying to run Matlab on?
Assuming the computers you are using are named PowerMac and XServe, you need to edit PowerMac:/etc/ssh_config and XServe:/etc/sshd_config. The ssh_config file controls the ssh client that you run at the command line and the sshd_config file controls the ssh server on the computer you are logging into. Also, be sure to restart the ssh server on the XServe after editing the sshd_config file on it.
You can also test to see if this is simply an oddity of Matlab and only running on 😮 (the local graphics card on the XServe) by trying to run something much simpler in your ssh session. Try /usr/X11R6/bin/xlogo for starters.
Before you ssh to the XServe, "echo $DISPLAY" should show "😮" or "😮.0". After you ssh to the XServe, you should see something like "localhost:10.0". This means your display is virtual screen 10 on the XServe, which is intercepted, encrypted, sent through the ssh connection, decrypted, and shown on your local display.
Make sure these basic tests of looking at $DISPLAY and running something like xlogo, xclock, xeyes, etc.... before trying something more complex. This make debugging MUCH simpler.
MacBook Pro, iMac G5 Mac OS X (10.4.7)