The two basic ways of accessing your Unix account are called command line mode and GUI mode. Command line mode means that everything is text based. You type in characters, and the computer types characters on your screen. Command line mode's graphics capabilities are limited to some use of arrow keys, reverse video, and some line-drawing capabilities. "GUI" stands for Graphical User Interface. Everyone is probably familiar with either the Microsoft Windows or the Macintosh GUI, and Unix has its own GUI, called The X Window System. GUI applications display their output in windows, and the user uses a combination of keyboard and mouse for input.
Unix is a timesharing system, which means that you have your own account that gives you private access to your own part of the file system, and which also gives you access to the public parts of the file system where the executable files and developement tools are kept.
You can access the files in your part of the file system and run programs (i.e. invoke executable files) either by typing commands into a program called the shell or by interacting with a GUI file management program using the mouse and icons on the screen. However, With the graphical interface, you can also run a terminal emulator program in a window, where you can type commands into a shell. This means that learning how to use the command line interface will work whichever way you access your account.
Originally, Unix provided only a command line interface, but about ten years ago a group of Unix vendors funded a project at MIT, called Project Athena, to develop a graphical user interface to make the operating system more productive to use. The result is called The X Window System, or "X" for short. (Calling this user interface "X Windows," by the way, is considered uncool.) The original vendors to support Project Athena included IBM, Hewlett-Packard, and the company that makes our qcunix1 computer, Digital Equipment Corporation (DEC).
You might notice that the developement of a graphical user interface for Unix parallels somewhat in time a similar effort in the DOS world, the development of Microsoft Windows. A big difference between X and Windows is that X allows you to use a graphical user interface to access a Unix computer over a network from any computer that supports the X Window System. Windows, however, provides a graphical user interface only on the computer you are sitting at.
The fact is, you can't sit in front of the Unix computer we will be using the way you would sit in front of a PC. Our Unix computer is locked away somewhere in the bowels of I Building, and can only be accessed remotely. So, how do you do that?
There are three ways you can gain access to your Unix account:
Alternative (3) requires a high-speed link for accessing your account. The college does not provide any dial-in links to support this option, but CUNY has recently negotiated a deal with MCI to provide this kind of access by dialing into an "Internet Service Provider," presumably at a better price than you can get elsewhere. However, even at 28.8 Kaud, running X on your PC would be impractically slow. What would be more reasonable would be to run an application like Telnet on your pc, and to have Telnet access your qcunix1 account over the Internet. This would give you a command-line interface to your account instead of an X Window interface, but you would be working on your PC under Microsoft Windows, which you might like. For example, you could log into your account multiple times simultaneously by running multiple Telnet windows on your PC, and you could cut and paste between them, or use one for editing and another for compiling and testing your program.
You can use the X Window System to access your account if you want to, though: There are PCs in I Building with Ethernet links to qcunix1 that that will work. The reason it works is that Ethernet operates about 350 times faster than a 28.8 Kbaud modem. The gory details on doing this are given back on the Logging In page.
There are two reasons that we are providing you with an X Window interface to Unix. The first is simply so that you can become familiar with it as part of your general computer science education. The second is that it allows the possibility that we will be able to give you assignments that involve developing GUI programs. Unfortunately, there will not be enough time to do such exercises in this course.