Grinnell's Linux Environment
CSC 105 - The Digital Age - Weinman
- 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 reflecting 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 Lemonade)
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 College 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 or gDrive, and then cannot access it elsewhere on campus.
That will never happen on our 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.
xfce4
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 (or window manager) called xfce4. Our experience
suggests that this window manager provides an appropriate balance
of power, configurability, and usability.
xfce4, like Microsoft Windows, provides task bars at the top and/or
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, the GUI 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.
- Iceweasel is the preferred Web browser in this course. Iceweasel
is a slightly-modified version of Mozilla Firefox, renamed because
of trademark
issues. You should be able to access Iceweasel through the icon
in the task bar that shows a small white animal holding a purplish
sphere.
- LibreOffice is a free and open-source suite of office programs,
including a word processor, spreadsheet, and slide presentation. It
may be freely obtained for many computer platforms at www.LibreOffice.org.
- 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 monitor screen in the task bar.
Making the Most of the Linux Environment
This class is an overview of 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 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.
Acknowledgment
Adapted from materials by Janet Davis, Matthew Kluber, Samuel
A. Rebelsky, and Jerod Weinman. (Selected materials copyright by John
David Stone and Henry Walker and used by permission.)
This material is based upon work partially supported by the
National Science Foundation under Grant No. CCLI-0633090. Any opinions,
findings, and conclusions or recommendations expressed in this material
are those of the author(s) and do not necessarily reflect the views
of the National Science Foundation.
Copyright © 2011 Jerod
Weinman.
This work is licensed under
a Creative
Commons Attribution-Noncommercial-Share Alike 3.0 United States License.