Intro to GNU Linux

This class is an introduction to GNU/Linux. Headings and paras are meant as guides to the patter, and it might be a good idea to whip up some slides from them. Notes for instructors are set off as below:

Preparation: Instructor, you're going to want to have handy a PC, a big monitor or a projector, and an Xubuntu live CD for demonstrations. The first one of these classes is for an hour time slot, and is designed as such. You might need to cut back on some demonstrations for shorter times.

=Intro to Intro to GNU/Linux=

What's going on here?
This is a class introducing the GNU/Linux operating system: what it is, why it matters, how to install and use it.

Who are you?
Your instructor. My name is $NAME, I'm a volunteer with Free Geek Seattle.

I see what you did there
Congratulations: you are qualified to teach this class! Please sign up with User:MFoster.

What's that?
As Main_Page.

=What is GNU/Linux?= It is an operating system and a collection of software. It's the intersection of GNU and Linux. Linux is the kernel, the part that handles hardware, drivers, scheduling and so forth. GNU is the collection of software that makes up much of the rest of the PC_Operating_System. It also includes the software used to build Linux.

GNU
GNU is also a project which develops and maintains the software. It was started in 1984 by Richard Stallman as a Free Software alternative to UNIX.

Linux
Linux started in 1993 at the instigation of Linus Torvalds. Linux is still in charge as BDFL of the project.

=So What?= What does any of this have to do with the software you use every day?

Not much...
You don't actually have to know anything about the origins or legal and political ramifications to use the software.

...but actually a lot
You use GNU/Linux every day whether you know it or not.
 * Web sites - Google, Facebook, Boing Boing and many other web sites are hosted on computers running GNU/Linux. Most of the big sites use it. The others are broken ;^)
 * Embedded devices - Set-top boxes, home networking equipment, appliances and other "non-PC" devices often run GNU/Linux.
 * Smartphones - More than half of all smartphones run Linux. Very few run GNU, but this may change in the future.

Maybe even more
You can (and should) install GNU/Linux on your own computer. It's Free, it is arguably faster and more secure than the competition, and it comes with its own community!

=Where to get it= Free Software?! Sounds like a deal, right? Here's How to Order:

The Hard Way
You can download Linux from http://kernel.org You can download GNU from http://www.gnu.org/software/software.html

Then, if you are really smart and a masochist, you can try to put it all together yourself. You'll probably want some other software from other projects too. The Linux From Scratch book can help you build your fancy, ultra-customized, uberhacker system. It probably won't work, but you'll be the koolest kid at Fry's.

The Easy Way
Or, you can just download and install one of the many great GNU/Linux [distributions] available. It's pretty simple, and we have step by step instructions.

If time permits, you might want to walk the audience through an Xubuntu install. Depending on the computer involved, this should take about 20 to 40 minutes. You can continue your presentation while the installation runs, or you might want to take questions.

The Really Easy Way
If you go through our Adoption or Build programs, you'll wind up with a computer that has Xubuntu GNU/Linux _already_ installed on it!

=It's installed. Now what?= Now your brand-new GNU/Linux installation is ready to go. Here are some suggested next steps:

Boot that Box!
No, don't kick it. That comes later. It's called "booting" because a computer system starting up is a complex, multi-layered process (hence, "pulling itself up by the bootstraps") which is a good subject for a class, but not this one.

Turn it on
PCs sometimes have two power switches: a rocker switch on the back (near where the power cord plugs in) and a button on the front. The switch on the back is for safety: turn it off if you are going to move the computer or open it up. Use the power button to turn the machine on, and the "shutdown" command to turn it off. If the machine crashes hard, you can hold the power button for ten seconds to turn the computer off. (Do this after the Magic SysRq trick.

The following things will happen once you hit the power button:
 * 1) POST - The Power On Self Test. The computer runs some quick 'health checks' first. Usually it beeps when it's done. This phase should take less than three seconds.
 * 2) BIOS - There's a very basic system built into the PC called the Basic Input / Output System or BIOS. It will flash a bunch of messages on the screen. They will probably go by too fast to follow. This is OK.
 * 3) GRUB - Once the BIOS is ready, it loads a program called the "bootloader". On Freekboxen the boot loader is called GRUB. GRUB allows you to choose from a list of installed operating systems to boot (for example, if you had Windows, Xubuntu and FreeBSD all installed) and make certain adjustments. It shouldn't show on the screen for more than a few seconds.
 * 4) The kernel starts - This is the beginning of a usable system taking shape. In some cases, a bunch of text will shoot by. On computers without graphics, this step looks just like the following ones.
 * 5) X starts - X is the part of the system that makes graphics work. The screen will go blank for a second. This is expected. Soon afterwards a pointer will appear, and then other graphics.
 * 6) Login screen - When this appears, the computer is ready for you to use it.

First boot
If you've just received a Freekbox from us, then its OS should have been installed in "OEM mode". This means that you will need to choose a username and password before logging in. Please see Passwords for advice on choosing a good password. It's important!

Logging in
There are two basic types of login screen: text and graphical. Since this class does not cover the command-line interface in any depth, we'll concentrate on the graphical one. There are three major parts:
 * 1) Username - There will be a place to type your username. Usually there will also be a menu where you can click on your username and not have to type it.
 * 2) Password - The place for typing your password. It should show up as a series of dots so that other people can't read it.
 * 3) Session type - GNU/Linux systems support different types of graphical desktops, as well as text sessions. You can leave this alone unless you know what to do with it.
 * 4) Suspend / Hibernate / Shutdown menu - Use this if you want to put the computer to sleep or turn it off without logging in.

In the picture above, the shutdown menu and accessibility menu are at top right.

Once you have entered your username and password and hit "Enter", the screen will go blank again and the computer will churn for a while- 60 seconds or fewer. When it's done, you should see a desktop.

You're in!
At this point we get into some basic computer-use concepts- it might be useful to poll the class to see if there's anyone there who has never used a computer before. If everyone there is experienced with Windows or Mac but not XFCE / KDE / GNOME etc, then you can take a lot of this next section as read. Instead of introducing new concepts we can just illustrate the differences.

A FreekBox desktop should look like this:

GNU/Linux systems offer many, many different types of desktops. The two main Desktop Environments are called KDE and GNOME. Freekboxen use a desktop called XFCE. Most desktops have a few basic things in common:
 * 1) Icons
 * 2) Drag and Drop
 * 3) Copy and Paste
 * 4) Menus and Banners
 * 5) Indicators

=Common tasks=

User Management
GNU/Linux is a multi-user operating system. It's meant to be used by more than one person, even many people at once. Every file in the system is owned by a user or a Group of users. Each file also has a set of permissions: for the owner, for the group, and for everyone else. These categories may have permission to read, to write, or to execute the file (or any combination thereof.)

In XFCE4, System &rarr; Users and Groups lets you add, remove or change users and groups.

root and sudo
root is a special username present on every GNU/Linux system. The root user is for the system administrator's use only. It has full access to everything on the system. It is very dangerous to use, in that you can destroy data and break things even if you know what you are doing.

Hence, Xubuntu does not allow logins to the root account. Instead, the first user account can use a program called sudo to temporarily use elevated privileges on the system. If you try to do something like add a new user or install some software, the system will stop you and prompt you for a password.

Dealing with files
GNU/Linux treats nearly everything as a file. Devices, processes, and states all are represented as files. Everything's a file.

Filesystem
[]

Ownership and permissions
http://freegeekseattle.org/wiki/index.php/PC_Operating_System#Users

...up to 'Package management'

Installing software
First: DON'T just install random software from the Internet, even if you are using another system than GNU/Linux. It will lead to trouble (usually from malware like viruses, keyloggers, phishing or spyware). Just don't do it. Please? Xubuntu has two easy ways to install software:

Software Center:

Synaptic Package Manager:

Both these programs download and install software packages from Ubuntu and other sources (you can see which sources in System &rarr; Software Sources

Updates
From here, follow

PC_Operating_System