Linux For Window Users - Introduction

Linux [lin-uh ks, lin-iks, or, esp. British, lin-oo ks] is a free and Open Source computer operating system first developed by Linus Torvalds and friends, announced August 25, 1991. The Linux kernel runs on numerous different platforms including the Intel, PPC, AMD, and Alpha platform and is available under the GNU General Public License. Recent addtions include the ARM platform with the introduction of Raspian for the RaspberryPI.

Linux may be obtained in two different ways. You can (not recommended) build up a system from scratch using components. All the necessary components can be downloaded free of charge from the Internet, which means an operating system can be assembled for almost nothing. An alternative is to use a so-called OSP (original software provider) distribution or distro, which is a Linux package of programs and libraries offered by many companies. They include a broad range of applications and full programs in an installation package that significantly simplify the installation of Linux. The installer application provides the user with all the choices as the installation process progresses and offers a preview of the various features of that distro.

There are hundreds of different distributions of Linux that have been released. Below are just a few. A great site that lists almost every distribution, as well as rankings is DistroWatch. It is a given that this is a subjective look at Linux but one must start somewhere in the evaluation process.

This is a partial listing of Linux Distributions in alphabetical order:

A – D F – L M – R S – Z
Arch Linux
Backbox
Caldera Linux
CentOS
Chrome OS
Corel Linux
Crunchbang Linux
Damn Small Linux (DSL)
Debian Linux
Fedora Linux (from Red Hat)
Gentoo
Kali Linux
Kondara Linux
Kubuntu (Ubuntu variation)
Kylin
Linpus Linux
Linux Mint (highly recommened)
MacPup
Mageia Linux
Makulu Linux
Mandriva Linux
Puppy Linux
Rasbian(Raspberry Pi)
Red Hat Linux
Slackware Linux
Snowlinux
SparkyLinux
SUSE Linux
Trisquel
Turbolinux
Ubuntu (vanilla)
Vector Linux
Zorin

It seems like a daunting task to choose from all these distributions...understood!. No worries, we are here to help. Continue reading and all will be somewhat clearer.

The Linux system can be distributed, used, and expanded free of charge (unlike Windows® in any version). In this way, developers have access to all the source codes, thus being able to integrate new functions or to find and eliminate programming bugs quickly. The Linux user can choose to use the original text based interface, or a Graphical User Interface (GUI), known as a Window environment (The native environment for Microsoft Windows®). With the GUI, there are multiple choices made to suit the needs of the user and meet the needs of the many. You are not locked in to whatever the vendor deems appropriate.

Installing Linux involves a procedure very similar to installing Microsoft Windows® for the first time. Installation may be performed from DVD or USB Thumb Drive media depending on which your system can boot from, and how you created the install media. The DVD is the obvious choice since it is easily created from the downloaded .iso file online, or purchased outright from a distributor either online or from your local software store (e.g. Best Buy or OfficeMAX). USB bootable media is somewhat more complicated to create but can be assumed to install in the same way as DVD media with the added convenience of being slightly faster and more convenient.

The install process will guide you through a series of questions about your hardware (disk partitions, etc.), time zone, prefered language, and with at least one distro –  all the while providing entertainment from a preview slideshow. The slideshow is not the actual system, just pictures of what is coming with a brief review of each feature. Once the install process is done, the DVD is ejected and you are asked to reboot your system.

If there is one thing other than reliability that Linux is known for…it is versatility. That extends all the way down to the boot–up process. You may want to dedicate an entire machine to Linux, or you may wish to have Linux exist along side your current system in what is known as a dual–boot configuration. Either way you have numerous choices for everything from boot up to window style and system sounds...even special effects.

Let’s look at some of the more obvious choices so you can see what is meant. The illustration shown is from the Ubuntu distro of Linux.

The window shown is presented by a window manager is called GNOME. It is simple, clean, stable, and very efficient. There are some obvious points to note. GNOME does not look at all like Microsoft Windows® as it comes with the distro.

However, that does not mean it is lacking in performance or functionality. It is just different. Remember it was stated above that Linux gives you choices. The following image illustrates just how versatile Linux window managers are.

  

Without changing the window manager, this next illustration shows the GNOME desktop with a Windows XP® style theme. The Linux operating system and GNOME window manager are the same – only the theme has changed. It has all the familiar icons as you have seen for years on Windows XP®, but the underlying system is all Linux. Looks just like Windows XP® doesn’t it? But it is not. Not even close. This is Linux, full on and available in a familiar user interface. The window environment can be given just about any look we wish, even Vista®, Windows 7®, and yes...even OS X®.

Choices! If the Windows® look and feel is what you are comfortable with, you can have that look and feel while using Linux natively. This is a vital part of transitioning to an unfamiliar environment. Start with what you know. Learn as you go, then transition away from the old environment totally. The dramatic changes you can make in the windowing environment on Linux allows you to do this with minimal pain.

Farther down the page you will see two more themes that mimic Windows versions. Once again, the operating system is the same, the window manager is the same...all that changed was the theme displayed.

This is a testament to the true versatility of Linux and the GNOME Window Manager. Additionally, there is nothing proprietary here. Everything is Open Source and licensed under the GPL general licence...FREE to use.

 

To be serious about moving to Linux or even using Linux beyond surfing the Net or email, one must grasp a few basic terms that will be encountered daily and will be used in our discussion. Some of the terms may already be familiar if you are an experienced power user. Regardless, the orientation is toward the use of Linux as a new environment. The following is a list of common terms with a definition or explanation as needed.

  1. Linux – is a generic term referring to the Unix roots of this computer operating system. The core functions of this system are packaged into what is known as the kernel. From this core, all other system functions derive their basis. The kernel provides basic input and output functions and interface with the hardware through small software libraries known as hardware drivers. The kernel is a closed software development project maintained by only a few people. This development is one of the most prominent examples of free and open source software collaboration. Typically all the underlying source code outside the kernel can be used, freely modified, and redistributed, both commercially and non–commercially, by anyone under licenses such as the GNU GPL, or Creative Commons License.

    The name “Linux” comes from the Linux kernel or core, originally written in 1991 by Linus Torvalds. It is a conflation of his name Linus and Unix…Lin–ux. Further, Linux is not susceptible to viruses and trojans to the degree Windows® is. A properly installed Linux system does not have total system crashes in the way Windows® does with the notorious “blue screen of death” or “system lockup’s”. If an application crashes, Linux will just close that program and all associated programs usually in an orderly fashion then continue with other operations as if it had not happened.
    Richard Stallman   Linus Torvalds
    Richard Stallman, left, founder of the GNU project, and Linus Torvalds, right, author of the Linux kernel.
    photos courtesy Wikipedia.org


  2. X-Windows – is a generic term referring generally to the User Interface (UI) as a software layer, also known as a Graphic User Interface (GUI). The “X” is a legacy moniker left over from Unix where it began. Microsoft Windows® also has a GUI layer, and is built on top of the Microsoft Disk Operating System® (DOS / NTFS). Both Linux and Windows® contain GUI elements that are nearly the same, and the user could have a hard time telling the differences with some X–windows, Windows®–like themes. Linux was designed for high–speed networking and Internet applications from very strong Unix roots. X–windows is the user–to–system hardware layer in Linux. The X–windows GUI environment is now the defacto standard for Linux GUI applications.
  3. Window Manager – refers to the X–windows application that makes the desktop, menus, windows, etc. within the X–Windows system. It is responsible for responding to user input and providing user output in the form of a graphical windows design. Common window managers for Linux include Gnome, LTM, the KDE project, Motif, and many others much less well known. Each window manager has it’s own set of capabilities and limitations.
  4. Window Theme – refers to the ability to script the “look and feel” of the window manager as it handles the desktop adornments like menus, task bar, window title bar, window borders, window buttons, and icons used for applications and system functions. Common themes are “Motif”, “Human”, “Modern”, “Clearlooks”, “Adwaita”, “Mint–X”, “Cinnamon” and others that may come with your distro of Linux or can be downloaded from the Net. As demonstrated earlier, there are many third–party themes that may appeal to your sense of style and functionality. Certainly, Windows® users will find the “XPGnome” theme highly useful in moving from Windows® to Linux.
  5. Internet Browser – refers to an application on X–Windows that allows the graphical browsing of the Internet. Microsoft Windows® users will be familiar with Internet Explorer® (Edge® on Windows 10®), FireFox, Safari®, Chrome, or Opra as browsers. Internet Explorer® and Safari® are not available on Linux to run natively, but the rest mentioned are available in a comparable Linux version (some are included in various distros). By far the most versatile of the Internet browsers is FireFox. There are literally thousands of add–ons, themes and tools for use with FireFox that accomplish amazing transformations of the look and feel or usefulness of an otherwise common browser tool. Browsers only available on Linux may include applications like Flock, and Konquerer. While different, these are fully capable browsers offered for use by Linux window managing themes. Konquerer is offered by default on the KDE window manager.
  6. Distro – is a shorthand designation for software distribution of Linux software packages. The underlying operating system kernel is the same for each (perhaps in different versions) but each vendor has a particular group and configuration unique to itself. For instance, Red Hat Linux is no different at its’ core (the Linux kernel) than Mandrake or Ubuntu. The differences lie in the installer programs used to probe the hardware for configuration and installation, as well as the included set of applications as part of the distribution and perhaps the look and feel of the default desktop window manager. All distros may include Mozilla FireFox Internet Browser. However, you may have to download Chromium (the Google Open Source version of Chrome), OpenOffice.org or LibreOffice if you do not install Ubuntu or Linux Mint (LibreOffice is included in the standard office modules and applications with the Ubuntu workstation distro and Linux Mint - an extremely stable version of Ubuntu distro. Be sure to read carefully the feature list included software of each distro before installing.
  7. GNU – a complete free software system. GNU stands for “GNU’s Not Unix”. Richard Stallman made the Initial Announcement of the GNU Project in September 1983 (see his picture above). A longer version called the GNU Manifesto was published in March 1985. It has been translated into several other languages. The name “GNU” was chosen because it met a few requirements; first, it was a recursive acronym for “GNU’s Not Unix”, second, because it was a real word, and third, it was fun to say (or Sing). GNU is synonymous with Open Software. The GNU project has been instrumental in establishing accepted standards in the Open Software arena and has published several license versions for software creators and publishers that express the scope of use of free software considered as Open Software, especially if the source code is also freely and openly distributed.
  8. Open Source – refers to the release of documents, source code, graphics, libraries, or executable code for use in the public domain, distribution, and modification, by a person or persons not originally responsible for the generation of the product. For instance, LibreOffice is a suite of office products written in Java. The source code for LibreOffice may be available once you join the development team of LibreOffice. Some terms and conditions exist. Other Open Source products by example are Linux, OpenOffice.org, Chromium, and many others. Being an Open Source product implies that others may have access to the source code and documents that created the product and that it may be altered in such a way as to benefit all who use it. Open Source products are never sold. They are always offered free and unencumbered. They also are supported by the community that developed the individual product.
  9. Email Client –  refers to a program that runs on your desktop to access email on a server such as an a Microsoft Exchange® Mail Server. Often mail servers are referred to as POP mail servers or SMTP mail servers. These are just different ways of saying the same thing (just offering different details). The email client connects to the server to view and/or download mail to the local machine. This is the essential functionality of Microsoft Outlook® as it connects to Microsoft Exchange® mail servers (or others on the Windows platform). Outlook® is a Microsoft® only product and is not offered in a Linux version. The functional equivalent is available as a native Linux application in several software packages. Among the most notable are Mozilla Thunderbird, Sun Microsystems Open Office Evolution Mail, and several others. Use of mail clients has declined in recent history due to the high incidence of mail worms and other mail propagated malware invasions. The alternative has been Web–based mail offered by the email service provider. For instance, Google, Yahoo, major ISP’s like AT&T and Comcast offer Web–based mail access that eliminate the need to have a local email client. This is much safer in terms of malware vulnerability in that, all the malware protection and storage of mail is on the server and not the local client (your hardware) machine. By the way…not all anti–virus software can detect or prevent mail–based malware. Some of the best known names do a very poor job of detecting and elmiminating mail worms and other mail–propagated malware.
  10. FTP Client –  (File Transfer Protocol) refers to a program that runs on your desktop to access, directly download, and/or manipulate files located on a distant FTP server. Although there has been a dramatic decline in the use of ftp client applications, some sites today require the use of an ftp client to maintain files (like web site hosts and file archive hosts). To facilitate the Windows® to Linux transition, it is recommended that the user begin the use of a ftp client that is available on both platforms such as FileZilla. This application looks and works the same on either platform and flattens the learning curve for platform support tools.
  11. Mount – refers to the process of logically granting access to a physical device or partition on a physical device and assigning a volume name. For instance, if you configure your machine to dual–boot Windows and Linux, you may want the Windows® partition mounted as “drive_c” or “windows” so that files in the Windows® NTFS® partition are accessible while running Linux.

    Note: Linux is case sensitive to all names and system commands, unlike Windows® that will accept upper and lower case to mean the same thing. On Linux, “Windows” is not the same as “windows” and “C:/” is not the same as “c:/”. Memorizing this rule will save you a lot of confusion later.

    You may also decide which devices or partitions are mounted at startup or shown on your desktop. These are choices not given to Windows® users. All Windows® partitions (partitions or devices formated with NTFS or FAT) are mounted upon startup if accessible.

    The mounted volume name becomes part of the pathname (i.e. windows/WINDOWS/ie8/html.icardie.dll).

    Note: Linux (and all Unix based systems) use the forward slash (“/”) as a pathname separator rather than the backslash (“\”) as in Microsoft Windows®. The backslash is reserved to denote an escape character sequence follows. For instance, the Unix character backslash–n backslash–r (“\n\r”) is an escape sequence for “New Line” (CR–LF) to be inserted. Do not use the backslash unless you actually mean to set up an escape sequence. The backslash is not used in any filename or pathname on Linux and Unix sytems.
  12. Permissions – refers to access granted a user allowed to logon the system. The permission may be unlimited (as given to the administrator or “root” user) or (optionally) limited to some degree. Permissions may also be assigned according to a user group (every user is in a group of users on the system). For instance, user “A” and user “B” are users in the fictional PowerUser group. They are granted update and delete access to many folders that user “C” in our fictional NewUser group will not have. The user groups, and the permissions of each user and group are assigned by the system administrator with “root” access. A much less effective method appeared in Windows XP Pro®. Little about Windows® permissions has changed since.
  13. Root – refers to the greatest privaledge access of the system. The beginning folder of the volume is also called root (/). Each mounted volume has a root folder (also called a directory or pathname). There is also a built–in user name called “root” that has all access and permission on the system. You may or may not be able to login using this user name. Some systems restrict the use of root as a login to preserve system level security. The “root” login may also be called “superuser”. For instance a power user may be able to issue a “sudo” command in a terminal window. The command “sudo” is an abbreviation for “superuser do”. It is the same as doing the command that follows sudo just as if the user were logged in as root (i.e. with elevated permissions).
  14. Package – refers to a file that contains one or more archived files, (either executable or library) distributed for use or installation. Differing distros, package files differently. The Debian distribution (like Debian Linux, Ubuntu, Linux Mint or any other Debian based file system) will package files as .deb for installation or .tar.gz as an archive. The Red Hat distribution will have package files as .rpm for installation or .tar.gz as an archive. The point is that “package” is a collection of files for installation or archive. Most often, distribution and archive packages are compressed with familiar compression methods (like zip or lz). The .tar.gz file extention indicates the archive has been compressed twice; once with the legacy program tar, and a second time with the newer GZ compression algorithum. This archiving scheme squezes the contents into much smaller packages.
  15. Bin – is an abbreviation for binary, and refers to a file that is compiled for execution. The Windows® equivalent could be a .exe file. Unlike Windows®, Linux requires that the user have permission to execute it. Each user is assigned to a user group as well. Execution of, and access to, files is determined by the administrator–assigned user permissions (you – if yours is a single user system). The administrator of the system is allowed all access and permission to any file or function on the system.
  16. Script – refers to a file, that is usually plain text, and contains commands for execution in batch mode. For instance, a PHP script will perform a number of system level commands using the PHP interpreter. PHP is most often seen as action sequences initiated by web access from a browser and performed on a server. It is a powerful server–side language that can be used to create whole applications (if you have visited some sites you have seen the power of PHP – some back end functions are written in PHP for the web). Other script types include cgi (also for the web), c–shell, and Python. All are interpreted commands designed to be run from a plain text file in batch mode.
  17. Device Driver – refers to software that runs on the Linux operating system, most often as part of the Linux kernel, usually with very high priority and provides, as the name implies, hardware capabilities available and accessible to the rest of the system. A soundcard driver, for instance, makes audio input and output data available to the rest of the system. The basic driver is a system level program that can run at system startup or on demand. Most hardware drivers contain a public programmer interface (called an API) that allows more than one application to use the hardware capabilities. For instance, a CD player/ripper can use the soundcard at the same time the Internet Browser FireFox streams audio from the Internet. The major difference between Windows® and Linux hardware drivers is that the hardware is described as a file on Linux and given a device name something like /dev/tty0 (a common serial port device). Windows® users typically know devices by a name and icon representation in the Windows® device manager. There is no direct correlation between the Windows® device manager and Linux. Linux does offer small applications (known as applets) that manage devices, but all refer to Linux devices the same way. The driver module itself is not a .dll as in Windows®. This designation is totally a Microsoft® extension for dynamically loaded libraries (dll). Linux device drivers may have any name, but typically start with “lib” plus a device name, and “.a” or “.so” filename extension (e.g. libasound.a - could be a soundcard driver).

These are but a few of many terms you will encounter learning Linux. Check this site often as we update it on a regular basis.

 

 

Rev. 1.10 2018-03-14 AD5XJ