2B. Introduction to Linux


Linux

Linux is an operating system, in the same class of software as Microsoft Windows or MacOS. Unlike Windows or MacOS, which are end-user operating systems, Linux has been designed by programmers for programmers.

Linux comes in a lot of flavors and derivatives. Google's Android operating system (a small end-user operating system) is based on Linux. The software that runs the CERN Large Hadron Collider is based on Linux. Linux software is open-source; the source code is readily available and customizable.

You will need to make some use of Linux for this course. It is a good idea to learn how to use Linux rather that avoiding it. That will pay dividends for you later.


The local configuration

Here is a diagram of a few machines on the ECU campus.

xlogin.cs.ecu.edu is a server that runs a version of Linux. It provides support for editing, compiling and running C++ programs. It also has the submit tool that you will use to submit your assignments.

NX (also called NoMachine) and SSH are two remote login tools that allow a computer to connect to xlogin. You can get NX software from www.nomachine.com/download. You can get SSH software for Windows here.

Most students prefer NX, which gives you a graphical interface similar to what you are accustomed to. NX can be configured to use either the NX protocol or the SSH protocol. For the NX protocol, use port 4000. To use the SSH protocol, use port 2200. Setting up NX is covered here.

If you use port 4000, use Cisco AnyConnect to connect your computer to the ECU student VPN (virtual private network), piratesvpn.ecu.edu. Cisco AnyConnect is available from http://www.ecu.edu/cs-itcs/connect/studentVPN.cfm or directly from Cisco. If you don't connect to the VPN, you will get no response from port 4000 on xlogin.

Port 2200 can be accessed directly, without connecting to the VPN, from anywhere except through the campus wireless networks. (Don't ask me to explain that. I can't.) To connect through a campus wireless network, connect to the VPN.

SSH gives you a text-only interface, and also provides a nice file transfer tool. I usually use SSH because it provides crisper response than NX.

Note. You cannot "log into NX." NX is remote login software. You can use the NX client software to log into xlogin.cs.ecu.edu.


Using commands

Even when using the NX graphical interface, you will need to learn how to use commands. To run commands, open a terminal window. Type each command after the prompt, ending the command with the enter key. You can backspace before typing enter if you make a mistake.


Links


Summary

Linux is a family of operating systems that are intended for programmers. You can use xlogin.cs.ecu.edu, which is running a version of Linux, by logging in using the NX client. Because of security considerations, you will need to log into the ECU student VPN to use xlogin.

You are on a track to become a computer expert. Experts find the ability to use commands to be an essential tool that complements the ability to use graphical interaction. You will need to learn some command-line computing for this course.