<br><H3><A NAME="4.1">4.1 How do I get pictures of people from remote sites to appear in Mail.app and NewsGrazer?</A></h3><i>Pictures, in Mail</i>
<br><i>Pictures, in NewsGrazer</i>
<br><i>Mail, remote Pictures</i>
<br><i>Newsgrazer, remote Pictures</i>
<br>
<br>You can do this in the following ways.
<br><ul><LI><B>Mail</B>
<br>
<br>In <TT>/LocalLibrary/Images/People</TT> put a tiff (64x64) in the form of <TT>person@remote.site.domain.tiff</TT> (all lowercase). In <TT>/LocalLibrary/Images/People/passwd</TT> add an entry for the person:
<br>(person and sitename need to be all lowercase as well) In the future anytime you get mail from the person their picture should appear.
<br>
<br>You can include an "aliases" file in <TT>/LocalLibrary/Images/People</TT> too. This allows you to use the same picture for somebody that might send you mail from accounts on many different sites, or for those people whose letters use several different routings.
<br>
<br>To do this, you include entries in this local aliases file like so:
<br>There should then be a <TT>.tiff</TT> file called <TT>bkohler.gonzo.ucr.edu.tiff</TT>.
<br>
<br>There can be no CAPITAL LETTERS in this file. So even if the address in the From: field looks like <TT>gonzo.ucr.edu!bkohler@uupsi2.UUCP</TT>, keep the letters lowercase in the aliases file. As always, you have to restart <TT>Mail</TT> before these changes take effect.
<br>
<br><LI><B> NewsGrazer</B>
<br>
<br>In <TT>/LocalLibrary/NewsGrazer/People</TT> put a tiff (64x64) in the form of <TT>person.remote.site.domain</TT> (all lowercase). This is a different naming convention from what <TT>Mail</TT> uses.
<br>
<br>There is a large archive of some 4000 or 5000 pictures prepared for this purpose. The name of this archive is <TT>Faces3.tar.Z</TT> and it is about 4.1 MBytes large. Currently it is available from several anonymous ftp sites (e.g. <tt> <a href=ftp://sonata.cc.purdue.edu/pub/next/graphics/Images/icons/people target=_blank><u>ftp://sonata.cc.purdue.edu/pub/next/graphics/Images/icons/people</u></a></TT>)
<br>
<br>That image archive also contains a script which automatically creates proper alias and passwd files.
<br></ul><img src="/images/trans.gif" border=0><h3><A NAME="4.2">4.2 How to manipulate and examine default settings</A></h3><ul><LI>A command line utility for examining defaults is available from: <tt> <a href=ftp://sutro.sfsu.edu/pub/wmdefaults1.0.tar.Z target=_blank><u>ftp://sutro.sfsu.edu/pub/wmdefaults1.0.tar.Z</u></a></TT>
<br>
<br><LI>A PD App, <TT>DefaultMgr.app</TT>, is available on the NeXT ftp archives.
<br>
<br><LI>A more brute approach (done by DefaultMgr.app):
<br>
<br>Start the application under gdb, and then try the following sequence of commands:
<br>DefaultMgr.app doesn't any longer work properly under 3.0. It still is able to manipulate defaults but can't any longer "investigate" apps to find out which defaults they use.
<br>
<br><TT>[eps@toaster.SFSU.EDU (Eric P. Scott)]</TT> adds:
<br>
<br>Needs to be revised for 3.x systems. wmdefaults is only for 2.x; it's not needed for 3.0 and later.
<br>
<br><H3><A NAME="4.3">4.3 How do I run NextApps remotely?</A></h3><i>Remote running</i>
<br>
<br>On the local machine make sure you have public window server access, this is set from the Preferences application. On the foreign NeXT machine run the application from a terminal window with the <TT>-NXHost <local_machine_name></TT>. Both machines should be running the same version of NeXTstep.
<br>NeXTSTEP 3.1 and higher includes a demo application called OpenSesame that simplifies this. You can select a program in Workspace and use <TT>> Service > Open Sesame > Open on Another Host...</TT> to launch a program on a remote machine. This is a way to run old, non-fat-binary software on new NeXTSTEP/Intel machines.
<br>
<br><H3><A NAME="4.4">4.4 Why does UUCP hangs on outgoing connections after sending the password, but other communications software do not have a problem with it?</A></h3><i>UUCP</i>
<br>
<br>What is happening is that the remote machine is waiting for you to end your login or password by typing a "Return" (aka <TT>&Mcirc;</TT> or CR or CARRIAGE RETURN). UUCP ends a line by sending a LineFeed (aka <TT>Ĵ</TT> or <TT>LF</TT>). Since UUCP doesn't send the CR, the login sequence is never completed, and you will usually get one of two error messages:
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> wanted "password:" (means that username needs to end with a CR)
<br>imsg waiting for SYNC< (means that password needs to end with CR)
<br></div></tt>
<br>So how do you get UUCP to send <TT>CR</TT>, instead of <TT>LF</TT>?
<br>
<br>End the send string with the sequence <TT>\n\c</TT>. For instance this line in <TT>L.sys</TT> will send a <TT>LF</TT> after login, but a <TT>CR</TT> after password.
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> myfeed Any DIR 9600 cub "" ATTD19095551212 9600 \
<br>"" ogin:--ogin: Unext ssword: secret\n\c
<br></div></tt>
<br><H3><A NAME="4.5">4.5 How do I access the NeXT's Digital Webster Dictionary from a program?</A></h3><i>Webster</i>
<br>
<br>Get Jiro Nakamura's define program from the archiver servers: <TT>define.tar.Z</TT>. This will allow you to access the database from the command line. This program breaks under 3.x. For 3.x there are two other programs which might be useful: <TT>Webster.a5</TT> and <TT>websterd</TT>.
<br>
<br><H3><A NAME="4.6">4.6 How do I get the arrow keys to work in csh?</A></h3><i>csh, arrow keys</i>
<br>
<br>This is for people who use a terminal app that does vt100 keyboard emulation - pasc
<br>
<br>First, add these lines to your <TT>.cshrc</TT> (preferably between the if and endif):
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> set editmode=emacs
<br>set macrofiles=.macros
<br></div></tt>
<br>Then create a file called <TT>.bindings</TT> and put in it:
<br>And, next, you need to make a file called ".macros". Using an editor like emacs (which can insert control characters using a &Qcirc; prefix), into this file put:
<br>where <TT>&@circ;</TT> means <TT>Control-@</TT> and <TT>Â</TT> means <TT>Control-A</TT>, etc. Also, don't put in the leading spaces. This will set up the left and right arrows to move back and forth on the line, and the up and down arrows will cycle through your history.
<br>
<br>On Intel machines these sequences are a little different:
<br>where <TT>uuuuu</TT> is the directory where <TT>Mathematica</TT> was placed (typically, <TT>/LocalApps</TT>) and <TT>vvvvv</TT> is the directory where the executable <TT>math</TT> was placed (typically, <TT>/usr/local/bin</TT>)
<br>
<br><H3><A NAME="4.9">4.9 Manipulating the Loginwindow</A></h3><i>loginwindow</i>
<br><i>dwrites</i>
<br>
<br>There are some for loginwindow:
<br>
<br><TT>[Jess Anderson writes:]</TT>
<br>
<br>Here, I hope, is the quasi-definitive story on dwrites that affect the loginwindow. I'm indebted to several people, notably Art Isbell, Kristian Koehntopp, Dan Danz, Louie Mamakos, John Kheit, Felix Lugo, and Paul Sears, for some of the information presented here.
<br>
<br>Remember that dwrites are not supported by NeXT; they may change with any subsequent system release. These I've checked out using 3.0; some or all may work with earlier releases, but I can't vouch for most of them.
<br>
<br>All these dwrites must be done as root. You can also run as root and use DefaultMgr to set them (which is a whole lot more convenient if you're intending to fiddle with some of them).
<br>
<br>After setting the things you want, restart the WindowServer by logging out of the current session and typing exit <cr> on the login panel.
<br>Most new machines have <TT><login_name></TT> set to me. This dwrite logs in user <TT><login_name></TT> automatically. User <TT><login_name></TT> must not have a password set, hence <B> don't</B> use this in a networked environment!
<br>These cause your host name to appear on the login panel. You need quote marks only if there's a space in the name. The first form hard-codes the name into root's defaults database. The second form uses whatever name has been set as localhost in NetInfo, which is convenient for networked machines.
<br>
<br>The font, size, color, and position of the printed string are not accessible (drat!).
<br>This uses the tiff image pointed to instead of the standard one (in <TT>/usr/lib/NextStep/loginwindow.app/English.lproj/nextlogin.tiff</TT>, <TT><language>.lproj</TT> as appropriate for your main language) as the login panel. Be sure you get the pointer right, though, or you'll have to boot single-user to fix it. In practical terms, the image is constrained in various ways I won't detail here.
<br>No relation to the dim time set by Preferences. The units are odd, I think. Felix reported them as 1/34 second. However, when I changed it to 1020, I got 15 seconds to dimming, and 680 gives 10 seconds, that I'm sure of. So I think the units are 1/68 second. Maybe Felix just thought it was too damn long! We all know it <B>seems</B> longer when you're not having fun waiting. :-) Whatever, the login screen dims to about half after this length of time.
<br>This causes the panel to move around approximately in Backspace bouncing-off-the-walls-tiff fashion. The point is to avoid burning the screen phosphors, as a static image would tend to do. The animation is controlled by the next couple dwrites.
<br>The units are seconds. The panel starts moving (assuming the preceding is set to YES) after this time. If you set it to be less than the TimeToDim time, the movement starts before the dimming occurs. I did not try zero. I can't stand waiting around for things to happen, so I use 10 seconds for both times. The default appears to be 5 minutes.
<br>No movement occurs if this is set to 1. But it looks like the units might be approximately pixels for each change of position (the frequency of which is controlled by the next dwrite). If you put a big number here, say 200, the image moves in big jumps, but I don't know if the 200 is divided up somehow between change in x- and y-coordinates. I wouldn't worry about it much, just set it to something you like. Since my image contains readable text, I want it to scroll smoothly around, so I use the apparently minimum value, 2. The default appears to be 10.
<br>The units are seconds. The image jumps by the amount above every this many seconds. The default is 0.0666 seconds. Bigger numbers mean slower motion. Since I don't like things being too jumpy or zooming around, I set this to 0.1 seconds. This makes my image ooze at a pace befitting an elderly person like me.
<br>This makes it a little harder to turn the machine off; you have to use the monitor or the minimonitor (<TT><right-command>- </TT>) if it's set, rather than the <TT><power></TT> key.
<br>Pointers to the login and logout hooks, if used. It should be pointed out that some of these things (login/logout hooks, for example) are maybe more logically set where the loginwindow is invoked by the WindowServer, namely <TT>/etc/ttys</TT>.
<br>
<br>There are yet others. Here's the full list (thanks, Art):
<br><TT>[Christopher J. Kane kane@cs.purdue.edu]</TT>
<br>
<br>Under NeXTSTEP 3.1, the login window has two buttons labeled "Reboot" and "Power" that allow a user to reboot and power down from the login window. In a public lab, this feature may be undesirable. The PowerOffDisabled default can be used to disable the buttons, but they are still shown in the window and push in when clicked (a bad user interface decision, IMHO).
<br>
<br>The program below patches <TT>loginwindow</TT> to eradicate the restart and power buttons. It makes the <TT>loginwindow</TT>'s LoginButton class instance method <TT>initWithImage:altImage:andString:</TT> a no-op (just return nil). This patch has been applied to the machines in the NeXT lab at Purdue (like <TT>sonata.cc.purdue.edu</TT> for instance), and no adverse effects have been noted.
<br>
<br>This program must be run as root, since it writes to the file <TT>/usr/lib/NextStep/loginwindow.app/loginwindow</TT>.
<br>
<br>An archive with a compiled executable has been submitted to <TT>sonata.cc.purdue.edu</TT>.
<br><B> FAQ-Authors note:</B> We strongly recommend to do a backup of the loginwindow application, because the patch alters the file directly and will most likely not work on different versions of the OS.
<br>
<br><H3><A NAME="4.10">4.10 How does one set UNIX man pages to be viewed in nroff format with DL like the standard manual pages in NS2.x?</A></h3><i>man pages, NS2.x</i>
<br>
<br>Beyond looking in the man pages under ixBuild, etc., what you want to do is put a few files (contents listed below file name) the <TT>.index</TT> directory:
<br>I don't think you need to explicitly name the directory in the first alternative, but you do in the second unless you want the <TT>cat*</TT> directories indexed as well.
<br>
<br><B> Note:</B> Do NOT leave a trailing return after the line in <TT>ixBuildOptions</TT>; DL will barf. (I think someone said that, as shipped, the standard man <TT>.index/ixBuildOptions</TT> had this problem.)
<br>
<br><TT>[From: Eric D. Engstrom <eric%basilisk@src.honeywell.com>]</TT>
<br>
<br>Can anyone tell me what the command line for this might be under NEXTSTEP 3.0?
<br>
<br>Short answer: RTM on ixbuild(1) - specifically the parameter "-g".
<br>
<br>In addition, I'd like to inform the newsgroup of a simple hack I setup on my own machine to create a unified DL target for all UNIX Manual pages (including system, local, gnu, whatever). This was easier under 2.x because IXBuild (pre IXKit) had more hacks in it...
<br>
<br>Basically, you need to setup a directory with sym-links to the various man-page directories; For example:
<br>drwxrwxr-x 11 root wheel 1024 Mar 27 00:41 ../
<br>-rw-r--r-- 1 eric wheel 370 Feb 27 22:01 .README
<br>-rw-rw-r-- 1 eric wheel 872 Feb 27 17:11 .dir.tiff
<br>-rw-rw-r-- 1 eric wheel 20 Feb 27 17:11 .displayCommand
<br>-rw-rw-r-- 1 eric wheel 47 Feb 27 17:10 .index.iname
<br>-rw-rw-r-- 1 eric wheel 6 Feb 27 17:10 .index.itype
<br>-rw-r--r-- 1 eric wheel 729088 Mar 28 18:44 .index.store
<br>-rw-rw-r-- 1 eric wheel 5 Feb 27 17:11 .roffArgs
<br>lrwxrwxrwx 1 eric wheel 18 Feb 27 17:53 gnu -> /usr/local/gnu/man/@
<br>lrwxrwxrwx 1 eric wheel 14 Feb 27 17:53 local -> /usr/local/man/@
<br>lrwxrwxrwx 1 eric wheel 9 Feb 27 17:53 news -> /news/man/@
<br>lrwxrwxrwx 1 eric wheel 35 Feb 27 17:53 system -> /usr/man/@
<br></div></tt>
<br>Notice that I also copied all the <TT>.[a-z]*</TT> files from the <TT>/usr/man/</TT> directory as well.
<br>
<br>Then, use <TT>ixbuild -gl</TT> to (re)build the index. If your any of the links point to directories on other devices, add "d" to "-gl". "-v" will give you verbose output (like my writing style ;-). RTM under ixbuild(1) for more info.
<br>
<br>Unfortunately, once the index is built, I've never successfully gotten DL to update it correctly. Instead I have to do it by hand using <TT>ixbuild -ogldvc</TT> (actually, I setup a cron job to reindex weekly.)
<br>
<br>If you have troubles, try removing the .index.store file and rebuilding the entire database. I've had intermittent problems with ixbuild under 3.0.
<br>
<br><H3><A NAME="4.11">4.11 Appending a signature and addition headers to your e-mail</A></h3><i>.signature</i>
<br><i>signature</i>
<br><i>Mail</i>
<br>
<br>There is a bundle for Mail to which, beside other features, allows you to add a <TT>.signature</TT> file to outgoing e-mails: <TT>EnhancedMail.bundle</TT>. This software package is available by the FTP archive sites.
<br>
<br>Here are other solutions which might serve you as well:
<br>if test -r ${HOME}/.add-header; then cat ${HOME}/.add-header; fi
<br>cat -
<br>if test -r ${HOME}/.signature; then echo "--"; cat ${HOME}/.signature; fi
<br>}| /usr/lib/sendmail "$@"
<br></div></tt>
<br>A good name for this file would be <TT>sendmail-addheader</TT>. If you want to and can install it for system-wide use put this file in e.g. <TT>/usr/lib</TT>. Otherwise your private <TT> /Unix/bin</TT> directory is also fine. Make certain that this file has execute permission. To set that, use e.g. <TT>chmod 755 /usr/lib/sendmail-addheader</TT>.
<br>
<br>Next, open up the preferences panel in <TT>Mail</TT>. Switch to the expert options. Change the Mailer option from <TT>/usr/lib/sendmail</TT> (which it should originally be) to <TT>/usr/lib/sendmail-addheader</TT> (or whatever the name of the file you created is). OK this and you should be set.
<br>
<br>From now on your file /.signature file should always be appended to all mail sent out with Mail.app. In addition if you have a file called add-header in your home-directory it should automatically be prepended to your outgoing mail. To implement a reply-to line, you would simply give it the following content:
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> Reply-to: My Real Human Name <name@my.real.address>
<br></div></tt>
<br><B> IMPORTANT:</B> Make certain that you have one and exactly one newline at the end of <TT> /.add-header</TT>. Anything might break outgoing mail. Beware!
<br>
<br><B> BUG:</B> The <TT> /.signature</TT> file is not added properly for NeXT mail containing attachments. The headers will still be added properly. This could be fixed but probably is more of a hassle than it is worth.
<br>I have added a Terminal Service to terminal to add a signature file whenever I type <command> "0" (command/zero), and I thought this might be of interest to people who read your FAQ. I have used this technique for over a year with no problems, and it has the advantage of working both with non-NeXT and NeXT Mail.
<br>
<br>First, you must create a file with your signature containing the characters "--" on the first line (there has been some discussion as to whether this should be "-- " ("--" followed by a blank), but my file only has the "--" as the first line. The rest of the file should contain your normal signature. If you place the file in your home directory, I recommend NOT using the filename ".signature" for this file since it may conflict with other programs (like NewsGrazer). I use the filename ".fullSignature". The file used for the signature should be ascii and not RTF to allow the file to be used for NeXT and non-NeXT mail.
<br>
<br>You can create a "Get signature" service by launching Terminal and accessing the "Terminal Services" window through the "Info/Terminal Services..." menu item. Then perform the following:
<br><ul><LI>Create a new service by clicking on the "New" button. Change the service name to "Get signature".
<br>
<br><LI>Add the command "cat <full-path-name-to-your-signature-file>" and "0" (zero) to the "Command and Key Equivalent" entry. The "0" is obviously arbitrary, but I've found that it doesn't conflict with any of the commands I normally use.
<br>
<br><LI>De-select any items checked within the "Accept" grouping. Select the "As Input" radio button under the "Use Selection" section.
<br>
<br><LI>Change the "Execution" popup to "Run Service in the Background". Select the "Return Output" and "No Shell" radio buttons.
<br>
<br><LI>Click the "Save" button.
<br></ul>Now, when you type <command> "0" (actually, from any application), your signature will be added wherever your cursor is located (be careful not to have text selected as it will replace the selected text with your signature). I have found this to be very convenient for adding my .sig to outgoing mail.
<br>
<br><H3><A NAME="4.12">4.12 How can I quickly find a file if I don't know its directory?</A></h3><i>searching, files</i>
<br><i>find</i>
<br>
<br>The Unix <TT>find</TT> command on the NeXT has the capability of quickly searching a database of all the files. This database is located in <TT>/etc/find.codes</TT> and has to be generated periodically. You can automatically generate this database, say twice a week at 3:15 a.m., by adding this line to your file <TT>/etc/crontab.local</TT> (you might have to create this file).
<br>After this has run, you can quickly find any file from a terminal by typing <TT>find <pattern></TT> where <TT><pattern></TT> is a part of the file name you want (it is case-sensitive).
<br>Find still works under 3.0, but <TT><pattern></TT> now has to match the entire filename (including the path) for a match to be recognized i.e. where under 2.x you would have <TT>find foobar</TT>, under 3.0 you have <TT>find '*foobar*'</TT> (The <TT>'</TT> are necessary to prevent the shell from expanding the wildcards itself).
<br>
<br><TT>[From: Geert Jan van Oldenborgh <gj@csun.psi.ch>]</TT>
<br>
<br>I find the following script in <TT>/usr/local/bin</TT> very handy to bring back the behavior that God Intended <TT>find</TT> to have:
<br>When I double-click the Mail.app icon it loads and seems to start but then just terminates. How can I fix this ?
<br>
<br>Usually the problem is caused by Mail.app being terminated with extreme prejudice such as by a power outage or <TT>kill -9</TT>. Under those circumstances Mail.app may leave a lock file in your active mailbox. Due to a bug 3.0 Mail.app doesn't ask for permission to override this lock when started up again but just dies. Open a shell and look in <TT> /Mailboxes/Active.mbox</TT>. If this directory contains a file called <TT>.lock</TT> you have found the culprit. You can safely remove this file.
<br>
<br><H3><A NAME="4.14">4.14 Recycler doesn't work anymore?!</A></h3><i>Recycler</i>
<br>
<br>For some reason, after moving my home directory, my recycler no longer works?
<br>
<br><TT>[From: eric%basilisk@src.honeywell.com (Eric D. Engstrom)]</TT>
<br>
<br>Basically, when you dump a file in the recycler, the workspace manager (attempts) to move it to one of the following locations:
<br>
<br>(note: no order implied here, because I'm unsure of the actual order used)
<br>(Should always exist; unsure what happens if it doesn't)
<br>
<br>- /tmp/.NextTrash_$USER
<br>(Automatically created if non-existent)
<br>
<br>- $MNT-POINT/.NextTrash/$USER
<br>(.NextTrash NOT automatically created if non-existent)
<br></div></tt>
<br>Also, the workspace requires that the trash directory into which it puts the to-be-deleted file be on the same disk partition that the file originally came from (for speed, I assume).
<br>
<br>Also, an example of the permissions for the external disk .NextTrash directory (which is not automatically created) should be :
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> ls -aldg /private/mnt2/local/.NextTrash
<br>Hearing the sound directly on the NeXT can be done with the play3401 program from the archives if you have a Toshiba 3401 series drive. Theoretically this can also be done with NEC [78]4-1s and Apple CD 300s, though I know of no NeXT program which supports them. Most other drives (including the NeXT CD-ROM) just don't have the hardware to do it.
<br>
<br>There is another player available: CD_evil, which is based on play3401 but offers a GUI.
<br>
<br><B> FAQ-Authors note:</B> On Intel system it's very easy: just connect the CD-Audio out (internal) to your CD-in of the soundcard (internal).
<br>
<br>Anyway there are problems with different drives. E.g. we know, that the Toshiba, Sony and Nec drives <B>currently</B> use the same instruction set to access audio data. So be aware that there are drives which simply can't be accessed through CDPlayer.
<br>
<br><H3><A NAME="4.16">4.16 How do I decompress a file with the extension <TT>.compressed</TT>?</A></h3><i>.compressed</i>
<br><i>compress</i>
<br><i>uncompress</i>
<br><i>gnutar</i>
<br><i>tar</i>
<br><i>gzip</i>
<br><i>gunzip</i>
<br>
<br>Do this with the following methods.
<br>
<br><TT>[From: sanguish@digifix.com]</TT>
<br>
<br><TT>.compressed</TT> files have been compressed in the Workspace Manager. Basically, they are just <TT>.tar.Z</TT> files. Even single files are tarred as well as compressed.
<br>
<br>There are several methods of decompressing these files.
<br><ul><LI>They can be decompressed by selecting them in the Workspace, and Selecting uncompress from the file menu.
<br>
<br><LI>They can be decompressed by selecting them in the Workspace, and bringing up the Workspace Inspector. (You can double click to get there faster)
<br>
<br><LI>You can rename them to be .tar.Z and handle them the way you do them.
<br></ul><B> FAQ-Authors note:</B> use <TT>uncompress</TT> to access the <TT>.Z</TT> files and/or <TT>gunzip</TT> to access <TT>.z/.gz</TT> files. Use <TT>tar</TT> to access <TT>.tar</TT> files. You might also you <TT>gnutar</TT> to access both together, e.g. to access a <TT>.tar.gz</TT> at once. Read the man pages for more information.
<br>
<br><H3><A NAME="4.17">4.17 How do I change the Workspace compression app?</A></h3><i>compress</i>
<br>You can change the tools that the Workspace uses to create and read its <TT>.compressed</TT> files by issuing the following commands in a terminal window:
<br><TT>[Reuven M. Lerner reuven@the-tech.mit.edu]</TT>
<br>
<br>This is generally a good thing, except that people might follow your advice and then try to send NeXTmail to someone who is still using <TT>compress/uncompress</TT>. Changing Workspace/uncompress to gunzip isn't a problem, since it uncompresses all sorts of files, but people should be very careful not to change Workspace/compress to gzip unless they will only be dealing with other gzip-equipped users.
<br>
<br><H3><A NAME="4.18">4.18 console: <TT>loginwindow: netinfo problem - No such directory.</TT></A></h3><i>netinfo problem, <NS2.1</i>
<br>
<br>The netinfo problem is because the <TT>/keyboard</TT> directory is missing. It's benign... but annoying.
<br><H3><A NAME="4.19">4.19 Root login not possible on client machine</A></h3><i>root login</i>
<br>
<br>A number of people have complained about the situation where root can log onto the configuration server, but not its clients. Login proceeds normally, then a window with "Workspace error Internal error (signal 10)" pops up. Other users are not affected.
<br>
<br>This scenario occurs with NetBooted clients that are not permitted root access to <TT>/</TT> via the server's <TT>/etc/exports</TT> file, either via an explicit <TT>root=</TT> option or (the most heinous) <TT>anon=0</TT>. For security reasons many sites will NOT want to permit such access.
<br>
<br>Note that what you're up against is only a Workspace Manager misfeature; there's no problem logging in as root on the real UNIX console, or logging in as a non-root user and then using "su" to obtain root privileges.
<br>
<br>Root access is needed to:
<br><ul><LI>Log in a root Workspace.
<br>
<br><LI>Perform BuildDisk on a client.
<br>
<br><LI>Run the GuidedTour demo for the first time subsequent invocations will not autologin, but they will run just fine if you log in as NextTour (no password).
<br></ul>It is not required to perform updates on the local NetInfo database, for any normal user operations, nor to run programs requiring root access on the server using <TT>-NXHost</TT>.
<br>
<br><H3><A NAME="4.20">4.20 How to boot NEXTSTEP from the second (higher SCSI ID) HD?</A></h3><i>Boot, from higher SCSI ID</i>
<br><i>Boot, from second drive</i>
<br>
<br>Use the following command.
<br>
<br><tt><div style="background-color:#dddddd; margin:0px; padding:10px; width:650px; overflow:auto; font-size:100%;"> bsd(1,0,0) -a
<br></div></tt>
<br>which will then ask you for the drive to use as the root disk, or still easier,
<br>In the boot command the name of the bootfile can be replaced by <TT>'-'</TT>. This is very useful as the length of the bootcommand which can be stored in the permanent memory is very limited (on NeXT machines only). So the only way to eg. increase the number of buffers permanently to 128 in the boot command is to use the following boot command: <TT>sd- nbu=128</TT> (<TT>sdmach nbu=128</TT> would have been too long).
<br>
<br><H3><A NAME="4.21">4.21 How to make swapfile shrink to the <I>normal</I> size?</A></h3><i>swapfile</i>
<br>
<br>The swapfile is located in <TT>/private/vm</TT>. The only current way to make it shrink is to reboot the machine.
<br>
<br>See the man pages for <TT>swaptab</TT> for more information. Note, that putting a space after the comma in <TT>/etc/swaptab</TT> (<TT>lowat=<number>,hiwat=<number></TT>) makes swapon ignore the hiwat entry.
<br>
<br>There is a short trick which seems to work for several people: type <TT>exit</TT> in the login panel. This will exit the window server and restart it immediatly. If you are lucky, this will reclaim some space.
<br>
<br><H3><A NAME="4.22">4.22 Does netinfo work between machines running NEXTSTEP 2.x and 3.x?</A></h3><i>netinfo</i>
<br>
<br>Yes.
<br>
<br><H3><A NAME="4.23">4.23 Why does the console user "own" the external disk filesystem?</A></h3><i>filesystem, external</i>
<br>
<br>You need an entry in <TT>/etc/fstab</TT> so the disk will be mounted at boot time, rather than being "automounted" when somebody logs in. Automounted disks are owned by whoever logged in, fstab-mounted disks are owned by root. Something like this:
<br>(NeXT machines only) Enter the hardware monitor. Hit 'p' to adjust the configuration parameters. It will respond: <TT>Boot command: <something>?</TT> Enter <TT>sd- nbu=xxx</TT>, where xxx is a number less than 256.
<br>
<br><H3><A NAME="4.26">4.26 How can I change the mouse pointer shape and color?</A></h3>Maybe this could point you into the right direction. Pipe it to pft and see what happens....
<br>Maybe somebody wants to write some kind of "pointer editor"?
<br>
<br>There is also a commercial application named 'MouseMagic' which handles this and custom acceleration modes.
<br>
<br><H3><A NAME="4.27">4.27 How do I customize BuildDisk to create a bootable disk of my own configuration?</A></h3><i>BuildDisk, customization</i>
<br>
<br>The BuildDisk application is extremely limited in terms of the types of disks configuration it knows how to build. Essentially it "knows" about swapdisks, optical disks, 330 and 660 MB SCSI disks. If you wish to do custom configurations you should look at existing BLD script files in <TT>/etc/BLD.*</TT> There is a script which you can use to specify which BLD script you are using, which disktab entry, and other useful parameters in <TT>/usr/etc/builddisk</TT>
<br>
<br>Some things to note:
<br><ul><LI>the fstab installed on the target disk is specified in the newclient command in the BLD script. standard fstabs are extracted from <TT>/usr/template/client/fstab.*</TT>
<br>
<br><LI>the BLD scripts do not put down a new boot block on the scsi disk, you may want to install one by hand using the <TT>/usr/etc/disk</TT> program.
<br>
<br><LI>some disks boot fine but NeXTstep comes up with a blank window and no login window. This is due sometimes to forgetting to install an accessible <TT>/NextLibrary/{Fonts,Sounds}</TT>. In general you need quite a lot of things to make a bootable disk.
<br></ul>You can build a minimally usable bootable floppy (for crash recovery purposes). There is a modified version of builddisk (to make it support building floppies, a minimal change) and a BLD script to build the boot floppy available at <tt> <a href=ftp://cs.orst.edu/next/sources/Bootfloppy.tar.Z target=_blank><u>ftp://cs.orst.edu/next/sources/Bootfloppy.tar.Z</u></a></TT>. (I put this together in response to several requests.) A newer version of Bootfloppy for 2.1 is on the archives as <tt> <a href=ftp://cs.orst.edu/next/sources/util/Bootfloppy2.1.tar.Z target=_blank><u>ftp://cs.orst.edu/next/sources/util/Bootfloppy2.1.tar.Z</u></a></TT>.
<br>
<br>Also available from the archives is BootFloopy 3.x (for --- you guessed it --- NEXTSTEP 3.x). I might also add that one can improve on disk usage while enhancing functionality. BuildDisk (which is used by the various BootFloppy scripts) just copies the standard binaries for ls, mv, cp aso. from <TT>/bin</TT>. These binaries are statically linked as shipped by NeXT which makes them huge. (e.g. <TT>/bin/ls</TT> is 106496 bytes large. <TT>/usr/local/bin/gls</TT> with more features is just 16268 bytes). If you replace these binaries by the BSD or GNU equivalents you can save several hundred kBytes on your boot floppy. This extra diskspace can be used for tar, dump and more tools which makes the boot floppy actually usable. Tested.
<br>
<br><H3><A NAME="4.28">4.28 Are there any more dwrites useful for the workspace, ...?</A></h3><i>dwrite, misc</i>
<br>
<br>There a lot of dwrite useful for you. (self explanatory)
<br>dwrite Workspace DockOnTop (0 or 1 for true or false)
<br>
<br>dwrite appname NXCMYKAdjust YES
<br>dwrite Preferences 24HourClock yes
<br></div></tt>
<br><H3><A NAME="4.29">4.29 What is the @LongLink message from <TT>gnutar</TT> all about?</A></h3><i>@LongLink</i>
<br><i>gnutar</i>
<br>
<br>Because gnutar tries to be somewhat compatible to the old tar format, it can't store pathnames longer than 100 chars. In order to store files with longer names, it generates a special file entry containing just the longer filename. These are the long links you see. Nothing to worry about.
<br>
<br><H3><A NAME="4.30">4.30 What stands the file .place3_0.wmd for?</A></h3><i>.place3_0.wmd</i>
<br>
<br>The Workspace uses it to record the window attributes (sort order, view type, icon positions and so on)
<br>
<br>Switching the 'UNIX Expert' flag in UNIX Preferences panel off hides all files which start by '.'
<br>
<br><H3><A NAME="4.31">4.31 How to create transparent icons with IconBuilder</A></h3><i>IconBuilder</i>
<br><i>icon, transparent</i>
<br>
<br>If you are repainting an icon on the filesystem e.g. <TT>.dir.tiff</TT> make a copy and remove it first. Then reload the directory (the default icon gets shown). This is needed because the system caches icons.
<br>
<br>Now here comes how to create transparent backgrounds using IconBuilder:
<br><ul><LI>Select Format->Document Layout (or New document layout)
<br>
<br><LI>'Has alpha' must be checkedus
<br>
<br><LI>Open the color inspector
<br>
<br><LI>UNcheck 'paint in overlay mode'
<br>
<br><LI>Choose any color (I took white)
<br>
<br><LI>Set Opacity to 0
<br>
<br><LI>Use Paintbucket to fill the whole icon
<br>
<br><LI>Now set Opacity back to 100
<br>
<br><LI>Draw the icon
<br></ul>What 'Paint in overlay mode' does, is that when checked, it will use both the alpha (opacity) of the existing pixel and the alpha selected in the color inspector and combine both into a new color. When unchecked the existing pixel will just be replaced with one using color and alpha as selected in the inspector.
<br>
<br><H3><A NAME="4.32">4.32 How to access the MAC format of a mixed DOS/MAC CD-ROM</A></h3><i>Mac</i>
<br><i>DOS</i>
<br><i>CD-ROM</i>
<br>
<br>Some CD-ROMs are using multiple fileformats to adress more people. This is done by putting two filesystems on the disk. With NEXTSTEP you are able to acess both. But what to do if the Workspace only shows you the DOS side of a disk, while the Mac side is often more convenient (due to e.g. long filenames).
<br>
<br>The solution is to change the priority the system is searching for a usable filesystem. You need to rearange the filesystems in <TT>/usr/filesystems</TT> to fit your needs. Here is how:
<br><ul><LI><TT>ls -lR /usr/filesystems</TT> shows the actual searching queue.
<br>
<br><LI><TT>mv /usr/filesystems /tmp/filesystems</TT> to backup things
<br>
<br><LI><TT>mkdir /usr/filesystems</TT> recreate the directory.
<br>
<br><LI><TT>cp -p -r /tmp/filesystems/xx /usr/filesystems</TT> copy the filesystems in order of searching back to the default location.
<br><LI>reset the links in <TT>/usr/filesystems/DOS.fs/</TT>.
<br></ul><img src="/images/trans.gif" border=0><h3><A NAME="4.33">4.33 Is there a PPP for NEXTSTEP</A></h3><i>PPP</i>
<br>
<br>There is a commercial PPP and a public domain PPP implementation.
<br>
<br>For the public domain PPP there is an additional FAQ available at: <tt> <a href=http://www.thoughtport.com:8080/PPP/ target=_blank><u>http://www.thoughtport.com:8080/PPP/</u></a></TT>
<br>
<br>The public domain PPP is based on the PPP-2.2 distribution. This distribution offers several enhancements over ppp-2.1.2. Especially noteworty is that it implements BSD packet compression. Using packet compression can lead to higher throughput than you get using compressing modems.
<br>
<br>The port works on Motorola, Intel (both Mux and NeXT supplied serial drivers), and HP systems running OS 3.2 and 3.3. It also works in conjunction with Black and White's NXFAX software.
<br>
<br>You may also want to join the mailing list for PPP. This will keep you informed of new releases and will provide an arena for discussing problems with the NeXT specific PPP port. To add yourself to the list (or for any other administrative requests), send an email message to: <TT>listproc@listproc.thoughtport.com</TT> requesting you be placed on the list. Make sure to include your proper return email address. To send mail to all the participants on the list, address your messages to: <TT>nextppp@listproc.thoughtport.com</TT>
<br>
<br><H3><A NAME="4.34">4.34 NIS and OpenStep</A></h3><i>NIX</i>
<br><i>lookupd</i>
<br>
<br>There's a new lookupd in OpenStep for Mach 4.0, which works a bit differently than the old lookupd. The new lookupd has a number of "agents" that do lookups from various information systems (NetInfo, DNS, NIS, the Flat Files, and the internal cache). You can specify which information sources should be consulted, and in what order. You can also specify which information sources should be consulted for different categories. There is documentation for all this in the file <TT> /NextLibrary/Documentation/NextAdmin/ReleaseNotes/lookupd.rtf</TT>.
<br>
<br>One change in NIS lookups is that a "+" in the <TT>/etc/passwd</TT> file does not trigger a NIS lookup. If you want user lookups to consult both <TT>/etc/passwd</TT> and the NIS passwd maps, you need to tell lookupd to use both Flat File and NIS agents. For example, if you configure all this in your root domain, you could set user lookups to use Cache+NetInfo+Flat Files+NIS like this:
<br><H3><A NAME="4.35">4.35 System overloaded due to swapping</A></h3><i>Swapping</i>
<br><i>CPU overload</i>
<br><i>load</i>
<br>
<br>Several people discovered the problem, that their system get's unusable due to swapping. This is extremely bad, because if this swapping occurs, you can't even break the CPU load causing process, because you can't even open a terminal window. There exists a programmed solution to this problem.
<br>
<br>Here it is! I should warn you that this will just kill the app --- it will not give you a chance to save files, nor will it bring up a nice panel asking if you really meant to do that. There is no warranty for anything by using his code.
<br>
<br>To use it, simple hold down alternate and right click on any window owned by the application or its icon on the dock. This will not kill some apps like Terminal because they run as root.
<br>
<br>In order to install it, you will have to edit <TT>/usr/lib/NextStep/windowpackage.ps</TT>. Make sure that you make a backup of this file before editing it! It is owned by root, so not just anyone can do this.
<br>
<br>To apply the patch, search for a line stating: <TT>rmdownEvProc</TT> (the procedure for processing right mouse button down events), and replace it with the code named <TT>examples/windowpackage.patch</TT> in the FAQ archive. For NS3.3 this code is located at line 1319.
<br>
<br><B>Disclaimer:</B> you should not attempt this if you do not know what you are doing. You may be unable to log in (you will have to boot single user to restore the windowpackage.ps) if you mess it up. You can kill apps that you did not mean to kill. I cannot be responsible for what happens!
<br>
<br>Thanks to David Koski <TT>dkoski@cs.wisc.edu</TT> for supplying this code.
<br><ul><LI>use 'mkfile' to generate the lowat file size of you swapfile. This decreases the number of inodes used and keeps the permanent lowat size defragmented.
<br>
<br><LI>on fast machines, compress the swapfile (only possible on the primary file), on slow machines, disable compressing.
<br>
<br><LI>place the swapfile on the fastest hard disk drive you have. Use <TT>'man swaptab'</TT> to learn more about configuring swap files.
<br>
<br><LI>to learn more about the never shrinking swapfile question, read the NeXTanswers about it. <tt> <a href=http://www.next.com/NeXTanswers/ target=_blank><u>http://www.next.com/NeXTanswers/</u></a></TT>
<br>
<br><LI>if your swaptab ignores some options: be aware that options must not contain spaces!
<br></ul><img src="/images/trans.gif" border=0><h3><A NAME="4.37">4.37 Garbage collection and Objective-C</A></h3><i>garbage collection</i>
<br><i>memory allocation</i>
<br>
<br>Note that Boehm's conservative garbage collector from <tt> <a href=ftp://ftp.parc.xerox.com/pub/gc/ target=_blank><u>ftp://ftp.parc.xerox.com/pub/gc/</u></a></TT> works great with Objective-C, so you can use GC also with the other compilers.
<br>
<br>That GC could be enhanced a little by taking advantage of the Objective-C runtime type information; the hooks are there for it.
<br>
<br><H3><A NAME="4.38">4.38 Setting up an anonymous FTP server</A></h3><i>ftp server</i>
<br>
<br>Many people suggested just to read the online manual to <TT>ftpd</TT>. Probably a good idea. Anyway I included a not tested script in the FAQ distribution package which might be convinient for most people.