Unix at D0

Using UNIX

UNIX Commands | UNIX Shells | Desktops | Printing | email | Editors | Compilers | Debuggers | Batch

You can connect to D0's Unix systems by logging in at the console, connecting over the network from a Kerberized computer, using a CRYPTOCard from non-Kerberized computers, or using tools available for Windows systems. Kerberized versions of ssh, slogin, telnet, rsh, rlogin, rcp, scp and ftp are available. Accessing the systems is discussed in the Getting Started section of Unix at D0.

UNIX Commands

Several resources are available to you regarding UNIX commands:

On-line help for UNIX system commands and utilities is in the form of man pages (man stands for manual) which consist of an on-line version of the UNIX documentation set (often called the UNIX Programmer's Reference Manual). For more information on using the man command:

UNIX Shells

The kernel is the real operating system and is loaded into memory at boot time. Typically the user doesn't interact directly with the kernel but via a command programming language called the shell.

What is the shell? The shell provides features such as control-flow primitives, parameter passing, variables and string substitution. Logical constructs such as while, if then else, case and for are available. Two-way communication is possible between the shell and commands. String-valued parameters, typically file names or flags, may be passed to a command. A return code is set by commands that may be used to determine control-flow, and the standard output from a command may be used as shell input. The shell can modify the environment in which commands run. Input and output can be redirected to files, and processes that communicate through pipes can be invoked. Commands are found by searching directories in the file system in a sequence that can be defined by the user. Commands can be read either from the terminal or from a file, which allows command procedures to be stored for later use.

The default shell on D0 systems is generally tsch.

Desktop environments

There are two common desktop enviroments used with Linux. KDE (the K Desktop Environment is a free desktop that includes a window manager, a file manager, a help system and a variety of accessories. It uses the QT widget set , which needs a license, for controls. GNOME desktop is free open source software. It restores sessions that were open when the user exits. It has tools similar to KDE.

Printing Your Files

On most Unix systems on site (for linux, see below), you can print your files on a Fermilab printer using the command flpr

%flpr [option]  filename 

This is a Fermilab-specific command which supports printing on printers available on the network at Fermilab. flpr has many options and you can get detailed help about the options using man flpr .


%flpr myfile.ps

prints your file myfile.ps on your default printer.

To define a default printer, create a .flprrc file in your home directory with the following contents:

host fnprt.fnal.gov
queue your_queue_name (e.g., dab5_hp8150)

%flpr -h fnprt -q  your_queue_name  myfile.ps

prints your file myfile.ps on the specified printer which is served from the central printserver fnprt.

Printing on CLUeD0 is performed with the Common Unix Printing System (CUPS) and a commercial interface to CUPS called PrintPro.


When you get an account at Fermilab, you also get an account on the Fermilab Mail Gateway. Your email address is <username>@fnal.gov where <username> is your username. Most likely you will want to request an IMAP mail account. IMAP allows you to leave your mail on the server and hence access your mail from more than one system.

You have a number of choices for email clients on UNIX, including Pine, Netscape mail, Mozilla mail, and WebMail. For more information about email at Fermilab and your options for clients:


You have a number of choices available to you for editors, including vi, emacs, xemacs, and nedit.



Batch systems