|
OS X _is_ a real UNIX, plus a lot, lot more. The problem is, UNIX is very flexible and has a steep learning curve. You are running into the joys of X windows programming and X is a huge application which requires a bit of patience I'm afraid.
As to your specific problem - do you want to run a script on one Mac machine from another Mac? If you are just running a python script, they do not have graphical user interfaces by default. Check to make sure it is a calling a windowing toolkit first. If it does not, you will never see a window when running the script.
If your python application uses Tk as a graphical toolkit then you should be able to see it graphically. First, make sure you are running X windows on the client. This is done through Apple's X11 application available through XCode and the Apple Developer Center. You have to launch X11 first, Apple does not use X11 by default, they have their own proprietary system called Aqua. Once X11 is launched, use the terminal to shell into your remote server with the -X switch. Then run your application. This works for me from a Mac mini core duo to a Ubuntu box, both running X Windows.
You can view a screen dump of ssh -X in action here showing Evolution running under X11 with Apple's clock floating on top of it. Pretty slick! :)
http://jeremiahfoster.com/screen_dump.20070508.tiff
So carefully make sure you have X11 running on _both_ machines, that X windows are exported correctly, that your script is in fact calling a graphical toolkit, and that you have fixed any error message X windows may be throwing.
Good luck,
Jeremiah
|
Uh, you mean a lot less, don't you?
The python (and wish version) of the scripts run fine when invoked from X11 locally. When someone ssh's into the machine from the X11.app, regardless of ssh args, and invokes the script the same way, the script will only display on the machine that's executing the script, not the user's machine.
I had thought that the problem was between scripts/compiled programs, but the compiled program (FlashNet backup/archive) software had installed it's own X11 library in /usr/local/lib. I just found it this past week.
Try reversing your experiment. Put the script on the Mac mini and get it to display on the Ubuntu box. It'll work fine with the script running on the Linux box and displaying on the mac, but when the mac executes the script, the wheels fall off.
I'm not aware of having to call a window manager explicitly in a Python script. TBH, I thought that that was handled when I imported Tkinter:
from Tkinter import *
Roger