s887212@minyos.xx.rmit.oz.au (Stephen Riehm [Romulis]) (11/22/90)
OK.. I can see that I have opened a pandora's can of snakes with this request. I have received a lot of mail... thank you to all who did reply. <<was amazing how many people told me all about the files that I said I knew about.. oh well>> what follows is a brief summary of the files which came to my attention.. followed by a much longer description for those who like detail. As a final request.. unless you have information which isn't presented here.. please don't send any more mail.. my mail box is getting stretch marks!... oh well.. ennuff of this... here is the wrap. ---- cut here.. unless you are interested -- ===== short description ===== In the manuals for the stuff ya use. There isn't a "definitive list" of every known dot file, because some utilities use them to have initialization files, some for information, and others don't use them at all. What I can do though is show you a list of the ones I have in my directory & what they're for. .article Created by rn, this is what it uses to post your article; it's got the text of the last article you wrote & saved from your editor. .bashrc This is the init file for the bash shell. .contool This is the init file for contool, a Sun console window thing. .cshrc This is the init file for the C Shell; it's read by csh every time you start it up. .dbxinit This is used by the dbx debugger to set up flags, commands, etc. .defaults This is used by Sunview to set up my windows & environment. .elm This directory's used by the Elm mailer to store the files it uses. .emacs This is the init file for the Emacs editor. .exrc This is the init file for the ex editor (and also vi). .fileviewrc This is the init file for the fileview sunview program. .filter-rules This is used by Elm to filter mail into other files to make it easier to read mail from mailing lists, for example. .history This is created by the csh or bash (or others) shell, to keep a list of the commands you've done, if you have history enabled. Type the 'set' command and check out the value of 'history'. (Type 'set history=30' to make it keep the last 30 commands) .hushlogin This makes it so that when I log in I don't get the 'last login' and message of the day stuff. (Since I run it, I've already read the banner when I wrote it. :-) ) .indent.pro This is the init file for the indent program, to indent C source. .inputrc This is used by the bash shell to handle how keys are bound. .joverc This is the init file for the jove editor. .letter This is used by rn for the email replies to posts ya do. .login This is read by csh (& bash et al) when you first log in. .logout This is used by csh et. al. when you log out. .mailrc This is the init file for Mail. .mh_profile This is used by the MH mailer. .monthtool This is used by the monthtool sunview program. .news_time This is used by my version of the System-V news program (it's the file news in system V looks at to see if you've read it yet) .newsrc This is the init file used by rn. .plan This is read whenever someone fingers you. .pnewsexpert This is also used by rn. .profile This is the init file for the Bourne (sh) shell. .project This is read whenever someone fingers you. .rhosts This is used by rsh, rlogin, etc, so you can log right in from remote systems. .rnhead .rninit .rnlast .rnlock .rnsoft These are all used by rn. .rolo This is used by the sunview rolotool utility. .signature This is your .signature, which appears at the end of posts in rn, and some mailers use it. .sunview This is the init file for Sunview. ---- many thanx to .. Brendan Kehoe - Widener Sun Network Manager - brendan@cs.widener.edu Widener University in Chester PA A Bloody Sun-vs-Dec War Zone ==== not so short description ==== On our system we have some information for users, some of which may apply to you and some may not. Here it is anyway. Maybe you knew all this already. In answer to your question, NO, I don't know of any way other than word of mouth to find out about these things- and just about every piece of software you get adds half a dozen new ones. Just don't dare DELETE the damned things, for fear that some module somewhere is gonna break! UNIX SETUP ========== New users on a unix system must do certain things to establish their identity and customize their environment. First, they must make sure that they set certain initializtion files. These files are described below in order of importance, and examples are given at the end. There are other actions that must / may be taken, and those are also listed below. .LOGIN AND .CSHRC (pronounced "dot-login and dot-sea-shark") ================= Your .login and .cshrc files in your home directory are the most important environmental files, and you must consult with your system manager to get them set up just right, or copy one from your peers. The .login file is executed only when you first log in, whereas the .cshrc file is executed every time you "fork" a new shell (pardon my French). These files are like shell scripts, and are written in csh shell script "language". The commands can be found with "man csh_builtins", or "man csh", or individually, as for instance "man umask". Most shell scripts are executed by typing their name to the command line. .csh and .login are exceptional in that typing ".cshrc" gives you a "permission denied". To execute these guys without logging in (say you have just changed one and want to test it) you say "source .login" or "source .cshrc". .EMACS FILE =========== If you are going to use the emacs editor, you must have an emacs initialization file, which is called ".emacs". This will set up such things as customizing the arrow keys or other special keys to work with your terminal, establish links to your network server for use with gnus, among other things. The .emacs file is written in lisp (!!!), an example is given below. .XINITRC FILE ============= If you are running x windows, you will need an .xinitrc file to tell x how to set up your windows by default. Bare bones X is so primitive that you will probably be running a "window manager" aswell, which you will call from this file. For example, a popular window manager is "twm" (Tom's window manager). Twm has it's own .twmrc file which ALSO sets window and font parameters, which can conflict with the settings in the .xinitrc file, and produce unpredictable results. Another window manager is "uwm", which uses a ".uwmrc" file. For additional confusion there may be files called .Xrdb, .xsession and .Xresources, which can also conflict with your .xinit, .uwm and .twmrc files. I have no idea what these files do or why they could not have been all put in the same file! If you have trouble with this hopeless mess, consult your system manager. .MAILRC FILE ============ This file sets the defaults for your mail program. I THINK that this file is irrelevant if you use rmail through emacs (which I highly recommend) instead of the mail program, though I may be wrong. .ALIAS FILE =========== This file saves you typing by making one command represent another. In The example file below, if you type "ls" it interprets it to mean "ls -F". This file is executed by the command "source $HOME/.alias" in your .cshrc file. Make sure it's there if you want a .alias file. Alternatively, you could put all your alias commands in your .cshrc file, and obviate the need for this file altogether. .NEWSRC FILE ============ This file keeps a track of which newsgroups you are subscribed to in gnus, and which articles you have read in those groups. You don't need to do anything with this file, gnus takes care of it. If it is deleted though, you may want to copy one from a peer to save yourself the trouble of "unsubscribing" to all those news groups one by one. No example is given below. .PLAN FILE ========== When you "finger" a user, (example: "finger slehar") you get information about that user including who he is and where his home directory is and how long he's been logged on, etc. One of the items that is given is the user's "plan". That plan is simply the contents of their ".plan" file, you can put any message in there that you want. .SIGNATURE FILE =============== Ever notice how people on gnus or email have special fancy signature fields with their name and number and some cute little quote? Well, you can have one too! All you do is create a .signature file with all that cute stuff in it. Using email in emacs (M-x mail) you can call up your .signature file with the command "C-c C-w", and you will see it pop up in your posting. In emacs gnus, (M-x gnus), your .signature file will be AUTOMATICALLY appended to any posting to the network, TRANSPARANT TO THE USER. If you use "C-c C-w" in gnus, you will see one .signature, but will actually be posting two of them! .MSGSRC ======= This file pertains to msgs utility, activated by the command "msgs" (see "man msgs") in your .login file, which informs you of any pertinent system information when you log in. The file contains a number that is automatically incremented with each system message that you have read. You can type "msgs" any time to read any unread messages, or you can type "msgs <n>" to read message <n> (=positive integer), or "msgs -<n>" (=negative integer) to read the nth message before the last. .ORGRC, .DEFAULTS ================= These are mysterious initialization files of some sort, you delete them at your peril! If you find such files, best just leave them alone and hope they don't cause too much trouble. OTHER INITIALIZATION ACTIONS ============================ CHANGE PASSWORD =============== You should change your password immediately when you get a new account, and periodically thereafter. This is not only to keep unauthorized people from deleting your files, but is a vital part of the security of the BU network of computers, AND all the computers that they are connected to, i.e. hundreds of systems. Malicious hackers regularly send software "robots" to strange systems to systematically try out all the obvious passwords, "tom", "dick", "harry", 1/22/53 (birthday), bucns, etc., etc. You should NEVER have such simple passwords, even for an account that you rarely use. Every password must have at least 8 characters, and must include UpPeR and lOwEr case letters, and preferably @$&^$* non-alphabetic and numeric characters to foil the robotic assaults. The privilege of access to an international network of computers carries with it the responsibility for the security of that network. This threat is REAL; not so long ago a hacker succeeded in breaking into OUR system and using it as a springboard into other systems around the country. This kind of thing is bad for our reputation, ESPECIALLY if it happens more than once! You can change your password with the command yppasswd, which prompts for your old password and the new one to replace it. This command changes your password in the "yellow pages" (the whole local network) so that all the machines that we use, except polar, will recognize the change. People with accounts on polar should rlogin to polar and use the command passwd, which changes only the password for polar. CHANGE FULL NAME ================ Notice how in email and gnus, some users have their full name as well as their user name, as in slehar@bucasb.bu.edu (Steve Lehar)? This little touch is accomplished with the command "chfn" (change full name), though the command must be executed on park where your mail account is really located. So, the full procedure is... % rlogin park % chfn You will be prompted for information. EXAMPLE FILES ============= =============================================================================== .alias file This file saves you typing by making one command represent another. In this example, if you type "ls" it interprets it to mean "ls -F". =============================================================================== alias pwd 'echo $cwd' alias ls ls -F alias lsd find . -type d -print =============================================================================== .cshrc file =============================================================================== # CSH Run Commands file. # #### This is sourced every time a CSH is started. Keep the startup #### time down by keeping it small and simple; keep your paths short. #### set default protection on files (see info/files/protection) umask 022 #### avoid cluttering with core files #### limit coredumpsize 0k #### define where to go for cd (no args) set cdpath=( $home ) #### protect files from overwrite when using > set noclobber #### protect shell from being killed by ^d #### set ignoreeof #### history parameters set history=40 set savehist=$history notify #### if calling a shell from emacs, make it a cshell, not tshell if ($?EMACS) setenv SHELL "/bin/csh" #### settings for interactive shells #### set prompt="`hostname`: " #### set path #### set path=( . \ /usr/bin/X11 \ /usr/local/bin \ /usr/ucb \ /usr/bin \ /bin \ ~/bin \ /vol/local/bin \ /usr/hosts ) #### activate the aliases in the .alias file source $HOME/.alias =============================================================================== .emacs file =============================================================================== ;;;; gnus stuff ;;;; (autoload 'gnus "gnus" "GNU Emacs NNTP-based news reader" 1) (autoload 'gnus-post-news "gnus" "Post an article." t) (setq gnus-nntp-server "bu.edu") (setq gnus-your-domain "bu.edu") (setq gnus-your-organization "Boston University Center for Adaptive Systems") (setq gnus-auto-select-next 'quietly) (global-set-key "\C-x4g" 'gnus) ;;;; set arrow keys for x-terms ;;;; (progn (setq SS3-map (make-keymap)) (define-key SS3-map "A" 'previous-line) ; up arrow (define-key SS3-map "B" 'next-line) ; down arrow (define-key SS3-map "C" 'forward-char) ; right arrow (define-key SS3-map "D" 'backward-char) ; left arrow (define-key global-map "\eO" SS3-map) ) ;;;; make [tab] insert a [tab] in c-mode ;;;; (setq c-tab-always-indent nil) ;;;; make search case sensitive ;;;; (setq-default case-fold-search nil) ;;;; make text-mode the default for new buffers ;;;; (setq default-major-mode 'text-mode) ;;;; turn on auto-fill automatically in text mode ;;;; (setq text-mode-hook '(lambda () (auto-fill-mode 1))) =============================================================================== .login =============================================================================== # @(#)login 1.16 88/06/09 SMI ################################################################## # # .login file # # Read in after the .cshrc file when you log in. # Not read in for subsequent shells. For setting up # terminal and global environment characteristics. # ################################################################## #### run ian's messages system #### msgs #### set environment variables #### setenv PAGER less setenv EDITOR emacs setenv NNTPSERVER "bu.edu" setenv MANPATH "/usr/man:/thalamus/cluster/appl/man_pages/share/man" set mail=(10 /var/spool/mail/$USER) #### commands to perform at login #### setenv TTY `tty` if ( $TTY == /dev/console && -e /dev/fb ) then clear else if ( $term == dialup || $term == unknown ) then set noglob set glob set term=$TERM else if ( $term != sun && $term != sun-cmd ) then set noglob eval `tset -sQ` set glob echo TERM = $term endif =============================================================================== .mailrc This file sets up things for your mail program. =============================================================================== set noallowreversescan set alwaysusepopup set noaskbcc set bell=2 set nodisablefields set noeditmessagewindow set noexpert set filemenu="+inbox +trash +personal +old_mail +outbox +dead.letter" set filemenusize=10 set flash=2 set interval=300 set moveinputfocus set msgpercent=50 set printmail='lpr -p' set trash=+trash set headerlines=10 set maillines=30 set popuplines=15 set panelstyle=ThreeDImages set allnet set alwaysignore set append set noask set askcc set asksub set autoprint set DEAD=$HOME/mail/dead.letter set folder=mail set hold set indentprefix=" " set keep set nokeepsave set LISTER="ls -F" set MBOX=+old_mail set nometoo set noonehop set outfolder set EDITOR=emacs set crt=15 set PAGER=more ignore Received Return-Path Message-Id Status Date In-Reply-To Organization ignore via apparently-to Status Received Message-Id Return-Path =============================================================================== X INITIALIZATION FILES (Courtesy of Dave Rosen) ====================== .xinitrc Is a set of commands executed by startx (xinit) using your default login shell ($SHELL). Startx is only used to start X on a console. .xsession Is a set of commands executed (using the Bourne Shell /bin/sh) when you log into an X session except when using startx. So this is mainly used on standalone X-terminals (non-consoles). Because one is run by tcsh (our default shell) and one by sh, if you made them the same file, you couldn't put in anything that's not recognized by both. So I put almost everything in a file called .xstartup, which is always executed using the Bourne Shell by .xinitrc or .xsession. .twmrc Tom's Window Manager Read Commands file. This is read by twm in order to customize its menus, buttons, etc. .Xdefaults Resources to be read into your X resource database by the command "xrdb" in your .xinitrc and .xsession. This usually specifies the default behavior of various X programs that do not have their own .*rc file. For example, XTerm*scrollBar: on tells the program "xterm" that it should enable its scrollbar. .Xresources Obsolete name for .Xdefaults. I don't think there is any reason to have one of these, but make sure your .xsession and .xinitrc read .Xdefaults instead of this. .Xrdb Another obsolete name for .Xdefaults. Another file that's not used as far as I know. I don't know what an "xsession-env" file is, but it may be created when you log in. I don't think its something you need to put anything into. ====================================================================== If you like simplicity for its own sake, you can set up your X environment with only one file, the .xsession, and create a symbolic link from your .xinitrc file to it also (ln -s .xsession .xinitrc). That way you have only one file to maintain. You can also simply not call xrdb, which eliminates the need for a .Xdefaults file (AKA .Xresources or .Xrdb). You can set the defaults individually for the windows you want as shown below. #!/bin/sh ########################################################################## ## .xsession (and .xinitrc) ## ## This file is called by xdb (the program that maintains the login ## ## window) when you login, or by xinit (or startx, which calls xinit) ## ## under the name .xinitrc (there is a symbolic link between them) to ## ## initialize your x environment. ## ########################################################################## ########## set screen saver for 300 sec. (5 min) #### xset s 300 #### run "Tom's window manager" #### twm > /dev/null & ########## open an x window ########## ## xterm open an xterm window ## -title `hostname` with title = hostname (name of host computer) ## -geometry 80x48+1+1 80 char wide, 48 lines high, positioned ## 1 pixel right & 1 pixel below top left corner ## -ls run xterm as a login shell (?) ## -fn <fontname> use font <fontname> xterm -title `hostname` -geometry 80x48+1+1 -ls -fn -adobe-courier-bold-r-normal--14-100-100-100-m-90-iso8859-1 ====================================================================== The following little extras can be put into your .xsession, .xinitrc or .xstartup to customize your environment. Just cut them out and paste them in the proper files, with the ##comments still attached, so you will know what they are doing. LOAD X DEFAULTS =============== The main advantage of this one is that you can type "xterm" and automatically get the style of widow that you want. The disadvantage is that you must maintain a .Xdefaults file (which for confusion, could also be called .Xresources or .Xrdb) whose syntax is not available through on-line documentation. ########## load X defaults ########## ## This program reads your .Xdefaults file to set up global defaults ## for all your X windows. For instance, if .Xdefaults contains the ## line "xterm*scrollBar:on" then all your windows will have ## scrollbars. Otherwise, you must set them individually with the ## xterm option "-sb". xrdb < $HOME/.Xdefaults EXECUTE YOUR .STARTUP FILE ========================== If you choose to use a .xstartup file, make this the last call in your .xinitrc or .xsession file. The .xinitrc file uses /bin/sh, so you must use the shell version, whereas .xsession uses /bin/csh, so you must use the csh version. ########## sh startup call ########## . $HOME/.xstartup ########## csh startup call ########## exec $HOME/.xstartup MAKE ALT KEY INTO META KEY ========================== on some terminals there is no meta key. If you use emacs or tcsh, these are very convenient. ########## make alt key into meta key ########## ## The file given to xmodmap (here .Xkeymap) must contain the following ## lines... ## keysym Alt_L = Meta_L ## keysym Alt_R = Meta_R xmodmap $HOME/.Xkeymap ON CONSOLE OPEN CONSOLE WINDOW ============================== If you are on the console, system messages can come up and clutter your screen, sometimes in a way that you cannot erase them. For this reason you may want a console window. If you are not on the console, you must not have such a window, because you will be intercepting the console messages illegally. That is the reason for the test for unix*. ########## if on the console, open console window ########## ## expr "$DISPLAY" : 'unix*' match the variable DISPLAY with 'unix*' ## > /dev/null trash the result; but... ## && if successful match (i.e. DISPLAY = unix:0.0) ## xterm then open an xterm window ## -T console with title "console" ## -geometry 80x9+1-1 80 char wide, 9 lines high, position 1 pixel ## from left margin, 1 pixel from bottom margin ## -C to intercept console messages ## -ls run xterm as a login shell ## & and run concurrently. expr "$DISPLAY" : 'unix*' >/dev/null && xterm -T console -geometry 80x9+1-1 -C -ls & MAIL NOTIFIER ============= A cute little mailbox icon that beeps and turns black when you get mail. ########## mail notifier ########## ## xbiff run mail notifier ## -geometry +1-1 located in bottom left corner ## & and run concurrently xbiff -geometry +1-1 & ########## bug compatibility mode ########## ## needed to run old xterm on polar xset m 6 6 bc CONSOLE GRACEFUL EXIT ON CRASH ============================== This one ensures that the console will be left in a usable state even if X crashes ungracefully. It may even be able to trap an early control-c ########## console graceful exit on crash ########## trap "kbd_mode -a; echo '.xinitrc: cleaning up'; exit 1" 0 2 15 ADDITIONAL COMMENTS FROM IAN ============================ One of the big annoyances in starting up an X session is the way the .xsession file is handled. XDM has a script that will run your .xsession as if it were a program, if it can. Otherwise it will let your shell (typically tcsh) READ it as a list of instructions. These are different. Thus, if you chmod +x .xsession, XDM will EXECUTE your script. If you put "#!/bin/sh" at the top, it will fork a /bin/sh process to run your Bourne shell script. If you want to use csh language commands, leave out that comment. Now, if you don't set the execute permission flag, it will be READ as a file, which MUST have the commands in the language of your shell. So if you put Bourne shell commands in your .xsession file and your tcsh reads it, you could get errors that bomb out your X session at log in. The above is also true for the startx command one uses on console displays. startx by default reads a file called .xinitrc. But if you're smart, you link this symbolically to .xsession, since they really serve the exact same function. The startx command may be used on thalamus or bucasd consoles. We already have XDM managing thalamus' console, and this may be the mode for the other new Sun's we're installing soon; in which case, you can basically forget about startx. thanx to slehar@park.bu.edu... who-ever you are -- wow.. you are still reading this? I had given you up as having lost interest :-)