Linux 101

From Sfvlug

(Difference between revisions)
(How To Ask Questions)
Line 245: Line 245:
== books ==
== books ==
-
(printed or electronic)<br>
+
(printed or electronic)<br>
== periodicals ==
== periodicals ==
-
(printed or electronic)<br>
+
(printed or electronic)<br>
== online ==
== online ==
-
(wikis, forums, newsgroups, blogs)<br>
+
(wikis, forums, newsgroups, blogs)<br>
== Google ==
== Google ==
-
(specific techniques, google.com/linux)<br>
+
(specific techniques, google.com/linux)<br>
== IRC ==
== IRC ==
-
(how to ask a question (favor) from a stranger)<br>
+
(how to ask a question (favor) from a stranger)<br>
== schools ==
== schools ==
-
 
== people ==
== people ==
-
(friends, co-workers)
+
(friends, co-workers)
== LUGS ==
== LUGS ==

Revision as of 02:53, 26 February 2009

Contents

Up Front

This is a work in progress, an attempt to make amends for a bad presentation. I've started with the original outline for my presentation but after getting a better idea of the types of solutions people new to Linux are looking for I'm in the process of revision and improvement. I will also add links to help make it a better resource.--Miasma 20:23, 23 February 2009 (PST)

Brief History of Computing

This section is included to give some background for understanding why open source software is important even to people that have no intention of learning how to program a computer themselves.
manual & mechanical calculating devices
WWII code breaking machines, Alan Turing
hard wire programming using patch cables
software (recipe, magic spell)
machine instructions (on/off switches representing ones and zeros)
high level instructions
interpreters, compilers, byte code
source code
open source vs proprietary
operating systems [1]
single task, single user
multiuser multi-task
common uses of computers
server
scientific educational
personal (desktop) computing

Brief History of GNU/Linux

GNU created as free alternative to UNIX [2]

Linux started by student as a hobby [3] [4] [5]

GNU/Linux

Advantages

free as in no or low cost
free as in freedom
can be modified easily by user
projects need not die with original author
options, customizable workspace
designed for usability not profitability

Disadvantages

incompatible with some proprietary software, mostly games
drivers for new hardware can be delayed and may lack features

Common Uses of GNU/Linux

Server

file server
web server
firewall/router

Desktop Environment

workstation
application server
kiosk
development (traditional programming)
user - system administrator - developer
Common User Applications
Linux Alternatives To Popular Windows Applications
http://www.linuxlinks.com/article/20070701111340544/Equivalents.html
http://goldgod.wordpress.com/2008/05/17/windows-equivalent-to-linux/
http://wiki.linuxquestions.org/wiki/Linux_software_equivalent_to_Windows_software
http://www.linuxrsp.ru/win-lin-soft/table-eng.html
http://www.linuxalt.com/

Cross Platform Applications Available For Windows And Linux

Web

SeaMonkey Web Suite (Browser, E-mail, HTML Editor, Chat Client) [6]
Firefox Web Browser http://www.mozilla.com
Amaya Web Browser http://www.w3.org/Amaya/
Thunderbird E-mail http://www.mozilla.com
X-Chat IRC Client http://www.xchat.org/
Pidgin Instant Messaging http://www.pidgin.im/
RSSOwl RSS Client http://www.rssowl.org/
Azureus P2P File Sharing http://azureus.sourceforge.net/
Filezilla FTP Client http://filezilla-project.org/

Office

OpenOffice.org Office Suite http://www.openoffice.org/
Abiword Word Processor http://www.abisource.com/
Scribus Desktop Publishing http://www.scribus.net/
Media Tools
VLC Media Player http://www.videolan.org/
MPlayer Media Player http://www.mplayerhq.hu
Handbrake DVD DVD to MPEG-4 Converter http://handbrake.fr/
Juice Podcast Manager http://juicereceiver.sourceforge.net/index.php
Audacity Audio Authoring http://audacity.sourceforge.net/

Graphic Tools

Gimp Graphic Tools http://www.gimp.org/
Inkscape Vector Graphic Tools http://inkscape.org/
Blender 3D Graphic Tools http://www.blender.org/

File Tools

PeaZip Archive Manager http://peazip.sourceforge.net/

Educational

Celestia Digital Planetarium http://www.shatters.net/celestia/index.html
Stellarium Digital Planetarium http://www.stellarium.org/

Fun

BZFlag Game http://bzflag.org/
Battle For Wesnoth Game http://www.wesnoth.org/

Development Tools

XEmacs Editor http://www.xemacs.org/index.html
SciTE Editor http://scintilla.sourceforge.net/SciTEDownload.html
Eclipse Extensible Platform & Java IDE http://www.eclipse.org/

Wget Web Download Tool http://www.gnu.org/software/wget/
cURL Web File Transfer Tool http://curl.haxx.se/
TightVNC Control Remote Computer http://www.tightvnc.com/

Selecting A Distribution

The selection of a distribution depends on several factors but the two most important are the type(s) of work you intend to do and what type of support you will need. While it is possible to modify any distribution to accomplish virtually any task you could expect from any other distribution it is a good idea to start off with something already close to what you need. In selecting a distribution you should consider which desktop environment comes standard as well as what applications are provided. While it is possible to install virtually any desktop environment and any applications on any distribution it is quicker and easier to start out with a distribution already configured close to what you expect you will be using.

The selection of a distribution also depends on what type of support you expect you will need. If you are still a bit shaky with your computer skills support should be one of your major considerations Ubuntu and its siblings should be on your short list but, having a friend that is familiar with a particular distribution is a big help and can be more important than some of the other considerations.

When I was starting out in Linux I was lucky to have a couple of older computers that I could use for experimentation. I must have tried every major distribution available and continued to experiment ever since. If you don't have the time or inclination for experimentation and aren't sure which distribution to choose take as much time as you have available and do some research. Lacking time for research just go with the current most popular distribution which at the time of this writing is Ubuntu.


Here are some sites with information useful in comparing distributions:

DistroWatch.com
Wikipedia
ibiblio

Selecting A Desktop Environment

A desktop environment is the workspace in which you run GUI (Graphic User Interface) applications. It provides a consistent look and feel to applications that may not have been designed to work in the same environment. It accomplishes this by providing basic standards and libraries (prewritten code designed to be used by other applications) that help make it easier for developers to write programs that need a GUI. This also helps developers to write applications that can more easily share data with other programs.


The basis of most current GNU/Linux distribution desktop environments is the X Window System which like many open source projects has split into two forks, XFree86 and X.org, with most recent distribution releases using X.org. The X Window System needs a window manager to help complete the proper display of a GUI application. The window manager draws the frames around the application's window and controls the window's placement. Some of the lines between the components that make up the total desktop environment are not distinct.

There are nearly unlimited variations possible for configuring the desktop environment, but many of the available choices and configurations should be left to experienced user. For beginners I suggest going with one of the following three choices. Then after gaining more experience you may then want to experiment.

More On Desktops

Gnome

Gnome is one of the oldest and most popular desktop environments for the GNU/Linux desktop. The current philosophy of Gnome is minimalistic and basic. It is fairly easy to learn and master but lags in the capacity for easy customization, especially if you stick to the default Metacity window manager. If you have a fairly modern computer with a decent 3D graphic card and you want to jazz up Gnome you may want to give Compiz a try. Some distributions include Compiz but it will not work properly if you don't have a 3D graphic card with appropriate drivers installed. Since many graphic card vendors do not provide open source drivers you may need to install them yourself. Many distributions include tools that make it fairly easy to download and install the necessary drivers.

KDE

KDE is also one of the oldest and most popular desktop environments. The philosophy of KDE encourages the inclusion of many features and customizability. Unfortunately, the new KDE 4 release is still not stable and is lacking many features found in the older 3.5 version. This is due to some major changes in architecture designed to make it easier for developers and users to allow applications to share information. As of this writing the current release is 4.2 and while it may be stable enough for some users and for some purposes I'd recommend staying away from using it for any serious work until they get more of the kinks worked out.

XFCE4

XFCE is a lightweight desktop environment that works well with older systems. Since the release of XFCE4 it has become much more of a contender. It still has fewer applications that were written specifically to run under it than Gnome or KDE but it does a good job at running applications designed to be run under Gnome or KDE.

How to get help

How To Ask Questions

In the early days of Linux's development it was often necessary to go directly to a high level developer to find information necessary for accomplishing a particular task. When walking into a dragon's lair looking for a favor from the dragon one must display courtesy and respect. Eric Raymond first published this advice eight years ago, designed to be read by users wanting to get knowledge that was only available from serious developers and hackers with little tolerance for spoon feeding newbies. Conditions have since improved for newbies with improved access to knowledge that do not require asking questions of the original developer, but these are still excellent guidelines when asking for help from any stranger no matter what their sill level.

manuals (man pages)

Man pages are documents found in most UNIX and UNIX-like operating systems that display information about commands, configuration files and other documented features. They are available on all major Linux distributions. They can be very terse and difficult to understand, but are an essential read before asking help from a stranger. In asking a question in a public forum that is on a subject covered by a man page you may want to mention that you have already read the manual but need additional help. But, don't lie and say you read the man page if you haven't.

To use them open a terminal window and type: "man man" (without the quotes) This should open a manual page for the man command and it should look something like this:

username@deepthought:~$ man man

After pressing <Enter> you should see a screen like this:

MAN(1)                        Manual pager utils                        MAN(1)

NAME
      man - an interface to the on-line reference manuals

SYNOPSIS
      man  [-c|-w|-tZ] [-H[browser]] [-T[device]] [-X[dpi]] [-adhu7V] [-i|-I]
      [-m system[,...]] [-L locale] [-p  string]  [-C  file]  [-M  path]  [-P
      pager]  [-r  prompt]  [-S  list] [-e extension] [--warnings [warnings]]
      [[section] page ...] ...
      man -l [-7] [-tZ] [-H[browser]] [-T[device]] [-X[dpi]] [-p string]  [-P
      pager] [-r prompt] [--warnings[warnings]] file ...
      man -k [apropos options] regexp ...
      man -f [whatis options] page ...

DESCRIPTION
      man  is  the  system's manual pager. Each page argument given to man is
      normally the name of a program, utility or function.  The  manual  page
      associated  with each of these arguments is then found and displayed. A
      section, if provided, will direct man to look only in that  section  of
      the  manual.   The  default action is to search in all of the available
      sections, following a pre-defined order and to show only the first page
      found, even if page exists in several sections.

      The table below shows the section numbers of the manual followed by the...

books

(printed or electronic)

periodicals

(printed or electronic)

online

(wikis, forums, newsgroups, blogs)

Google

(specific techniques, google.com/linux)

IRC

(how to ask a question (favor) from a stranger)

schools

people

(friends, co-workers)

LUGS

Personal tools