Linux Guide

From Computer Science
Revision as of 13:54, 7 February 2020 by Robert Lichenstein (talk | contribs) (Created page with "--- title: linux root: ../../ --- [pete](../../) > [guides](../) > linux -------------------------------------- ### Installing Linux These pages describe how to install Li...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

--- title: linux root: ../../ ---

[pete](../../) > [guides](../) > linux


      1. Installing Linux

These pages describe how to install Linux as a virtual machine running on your own computer. Your Linux installation will look like just another window on your desktop: as if you had an imaginary (*virtual*, if you will) computer within the physical computer. In this arrangement, Linux is called the "guest" operating system in contrast to the "host" operating system.

Once you've downloaded, installed, and configured the software that lets you manage virtual machines, you need to get Linux into one. There are two options for this: you can install Linux yourself (more instructive) or you can use a preinstalled image of Linux (more expeditious). Following are instructions for both approaches.

          1. To install Linux yourself...

1. Download [install media](middlinux-2020.01.05-x86_64.iso) (~800 MB) 2. [Create a new virtual machine](create-a-new-vm) 3. [Install Linux in a virtual machine](install-in-vm) 4. [Your first boot](your-first-boot) 5. [Things you need to know](care-and-feeding)

(These instructions were last verified to work on 06 Nov 19.)


    • CAVEAT**

There is a known bug whereby the graphical environment refuses to start. That is, when you run `startxfce4`, instead of seeing pretty pictures, you see errors like "(EE) AddScreen/ScreenInit failed for driver 0" and "(EE) Server termninated with error". The fix is to run this command:

Robert Lichenstein (talk) $ sudo systemctl restart dbus Robert Lichenstein (talk)

(The last character of the second word is the letter ell, not the digit one. When prompted, enter *your* password.)

After doing so, running `startxfce4` should work fine. Once inside, you can click on the icon at the bottom that looks like a TV screen to get a terminal in which you can type and work. You can (should) also install a text editor like atom. You should read the "Things you need to know" link above.

Whenever you boot the virtual machine anew, you will likely have to run that command again.



      1. Using Linux

For information on installing new software and keeping your system up to date, see [here](care-and-feeding).

The graphical environment installed, Xfce, is fairly similar to graphical environments on other operating systems. I recommend poking around to see what you can do, but if you need more structured information, [documentation](http://docs.xfce.org/) is available.

One significant difference between Linux and the Big Two Operating Systems is the prominence of the command-line (ie, text) interface. You can access this power by running a *terminal emulator*, a program that simulates a physical access terminal from the 60s (but with more bells and whistles). The terminal emulator, by default, runs the same shell you've interacted with outside the graphical environment, and all the same principles apply.

The easiest way to transfer files between guest and host is to use [shared folders](shared-folders).

I've compiled a list of [basic commands](commands).


      1. What now?

First and foremost: *be fearless*. One of the benefits of working inside a virtual machine is that your normal computing environment is protected from anything you do inside the VM. Within the VM itself, it is *impossible* for you to break anything that can't be fixed by reinstalling and reinstalling is fairly easy.

Nextly... it depends on what you want out of Linux.

If you installed Linux because you wanted to experiment with software that isn't as easily available on other operating systems, check out the list of [common applications](https://wiki.archlinux.org/index.php/List_of_applications) on the Arch Wiki, install random software, and play around.

A specific option in this vein is to install a *display manager*, which is the piece of software that allows for graphical login as opposed to the text-based login you've got now. Check out the [XFCE FAQ entry on display managers](http://wiki.xfce.org/faq#is_it_possible_to_use_xfce_with_dms) as well as the [relevant page on the Arch Wiki](https://wiki.archlinux.org/index.php/Display_manager). (This highlights the situation with much software on Linux: both the writers of the software and the distribution maintainers will often have documentation available on the same topic!)

You might find some inspiration in checking out [screenshots](eye-candy) of other peoples' Linux situations.

If you installed Linux because you want to get more experience programming, I recommend you find a program you find interesting and read its source code. Modify it. See what happens. Add a feature. Fix a bug.

If you installed Linux because you want to avail yourself of the power of a programmable command shell, check out the [Advanced Bash-Scripting Guide](http://www.tldp.org/LDP/abs/html/). (As to be expected on Linux, there are [other shells](https://wiki.archlinux.org/index.php/Command-line_shell) to choose from, too.)


      1. Where to get help

One of the reasons I favor the Arch flavor of Linux is that it has a particularly helpful [wiki](https://wiki.archlinux.org). The [forums](https://bbs.archlinux.org) are also quite good, but before wading in there, I strongly recommend you check out the canonical guide on [how to ask questions the smart way](http://www.catb.org/esr/faqs/smart-questions.html). You are also most welcome to ask questions of me.


      1. Other info

[Background information](background), wherein I answer questions like, "what's an operating system", "what is Linux?", and "what's a distribution?"

[Justification](why), which explains why I recommend, specifically, Linux, VirtualBox, Arch Linux, and so on.

Some [notes for faculty and staff](faculty-and-staff) who might like students to use this Linux VM for their classes.