Subject: FAQ: 4 - Miscellaneous Information


                         4 MISCELLANEOUS INFORMATION

   Misc Various Unsorted

4.1 How do I get pictures of people from remote sites to appear in Mail.app and
NewsGrazer?

   Pictures, in Mail Pictures, in NewsGrazer Mail, remote Pictures
   Newsgrazer, remote Pictures

   You can do this in the following ways.

     * Mail In /LocalLibrary/Images/People put a tiff (64x64) in the form
       of person@remote.site.domain.tiff (all lowercase). In
       /LocalLibrary/Images/People/passwd add an entry for the person:


        person@remote.site.domain:*:-2:-2::/nodir:/noshell


       (person and sitename need to be all lowercase as well) In the
       future anytime you get mail from the person their picture should
       appear.

       You can include an "aliases" file in /LocalLibrary/Images/People
       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.

       To do this, you include entries in this local aliases file like
       so:


        bkohler@ucrac1.ucr.edu:bkohler.gonzo.ucr.edu
        gonzo.ucr.edu!bkohler@uupsi2.uucp:bkohler.gonzo.ucr.edu


       There should then be a .tiff file called
       bkohler.gonzo.ucr.edu.tiff.

       There can be no CAPITAL LETTERS in this file. So even if the
       address in the From: field looks like
       gonzo.ucr.edu!bkohler@uupsi2.UUCP, keep the letters lowercase in
       the aliases file. As always, you have to restart Mail before these
       changes take effect.

     * NewsGrazer

       In /LocalLibrary/NewsGrazer/People put a tiff (64x64) in the form
       of person.remote.site.domain (all lowercase). This is a different
       naming convention from what Mail uses.

       There is a large archive of some 4000 or 5000 pictures prepared
       for this purpose. The name of this archive is Faces3.tar.Z and it
       is about 4.1 MBytes large. Currently it is available from several
       anonymous ftp sites (e.g. sonata.cc.purdue.edu in:
       /pub/next/graphics/Images/icons/people)

       That image archive also contains a script which automatically
       creates proper alias and passwd files.


4.2 How to manipulate and examine default settings

     * A command line utility for examining defaults is available from:
       sutro.sfsu.edu:/pub/wmdefaults1.0.tar.Z

     * A PD App, DefaultMgr.app, is available on the NeXT ftp archives.

     * A more brute approach (done by DefaultMgr.app):

       Start the application under gdb, and then try the following
       sequence of commands:


        break  *0x500976a
        commands 1
        silent
        printf "%s: ", *$a2
        output {char *}(4+$a2)
        echo \n
        cont
        end
        run


   [Carl Edman ] adds:

   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.

   [eps@toaster.SFSU.EDU (Eric P. Scott)] adds:

   Needs to be revised for 3.x systems. wmdefaults is only for 2.x; it's
   not needed for 3.0 and later.

4.3 How do I run NextApps remotely?

   Remote running

   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 -NXHost .
   Both machines should be running the same version of NeXTstep.

   [shayman@Objectario.com (Steve Hayman)]

   NeXTSTEP 3.1 and higher includes a demo application called OpenSesame
   that simplifies this. You can select a program in Workspace and use >
   Service > Open Sesame > Open on Another Host ...to launch a program on
   a remote machine. This is a way to run old, non-fat-binary software on
   new NeXTSTEP/Intel machines.

4.4 Why does UUCP hangs on outgoing connections after sending the password, but
other communications software do not have a problem with it?

   UUCP

   What is happening is that the remote machine is waiting for you to end
   your login or password by typing a "Return" (aka &Mcirc; or CR or
   CARRIAGE RETURN). UUCP ends a line by sending a LineFeed (aka Ĵ
   or LF). Since UUCP doesn't send the CR, the login sequence is never
   completed, and you will usually get one of two error messages:


        wanted "password:" (means that username needs to end with a CR)
        imsg waiting for SYNC< (means that password needs to end with CR)


   So how do you get UUCP to send CR, instead of LF?

   End the send string with the sequence
   n
   c. For instance this line in L.sys will send a LF after login, but a
   CR after password.


        myfeed Any DIR 9600 cub "" ATTD19095551212 9600 \
        "" ogin:--ogin: Unext ssword: secret\n\c


4.5 How do I access the NeXT's Digital Webster Dictionary from a program?

   Webster

   Get Jiro Nakamura's define program from the archiver servers:
   define.tar.Z. 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: Webster.a5 and websterd.

4.6 How do I get the arrow keys to work in csh?

   csh, arrow keys

   This is for people who use a terminal app that does vt100 keyboard
   emulation - pasc

   First, add these lines to your .cshrc (preferably between the if and
   endif):


        set editmode=emacs
        set macrofiles=.macros


   Then create a file called .bindings and put in it:


        bind-to-key ExecuteNamedMacro '\e['


   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:


        A^@^@^@^A^P
        B^@^@^@^A^N
        C^@^@^@^A^F
        D^@^@^@^A^B


   where &@circ; means Control-@ and  means Control-A, 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.

   On Intel machines these sequences are a little different:


        A^A^@^@^@^P
        B^A^@^@^@^N
        C^A^@^@^@^F
        D^A^@^@^@^B


   Then source .cshrc and the changes should take effect.

4.7 What default affects menu location?

   Menu, location Do the following.


        dwrite GLOBAL NXMenuX <value>
        dwrite GLOBAL NXMenuY <value>


4.8 How to get Gourmet to boot up the Mathematica 2.0 kernel?

   Mathematica

   Login as root, or get root privileges running su, and execute the
   following five commands:


        mkdirs /NextApps/Mathematica.app/Kernel/NeXT
        cd /NextApps/Mathematica.app/Kernel
        ln -s uuuuu/Mathematica.app/Kernel/Display Utilities
        cd NeXT
        ln -s vvvvv/math mathexe


   where uuuuu is the directory where Mathematica was placed (typically,
   /LocalApps) and vvvvv is the directory where the executable math was
   placed (typically, /usr/local/bin)

4.9 Manipulating the Loginwindow

   loginwindow dwrites

   There are some for loginwindow:

   [Jess Anderson writes:]

   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.

   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.

   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).

   After setting the things you want, restart the WindowServer by logging
   out of the current session and typing exit on the login panel.

   OK, here's what we know (or think we do :-):


        dwrite loginwindow DefaultUser <login-name>


   Most new machines have set to me. This dwrite logs in user
   automatically. User must not have a password set, hence don't use this
   in a networked environment!


        dwrite loginwindow HostName "<host_name>"
        dwrite loginwindow HostName localhost

   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.

   The font, size, color, and position of the printed string are not
   accessible (drat!).


        dwrite loginwindow ImageFile <path/to/a/suitable.tiff>


   This uses the tiff image pointed to instead of the standard one (in
   /usr/lib/NextStep/loginwindow.app/English.lproj/nextlogin.tiff, .lproj
   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.


        dwrite loginwindow TimeToDim <integer_number>


   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 seems longer when you're
   not having fun waiting. :-) Whatever, the login screen dims to about
   half after this length of time.


        dwrite loginwindow MoveWhenIdle YES


   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.


        dwrite loginwindow MovementTimeout <real_number>


   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.


        dwrite loginwindow MovementScale <integer_number>


   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.


        dwrite loginwindow MovementRate <real_number>


   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.


        dwrite loginwindow PowerOffDisabled YES


   This makes it a little harder to turn the machine off; you have to use
   the monitor or the minimonitor (- ) if it's set, rather than the key.


        dwrite loginwindow LoginHook <path/to/loginhook/executable>
        dwrite loginwindow LogoutHook <path/to/logouthook/executable>


   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 /etc/ttys.

   There are yet others. Here's the full list (thanks, Art):


        NXGetDefaultValue("loginwindow", "DebugHook") => 0x0
        NXGetDefaultValue("loginwindow", "DryRun") => 0x0
        NXGetDefaultValue("loginwindow", "WindowServerTimeout") => 0x0
        NXRegisterDefaults("loginwindow", 0x16024)
        KeyMapPath: 0x12d97
        "~/Library/Keyboards:/LocalLibrary/Keyboards:/NextLibrary/Keyboards"
        Keymap: 0x12de1 "/NextLibrary/Keyboards/USA"
        SwappedKeymap: 0x12e0a "No"
        LoginHook: 0x0
        LogoutHook: 0x0
        HostName: 0x0
        ImageFile: 0x0
        DefaultUser: 0x12e41 "me"
        PowerOffDisabled: 0x0
        TimeToDim: 0x12e69 "2040"
        MoveWhenIdle: 0x12e0a "No"
        MovementTimeout: 0x12e8b "300.0"
        MovementRate: 0x12e9e "0.06666"
        MovementScale: 0x12eb4 "10"


   [Christopher J. Kane kane@cs.purdue.edu]

   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).

   The program below patches loginwindow to eradicate the restart and
   power buttons. It makes the loginwindow's LoginButton class instance
   method initWithImage:altImage:andString: a no-op (just return nil).
   This patch has been applied to the machines in the NeXT lab at Purdue
   (like sonata.cc.purdue.edu for instance), and no adverse effects have
   been noted.

   This program must be run as root, since it writes to the file
   /usr/lib/NextStep/loginwindow.app/loginwindow.

   An archive with a compiled executable has been submitted to
   sonata.cc.purdue.edu.


        /*
         * Patches the loginwindow.app to eradicate the restart and power
         * buttons from the login window.
         *
         * Christopher J. Kane (kane@cs.purdue.edu)
         * Released into public domain; August 13, 1993.
         */

        #include <libc.h>
        #include <errno.h>

        void main(int argc, char *argv[])
        {
          unsigned char patch[8] = {0x0, 0x0, 0x42, 0x80, 0x4e, 0x5e, 0x4e,
          0x75};
        int file = open("/usr/lib/NextStep/loginwindow.app/loginwindow",
        O_WRONLY);
          if (-1==file)
            goto error;
          if (-1==lseek(file, 21170, SEEK_SET))
            goto error;
          if (-1==write(file, patch, 8))
            goto error;
          if (-1==close(file))
            goto error;
          exit(0);
        error:
          fprintf(stderr, "%s: %s\n", argv[0], strerror(errno));
          exit(1);
        }


   FAQ-Authors note: 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.

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?

   man pages, NS2.x

   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 .index
   directory:


        .roffArgs:
        -man

        displayCommand:
        tbl %s | nroff -man

        ixBuildOptions:
        -fman -Nwhatis -Ncat[1-8ln] -V


   Other options that people suggested for ixBuildOptions:


        -fman -Nwhatis -Ncat[1-8] -V /usr/local/man
        -fman -Nwhatis -V /usr/local/man/man*


   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 cat*
   directories indexed as well.

   Note: Do NOT leave a trailing return after the line in ixBuildOptions;
   DL will barf. (I think someone said that, as shipped, the standard man
   .index/ixBuildOptions had this problem.)

   [From: Eric D. Engstrom ]

   Can anyone tell me what the command line for this might be under
   NEXTSTEP 3.0?

   Short answer: RTM on ixbuild(1) - specifically the parameter "-g".

   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...

   Basically, you need to setup a directory with sym-links to the various
   man-page directories; For example:


        (397)basilisk% pwd
        /LocalLibrary/Documentation/ManPages
        (398)basilisk% ls -alg
        total 728
        drwxrwxr-x  2 eric     wheel       1024 Mar 28 18:03 ./
        drwxrwxr-x 11 root     wheel       1024 Mar 27 00:41 ../
        -rw-r--r--  1 eric     wheel        370 Feb 27 22:01 .README
        -rw-rw-r--  1 eric     wheel        872 Feb 27 17:11 .dir.tiff
        -rw-rw-r--  1 eric     wheel         20 Feb 27 17:11 .displayCommand
        -rw-rw-r--  1 eric     wheel         47 Feb 27 17:10 .index.iname
        -rw-rw-r--  1 eric     wheel          6 Feb 27 17:10 .index.itype
        -rw-r--r--  1 eric     wheel     729088 Mar 28 18:44 .index.store
        -rw-rw-r--  1 eric     wheel          5 Feb 27 17:11 .roffArgs
        lrwxrwxrwx  1 eric     wheel         18 Feb 27 17:53 gnu ->
        /usr/local/gnu/man/@
        lrwxrwxrwx  1 eric     wheel         14 Feb 27 17:53 local ->
        /usr/local/man/@
        lrwxrwxrwx  1 eric     wheel          9 Feb 27 17:53 news ->
        /news/man/@
        lrwxrwxrwx  1 eric     wheel         35 Feb 27 17:53 system ->
        /usr/man/@


   Notice that I also copied all the .[a-z]* files from the /usr/man/
   directory as well.

   Then, use ixbuild -gl 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.

   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
   ixbuild -ogldvc (actually, I setup a cron job to reindex weekly.)

   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.

4.11 Appending a signature and addition headers to your e-mail

   .signature signature Mail

   There is a bundle for Mail to which, beside other features, allows you
   to add a .signature file to outgoing e-mails: EnhancedMail.bundle.
   This software package is available by the FTP archive sites.

   Here are other solutions which might serve you as well:

   [Carl Edman ]

   First create a simple text file the following content:


        #!/bin/sh
        {
        if test -r ${HOME}/.add-header; then cat ${HOME}/.add-header; fi
        cat -
        if test -r ${HOME}/.signature; then echo "--"; cat ${HOME}/.signature;
        fi
        }| /usr/lib/sendmail "$@"


   A good name for this file would be sendmail-addheader. If you want to
   and can install it for system-wide use put this file in e.g. /usr/lib.
   Otherwise your private /Unix/bin directory is also fine. Make certain
   that this file has execute permission. To set that, use e.g. chmod 755
   /usr/lib/sendmail-addheader.

   Next, open up the preferences panel in Mail. Switch to the expert
   options. Change the Mailer option from /usr/lib/sendmail (which it
   should originally be) to /usr/lib/sendmail-addheader (or whatever the
   name of the file you created is). OK this and you should be set.

   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:


        Reply-to: My Real Human Name <name@my.real.address>


   IMPORTANT: Make certain that you have one and exactly one newline at
   the end of /.add-header. Anything might break outgoing mail. Beware!

   BUG: The /.signature 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.

   [From: jbrow@radical1.radical.com (Jim Brownfield)]

   I have added a Terminal Service to terminal to add a signature file
   whenever I type "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.

   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.

   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:

    1. Create a new service by clicking on the "New" button. Change the
       service name to "Get signature".
    2. Add the command "cat " 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.
    3. De-select any items checked within the "Accept" grouping. Select
       the "As Input" radio button under the "Use Selection" section.
    4. Change the "Execution" popup to "Run Service in the Background".
       Select the "Return Output" and "No Shell" radio buttons.
    5. Click the "Save" button.


   Now, when you type "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.

4.12 How can I quickly find a file if I don't know its directory?

   searching, files find

   The Unix find command on the NeXT has the capability of quickly
   searching a database of all the files. This database is located in
   /etc/find.codes 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 /etc/crontab.local (you might have to
   create this file).


        15 03 * * 2,5 root      /usr/lib/find/updatedb > /usr/adm/updatedb.err


   After this has run, you can quickly find any file from a terminal by
   typing find where is a part of the file name you want (it is
   case-sensitive).

   [Carl Edman ] adds:

   Find still works under 3.0, but 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 find foobar, under 3.0 you have find '*foobar*' (The '
   are necessary to prevent the shell from expanding the wildcards
   itself).

   [From: Geert Jan van Oldenborgh ]

   I find the following script in /usr/local/bin very handy to bring back
   the behavior that God Intended find to have:


        #!/bin/csh
        if ( $#argv == 1 ) then
        /usr/bin/find \*$1\*
        else
        set noglob
        /usr/bin/find $argv[1-]
        unset noglob
        endif


4.13 Mail.app suddenly stopped working!

   Mail, doesn't start

   When I double-click the Mail.app icon it loads and seems to start but
   then just terminates. How can I fix this ?

   Usually the problem is caused by Mail.app being terminated with
   extreme prejudice such as by a power outage or kill -9. 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
   /Mailboxes/Active.mbox. If this directory contains a file called .lock
   you have found the culprit. You can safely remove this file.

4.14 Recycler doesn't work anymore?!

   Recycler

   For some reason, after moving my home directory, my recycler no longer
   works?

   [From: eric%basilisk@src.honeywell.com (Eric D. Engstrom)]

   Basically, when you dump a file in the recycler, the workspace manager
   (attempts) to move it to one of the following locations:

   (note: no order implied here, because I'm unsure of the actual order
   used)


        - $HOME/.NeXT/.NextTrash
                (Should always exist; unsure what happens if it doesn't)

        - /tmp/.NextTrash_$USER
                Automatically created if non-existent)

        - $MNT-POINT/.NextTrash/$USER
                (.NextTrash NOT automatically created if non-existent)


   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).

   Also, an example of the permissions for the external disk .NextTrash
   directory (which is not automatically created) should be :


        ls -aldg  /private/mnt2/local/.NextTrash
        drwxrwxrwt [...] /private/mnt2/local/.NextTrash/


   Note: /private/mnt2/local is the mount point. Do chmod 1777 .NextTrash
   to get the permissions right.

   Thus, if you moved your home directory from one partition to another,
   the one you left may not have a "recycler-repository" to use.

4.15 How to hear sound from CDPlayer.app thought NEXTSTEP system?

   digital audio CDPlayer

   To hear sound, the following info is important.

   [Carl Edman ]

   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.

   There is another player available: CD_evil, which is based on play3401
   but offers a GUI.

   FAQ-Authors note: On Intel system it's very easy: just connect the
   CD-Audio out (internal) to your CD-in of the soundcard (internal).

   Anyway there are problems with different drives. E.g. we know, that
   the Toshiba, Sony and Nec drives currently use the same instruction
   set to access audio data. So be aware that there are drives which
   simply can't be accessed through CDPlayer.

4.16 How do I decompress a file with the extension .compressed?

   .compressed compress uncompress gnutar tar gzip gunzip

   Do this with the following methods.

   [From: sanguish@digifix.com]

   .compressed files have been compressed in the Workspace Manager.
   Basically, they are just .tar.Z files. Even single files are tarred as
   well as compressed. There are several methods of decompressing these
   files.
    1. They can be decompressed by selecting them in the Workspace, and
       Selecting uncompress from the file menu.
    2. They can be decompressed by selecting them in the Workspace, and
       bringing up the Workspace Inspector. (You can double click to get
       there faster)
    3. You can rename them to be .tar.Z and handle them the way you do
       them.


   FAQ-Authors note: use uncompress to access the .Z files and/or gunzip
   to access .z/.gz files. Use tar to access .tar files. You might also
   you gnutar to access both together, e.g. to access a .tar.gz

   at once. Read the man pages for more information.

4.17 How do I change the Workspace compression app?

   compress gzip gunzip dwrites

   Change it with the given method.

   [Stephen Peters ]

   You can change the tools that the Workspace uses to create and read
   its .compressed files by issuing the following commands in a terminal
   window:


        dwrite Workspace compress /usr/bin/gzip
        dwrite Workspace uncompress /usr/bin/gunzip
        dwrite Workspace AlwaysTarForCompress YES


   [Reuven M. Lerner reuven@the-tech.mit.edu]

   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
   compress/uncompress. 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.

4.18 console: loginwindow: netinfo problem - No such directory.

   netinfo problem, /keyboard directory is missing. It's benign... but
   annoying.


        niutil -create . /keyboard


   Fixed in 2.1 and up.

4.19 Root login not possible on client machine

   root login

   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.

   This scenario occurs with NetBooted clients that are not permitted
   root access to / via the server's /etc/exports file, either via an
   explicit root= option or (the most heinous) anon=0. For security
   reasons many sites will NOT want to permit such access.

   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.

   Root access is needed to:

     * Log in a root Workspace.
     * Perform BuildDisk on a client.
     * 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).


   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 -NXHost.

4.20 How to boot NEXTSTEP from the second (higher SCSI ID) HD?

   Boot, from higher SCSI ID Boot, from second drive

   Use the following command.


        bsd(1,0,0) -a


   which will then ask you for the drive to use as the root disk, or
   still easier,


        bsd(1,0,0)sdmach rootdev=sd1


   In the boot command the name of the bootfile can be replaced by '-'.
   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: sd- nbu=128 (sdmach nbu=128 would have been too long).

4.21 How to make swapfile shrink to the normal size?

   swapfile

   The swapfile is located in /private/vm. The only current way to make
   it shrink is to reboot the machine.

   See the man pages for swaptab for more information. Note, that putting
   a space after the comma in /etc/swaptab (lowat=,hiwat=) makes swapon
   ignore the hiwat entry.

4.22 Does netinfo work between machines running NEXTSTEP 2.x and 3.x?

   netinfo

   Yes.

4.23 Why does the console user "own" the external disk filesystem?

   filesystem, external

   You need an entry in /etc/fstab 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:


        /dev/sd0a / 4.3 rw,noquota,noauto 0 1
        /dev/sd1a /Disk 4.3 rw,noquota 0 2


   (assuming the external disk is to be mounted as /Disk)

   fstab should be niloaded into the Netinfo database if it contains any
   NFS mounts.

4.24 How to limit coredump sizes?

   coredump, size limit

   Limit it by the following command.

   This will work for apps running from a shell.


        limit coredumpsize 0


   If your dock or workspace apps are dumping core, there's also:


        dwrite Workspace CoreLimit <bytesize>


4.25 What is the maximum value of nbuf that I can specify on bootup?

   buffers, ROM

   I know the ROM monitor only allows twelve characters, but I use
   something like this:


        bsd sdmach nbuf=xxx


   (NeXT machines only) Enter the hardware monitor. Hit 'p' to adjust the
   configuration parameters. It will respond: Boot command: ? Enter sd-
   nbu=xxx, where xxx is a number less than 256.

4.26 How can I change the mouse pointer shape and color?

   Maybe this could point you into the right direction. Pipe it to pft
   and see what happens....


        %!PS-Adobe-2.0 EPSF-2.0
        %%BoundingBox: 0 0 16 16
        %%EndComments
        0 0 16 16 Retained window
        dup windowdeviceround
        gsave
        16 16 scale
        16 16 4
        [16 0 0 -16 0 16]
        {<
        ffffffff00000000000000000000000000000000000000000000000000000000
        ffff0d0fffff0000000000000000000000000000000000000000000000000000
        ffff0d0f0d0fffff000000000000000000000000000000000000000000000000
        ffff0d0ffd0f0d0fffff00000000000000000000000000000000000000000000
        fffffd0ffd0ffd0ffd0fffff0000000000000000000000000000000000000000
        fffffd0ff50ff50ff50ffd0fffff000000000000000000000000000000000000
        fffff50ff50ff50ff50ff50ff50fffff00000000000000000000000000000000
        fffff50fd00fd00fd00fd00fd00f908fffff0000000000000000000000000000
        ffffd00fd00fd00fd00fd00fd00f908f908fffff000000000000000000000000
        ffffd00fd00fd00f908f908fffffffffffffffffffff00000000000000000000
        ffff908f908fffff00ff00ffffff000000000000000000000000000000000000
        ffff908fffff0000ffff00ff00ffffff00000000000000000000000000000000
        ffffffff00000000ffff00ff00ffffff00000000000000000000000000000000
        ffff0000000000000000ffff00ff00ffffff0000000000000000000000000000
        00000000000000000000ffff00ff00ffffff0000000000000000000000000000
        000000000000000000000000ffffffff00000000000000000000000000000000
        >} false 3 alphaimage
        grestore
        gstate
        nextdict /_NXSharedGrayAlpha get
        NX_TwelveBitRGB 1 index setwindowdepthlimit
        windowdeviceround
        0 0 16 16 5 4 roll 0 32 Copy composite
        nulldevice
        termwindow


   Maybe somebody wants to write some kind of "pointer editor"?

4.27 How do I customize BuildDisk to create a bootable disk of my own
configuration?

   BuildDisk, customization 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 /etc/BLD.* There is a script
   which you can use to specify which BLD script you are using, which
   disktab entry, and other useful parameters in /usr/etc/builddisk

   Some things to note:
     * the fstab installed on the target disk is specified in the
       newclient command in the BLD script. standard fstabs are extracted
       from /usr/template/client/fstab.*
     * 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 /usr/etc/disk
       program.
     * 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 /NextLibrary/{Fonts,Sounds}. In general you need quite
       a lot of things to make a bootable disk.


   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 cs.orst.edu in
   next/sources/Bootfloppy.tar.Z. (I put this together in response to
   several requests.) A newer version of Bootfloppy for 2.1 is on the
   archives as next/sources/util/Bootfloppy2.1.tar.Z. 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 /bin. These binaries are statically linked as shipped by
   NeXT which makes them huge. (e.g. /bin/ls is 106496 bytes large.
   /usr/local/bin/gls 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.

4.28 Are there any more dwrites useful for the workspace, ...?

   dwrite, misc

   There a lot of dwrite useful for you. (self explanatory)


        dwrite Workspace compress   /usr/bin/gzip
        dwrite Workspace uncompress /usr/bin/gunzip
        dwrite Workspace AlwaysTarForCompress Yes
        dwrite Workspace DockOrginX (some number)
        dwrite Workspace DockOrginY (some number)
        dwrite Workspace DockOffsetX -1057 (leftmost)
        dwrite Workspace DockOnTop (0 or 1 for true or false)

        dwrite appname NXCMYKAdjust YES
        dwrite Preferences 24HourClock yes


4.29 What is the @LongLink message from gnutar all about?

   @LongLink gnutar

   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.

4.30 What stands the file .place3_0.wmd for?

   .place3_0.wmd

   The Workspace uses it to record the window attributes (sort order,
   view type, icon positions and so on)

   Switching the 'UNIX Expert' flag in UNIX Preferences panel off hides
   all files which start by '.'.

4.31 How to create transparent icons with IconBuilder

   IconBuilder icon, transparent

   If you are repainting an icon on the filesystem e.g. .dir.tiff make a
   copy and remove it first. Then reload the directory (the default icon
   gets shown). This is needed because the system caches icons.

   Now here comes how to create transparent backgrounds using
   IconBuilder:

     * Select Format->Document Layout (or New document layout)
     * 'Has alpha' must be checkedus
     * Open the color inspector
     * UNcheck 'paint in overlay mode'
     * Choose any color (I took white)
     * Set Opacity to 0
     * Use Paintbucket to fill the whole icon
     * Now set Opacity back to 100
     * Draw the icon


   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.

4.32 How to access the MAC format of a mixed DOS/MAC CD-ROM

   Mac DOS CD-ROM

   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).

   The solution is to change the priority the system is searching for a
   usable filesystem. You need to rearange the filesystems in
   /usr/filesystems to fit your needs. Here is how:

     * ls -lR /usr/filesystems shows the actual searching queue.
     * mv /usr/filesystems /tmp/filesystems to backup things
     * mkdir /usr/filesystems recreate the directory.
     * cp -p -r /tmp/filesystems/xx /usr/filesystems copy the filesystems
       in order of searching back to the default location.
     * chmod 4755 /usr/filesystems/xx.fs/xx.util reset SUID mode
     * reset the links in /usr/filesystems/DOS.fs/.


4.33 Is there a PPP for NEXTSTEP

   PPP

   There is a commercial PPP and a public domain PPP implementation.

   For the public domain PPP there is an additional FAQ available at:
   http://www.thoughtport.com:8080/PPP/

   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.

   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.

   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:
   listproc@listproc.thoughtport.com 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:
   nextppp@listproc.thoughtport.com
     _________________________________________________________________

     * (weiter mit 5 Black (NeXT) hardware)


     _________________________________________________________________

   This document was converted from LaTeX using Karl Ewald's latex2html.