Grinnell's Linux Environment
Summary: We examine the operating system environment in
which the course is conducted.
Introduction
As this is a workshop-style course (aka a constructivist,
collaborative, computing course
), you will be working on the
computers in our classroom on most class days. You will quickly
find that these computers have many similarities to the computers
you have used in the past, but that there are also some differences.
(When we started teaching this course, many students hadn't used
computers at all. You will occasionally find comments in the readings
and labs that reflect that different perspective.) In this document,
we will explore some of the key issues you may need to consider in
working on the Linux computers that we prefer in computer science.
Operating Systems and Graphical User Interfaces
A modern computer is much more than a bunch of circuitry. Most of us
think of computers in terms of the operating system
that they run and the graphical user interface
that accompanies the operating system. Those terms may be new to you,
so let us consider them briefly.
As its name suggests, an operating system (also OS
)
is the system used for operating the computer. It is a large computer
program that manages and simplifies most of the underlying hardware.
The operating system is responsible for managing files, managing other
programs, dealing with the keyboard, screen, and other peripherals,
and much more.
In the old days of computing (e.g., when your instructor started), you
interacted with the operating systems almost exclusively by typing on
a keyboard and seeing results on a screen (yes, we had evolved beyond
punchcards). There was no mouse. To us, the operating system really
referred to the underlying capabilities.
These days, you interact with computers through a graphical user interface
(also GUI
). Its name is similarly clear: It's the interface
through which you use the computer, and it's a graphical (as opposed to
textual or auditory) interface. Modern graphical user interfaces
stem from work at Xerox PARC, although they were introduced to the
broader consumer world through the Apple Macintosh. To most modern users,
the GUI is indistinguishable from the OS. (Programmers may still find
it useful to distinguish between them.)
The Linux Operating System
In Grinnell's computer science department, we use an operating
system known as Linux. Linux is distinguished by being an
Open operating system (which means that anyone
who has the knowledge and desire to make modifications to the
program code of the operating system is permitted to do so) and a
Free operating system (which means that it doesn't
have to cost you anything to install it on your computer, unlike the
Macintosh OS, with a list price of about $150, or the Windows OS, with
a list price of about $400). Admittedly, the Linux community uses
Free
in two ways, in the way we used it above (as in
Free Beer
) and in the way we used Open
(as in Freedom
).
Why do we use Linux rather than Macintosh OS or Windows, particularly
since much of the rest of the institution uses Windows? One reason is
that we consider Linux to be technically superior: It is less likely
to crash, it is freer from viruses and other irritants, it has a much
longer history of separating what the average user can do from what
the administrator can do. More importantly, it is much more portable.
You can sit down at any Linux computer on our network and have exactly
the same set of files naturally available. (Think about how many
times you save a file on one Windows box on campus, forget to move
it to StorageServer, and then cannot access it elsewhere on campus.
That will never happen on the Linux network.)
Many members of the department also have a philosophical preference
for the Open Source and Free Software movements, of which Linux is an
important part. We believe that good software should be free, in both
senses of the word.
Gnome
Linux, unlike Macintosh OS X or Microsoft Windows, permits you to use
a variety of GUIs on top of the same underlying OS. We have chosen
to use a GUI called Gnome. Our experience suggests that
Gnome provides an appropriate balance of power, configurability, and
usability.
Gnome, like Microsoft Windows, provides a task bar at the bottom of the
screen. You will click icons on the task bar to start applications.
You may use a popup menu on the task bar to log out
when you are done with your work.
Using Linux
So, what does this all mean for you, other than that the computer
scientists at Grinnell worry about these things? It means that you will
have to use an unfamiliar GUI in this course (and in any future computer
science courses you take). Fortunately, Gnome is similar enough to other
operating systems (particularly to Microsoft Windows) that you should find
it fairly natural to use.
Like the Microsoft Windows workstations on campus, the Linux
workstations require you to log in to use them. Our Linux network uses
an independent password system, so you should remember that you have
different passwords (unless you take the time to make them the same).
In contrast to passwords on the Windows network, Linux passwords are
stored in such a way that no one, not even the system administrator,
can extract the original password, so it is safe to use the same
password. (Of course, someone trying to guess your password still
has an opportunity to do so.)
Important Linux Programs
In this course, you will be using a variety of programs. There are four
that we consider particularly important.
The GIMP (an acronym for The GNU Image
Manipulation Program
) is a raster graphics application,
an open-source alternative to Photoshop. We will be creating
images in the GIMP.
MediaScript is a program development environment
that runs within the GIMP. You will use MediaScript for most of the
programming you do this semester.
Iceweasel is the preferred Web browser
in this course. Iceweasel is a slightly-modified version of
Mozilla Firefox, renamed because of trademark issues (details at
http://en.wikipedia.org/wiki/Naming_conflict_between_Debian_and_Mozilla)
You should be
able to access Iceweasel through the icon in the task bar that shows
a small white animal holding a sphere.
The terminal window supports textual interaction
with the operating system. At times, the terminal window provides
the most convenient way to interact. You should be able to access
the terminal window through the picture of the screen in the task bar.
Making the Most of the Linux Environment
This is a class in computer science, not in using Linux. Hence, we will
provide you with only the basic instructions for using Linux. It
is, of course, possible to use the Linux system in more advanced ways.
You may find it useful to talk to other folks who use the systems to
learn particular tricks that they find valuable. We will also point out
a few from time to time.
Here's one: Gnome supports multiple desktops.
You can see a two-by-two grid of desktops in your task bar, with small
representations of each window. You can switch desktops by clicking
on any of the four. You can also drag windows between desktops.
Many people find it helpful to use separate desktops for separate tasks,
such as one desktop for documentation and information and another
desktop for programming. It's also useful to keep one desktop clear,
so you can use it for looking at files. The corresponding lab will
give you some opportunities to explore desktops.