Here is a detailed explanation of the new SunOS environment. Further down, you will find a list of FAQs.

  • Username/Password: Your username and password are now the same on all Suns.

  • Home directory: Your home directory is now called /u/$USER (where $USER is your username), regardless of what disk your home directory physically resides on.

  • Shell: The new default login shell is /usr/local/bin/tcsh. You can change that to /usr/bin/csh if you really want or even /sbin/sh (not recommended), but you will not find /bin/tcsh anymore. If you do not use the default shell (TCSH), you may not get the global system settings needed for the local environment.

  • Mailbox: All Sun systems now have access to the same set of mailboxes, so you can read your mail from any of them indifferently. (This is also true of all remaining DECstations and of all Linux systems.)

  • Disk names: Previously, disks used to be called something like /HOST/home# or /HOST/data# (where HOST was the name of the computer where the disk was, and # some number; usually 1 or 2). Now, there is (at most) one ``home'' disk on a given computer and it is simply called /home. Similarly, ``data'' disks are now called /data/# (note the / between data and #). See below for information about new scratch disks.

  • Remote disk access: Just like the name of disks has changed, the way to access them remotely has changed. With the new (simplified, systematic) naming convention, you should be able to access any disk using one of the following ``addresses'' (note /net/HOST is not needed!):
  • /d/HOST/#/USERNAME for USERNAME's directory on disk /data/# on HOST;
  • /f/pub/USERNAME or /f/incoming/USERNAME for USERNAME's download or upload (respectively) FTP area;
  • /s/NICKNAME/USERNAME for USERNAME's directory on scratch disk with NICKNAME = FREQUENCY (one of: daily, weekly, monthly) or HOST (e.g., rossi);
  • /u/USERNAME for USERNAME's home directory.
  • Because of all those changes and because the data on data disks may be relocated in the future, it is good practice to access data outside your home directory through links, because they can easily be modified. For example, you could create a directory called data under your home directory (with the command mkdir ~/data). In that directory you could create links to where each set of data is. Example: your hst98 directory is on (what was) /capella/data2. Instead of accessing that disk as /capella/data2 or /net/capella/capella/data2 (``old names''), or /net/capella/data/2 or /d/capella/2 (``new names''), you can just create a link under ~/data with the commands `cd ~/data; ln -s /d/capella/2/$USER/hst98' and then get to your data simply with cd ~/data/hst98. When that path changes (because of an upgrade or because your directory is moved to another disk), all you have to do is remove the link and make a new one pointing to the new location. No modification is necessary in your scripts or programs if you have been using ~/data/hst98 all along! (See Q&A 5 below for information about ~.)

  • Scratch disks: Three separate 9-GB scratch disks are available to graduate students and faculty. They can be accessed from any Sun in our domain as /s/FREQUENCY/$USER, where FREQUENCY is one of: daily, weekly, or monthly; and $USER is your username (with the leading /s/ standing for ``scratch''). Files that have not been accessed within the time period corresponding to the FREQUENCY will be deleted on a daily basis (starting at some point). Beware: The scratch disks are never backed up.

  • Software: Most of the pre-existing (and a lot of new) software has been recompiled for SunOS 5.6; a detailed list is available. Instead of being spread out across machine-dependent paths (as was the case for old software), all the new software packages are installed under a single tree structure, namely /usr/local, which is available to all Suns under that same name. Note that in most cases a much newer version is being installed, so you may notice some changes in the defaults.

  • Paths: Because of this problem with software, it is important that you do not rearrange the components of your paths (mainly $PATH) as set by the new systems when you login, otherwise you may not have access to the correct version (or it may not work at all!). However, if you know what you are doing, you can always append (or, with great care, prepend) something to your paths. The general rule is that /usr/local/bin should come first. See also next item.

  • Login scripts: Because the old paths are not compatible with the new ones, the old login scripts (/usr/local/mira/mira.WHATEVER, or in the case of some ``private'' computers /usr/local/HOST/HOST.WHATEVER) have been removed. Therefore, a number of settings are no longer in place. Here is a summary.
  • Command aliases: They have all been removed. The following no longer exist: copy, del, dir, lo, maillist, modems, newterm, nod, optical, pd, pop, print, printers, programs, shoquo, tapedrives, ti745, ti785, vt100, vt52. And the following have returned to their default behavior: cd, cp, df, mv, rm, type.
  • Environment variables: The following are no longer defined: DXLIBHOME, FONTPATH, LD_LIBRARY_PATH, MPAGE, WWW_HOME.
    Therefore, if you have something like setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/my/own/path (or if you just reference that variable) in your dot file(s), your script will crash. Here is a workaround for setting the $VARIABLE environment variable:
    if (`printenv | egrep '^VARIABLE=' | wc -l | awk '{print $1}'` == 0) then
  • Shell variables: The following have been unset or returned to their default value: history, ignoreeof, noclobber, notify (see tcsh man page for details). The value of prompt has been changed to ``%m%% '' (csh default), but ``%m:%/%# '' is a recommended choice.
  • Miscellaneous: The terminal type and characteristics may be incorrect if you are logged in remotely from a computer other than a Sun. The messages that used to be displayed when you login no longer are. Information that used to be available through an alias on the command line can now be found on the computing web pages (or should be available there shortly).
  • Be careful with any changes you make to your own ~/.tcshrc, ~/.cshrc, or ~/.login. In case of doubt (or problems), just ask for advice.

  • Here is a list of frequently asked questions about the new environment (with their answers).

  • Q1: The ps command does not work. What should I use?
  • A1: There are actually two ps commands with different options (man -a ps for details), and the one that is first in your $PATH is not the same as before (for technical reasons). You can either change your options to fit the ``new'' default command or specify the full path for the ``old'' version (namely: /usr/bin/ps).

  • Q2: When I rlogin to another computer, my $DISPLAY is not set. How do I set it then?
  • A2: That old feature was actually a horrendous local kludge that does not work if you ``rlogin'' twice in a row (try it...). Instead of that, you should use xrlogin or xrsh to open another window on another system. See the man pages for those two commands for more details.

  • Q3: I often get a ``command not found'' error message. Where have all the commands gone?
  • A3: Most commands that are not part of the operating system will now be found in /usr/local/bin/, so make sure that is ahead of anything else in your $PATH and try typing rehash (and the the command again). If this still does not work, chances are that the command you want was in some obscure location (see ``Software'' above). If that is the case, please request that the command be recompiled for SunOS 5.6.

  • Q4: Netscape keeps crashing (or having other problems). What can I do?
  • A4: You can try running other versions, such as communicator.old or navigator. If the problems persist, they may be due to your personal setup. If possible, please ask colleagues if they can reproduce them under their own account and evaluate the results of the experiment before you ask the busy system administrators for help.

  • Q5: Now that my home directory has a different name on different computers, which one can I use systematically?
  • A5: As much as possible, you should use the environment variable $HOME (or the symbol ~; less preferable because it is not recognized by all the shells). But if you need an absolute path, you can use /u/$USER (where $USER is your username).

  • Q6: IDL won't run anymore. What should I change?
  • A6: First, make sure /usr/local/bin is in your $PATH (and add it first if it is not). Then, eliminate all references to IDL in your ~/.cshrc and ~/.login.
    In your ~/.cshrc, add the following:
    	setenv IDL_STARTUP $HOME/whatever
    where whatever is a directory/file of your choice that contains information about your personal IDL library directories, as follows (on a single line):
    	!path = expand_path(':+/your/main/idl/directory') 
    	      + ':/another/directory:/and/so/on'
    	      + !path 
    (The expand_path command allows all subdirectories to be included.)
    If you must run version 4 (not recommended), use /usr/local/src/idl/4.0.1/main as $IDL_DIR, and call idl4 instead of idl.

  • Q7: Why does it take so long to get a prompt after I login?
  • A7: Because the Sun you are logging into checks your quota on all the disks mounted from other systems. With disks now freely shared between systems, there are many to go through. In addition, these operations are now logged to a server (for security reasons), which makes it take even longer. Please be patient and wait for the prompt to come up or you might not get the default system settings.

  • Q8: Why can't Netscape find/save my bookmarks?
  • A8: Quit all your Netscape windows on all computers. Then edit the file ~/.netscape/preferences.js (and ~/.netscape/preferences if present) and change all references in the path to your home directory from /net/gateway/home or /vela/home1 or /net/vela/vela/home or any such thing to /u . (This is most important on the browser.bookmark_file line, but you might as well go through each path and make sure it uses the format /u/$USER, where $USER is your username.) After saving the file(s), restart Netscape.

  • Q9: Why is emacs highlighting (colors) not working anymore?
  • A8: The following information was kindly provided by Seth Hornstein.

    Edit your .emacs file to comment out any reference to chris's old codes. For those of you who have just copied chris's .emacs file, there are several sections. These sections start with the comments:

    ; understand idl extension
    ; Load the Lisp stuff that gives us the use of color.
    ; This makes IDL be in color!  :)  -chris
    Basically, you can comment out any section that has the IDL in it. Save the .emacs file and you are good to go.

    Now, if you have loaded code into emacs, you can go to the Options->Syntax Highlighting and it will display colors for various things (variable declarations, subprogram blocks, etc.)
    If you want to make this highlighting automatic, put the following line in your .emacs file. (If you don't have a .emacs file, just create one in your home directory and put the following line in it):

    (global-font-lock-mode t)
    That's it!