Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!ucla-cs!ucla-ma!news From: barry@pico.math.ucla.edu (Barry Merriman) Newsgroups: comp.sys.next Subject: Re: Running NeXT Apps across a network/Internet Message-ID: <1991May22.214340.2034@math.ucla.edu> Date: 22 May 91 21:43:40 GMT Sender: news@math.ucla.edu Organization: UCLA Dept. of Math, UCLA Inst. for Fusion and Plasma Research Lines: 133 Well, I figured out how to run NeXTStep over a network. Its pretty easy, and its a lot of fun. I've submitted the result as a FAQ: Still, there are a few minor bugs to work out. Also, I wish we could move files between hosts by dragging and dropping icons---any chance of this, NeXT? ---------------------------------------------------------------- Q: How can I run NextStep Apps on a remote NeXT and have them display on my local NeXT? A: The basic details are in of the "NeXT Network and System Administration Guide" (see Chapter 5 "Seeting Up a Netinfo Network", section "Using the Network", subsection "Remote Application Execution", page 81; this is online in the 2.* Extended Release, in /NextLibrary/Documentation/NextAdmin/05_SetupNet/_UsingTheNetwork.) The basic procedure will allow you to run apps across a local network or even the Internet. Running Apps: (1) Select ``Public Window Server'' in the Preferences panel (its under the UNIX heading) on your local machine; this allows other NeXTs to display on your machine (this is the analog of "xhost +" in X Windows). Note that this is a security risk. (2) rlogin to the remote machine, and from the command line, run an App with the option "-NXHost ", where "" is the name of the machine you want things to display on. ("NXHost" is the analog of the X Windows "DISPLAY" variable, but see step (3) for how to set it.) For example, to run Webster remotely, and display on my local machine arnold.math.ucla.edu, I'd enter the command: /NextApps/Webster -NXHost arnold.math.ucla.edu To be safe, you should give the full name of your machine, and the full pathname of the App, as in this example. Runnind a "Browser": (3) If you want to have a directory browser on the remote machine---from which you can execute other apps by double-clicking on them---you need to start up a Workspace. But, before doing this, you must set the default NXHost to be your local NeXT (otherwise Apps started from the browser won't know to display their output on your local NeXT). So: (a) from a command line, do dwrite -g NXHost (e.g., would be arnold.math.ucla.edu in the case above.) This will make all apps you start up send their display to . This setting is put in a defaults database that persists after logging out---so it will stay set until you give the command "dremove -g NXHost". With NXHost set as a default, you no longer need the "-NXHost " option when you start up Apps (unless you want to override the default). (b) Now start up the Workspace, by giving the command /usr/lib/NextStep/Workspace.app/Workspace Error messages will appear, because it can't locate certain data, but it should start up and run fine over a local network. Over the Internet, the Workspace may not run---it usually dies, with a message "Cannot check in workspace port: Netnameserver: name is not yours(1000)". Perhaps someone can figure out a fix? Notes: Performance is good over a local Ethernet, but apps are real slow to start up over the Internet (~30 seconds). Also, you _cannot_ transparently move files from the remote machine to the local just by dragging and dropping icons between Browsers. It'd be great if NeXT could do this in future versions. ------------------------------------------------------------------- Here are the relevant instructions from the NeXT System Administration guide mentioned above, just for reference: Remote Application Execution It's possible to put the entire interface for any NeXTstepR application on a different machine from the one that's running the application. This can be useful for troubleshooting. It's also useful for using a dormant machine to do something computation-intensive if you're already loading down your machine with other processes. In the following steps, your machine is called yourhost and the remote machine otherhost. In this example, the remote machine runs the Digital WebsterT application while the window is displayed on your machine. To do this, you must have your machine set up as a public window server (see step 1), be able to log into otherhost, and be able to run the application on otherhost. 1. On yourhost, start up Preferences. Scroll to the UNIX button, click it, then click the Public Window Server check box. A check mark appears. Hide Preferences. Note: Having a machine set up as a public window server is a security risk. See Chapter 16, *Security,: for more information. 2. Open a shell window and log into otherhost using telnet or rlogin, whichever you prefer. 3. On otherhost, give the command Webster -NXHost yourhost The application's interface soon appears on your machine. All the interaction is with the application interface on yourhost while the application actually runs on and uses the resources of otherhost. 4. When you're finished, quit the application. The general form of the command is: Application -NXHost hostname With a similar technique, you can run an application on your machine and have the its interface shown on another... -- Barry Merriman UCLA Dept. of Math UCLA Inst. for Fusion and Plasma Research barry@math.ucla.edu (Internet) barry@arnold.math.ucla.edu (NeXTMail)