Linux - System Setup
This page is meant to help you get your computer ready to connect to the CS server.
Note - this page needs updating, was last updated in 2020.
CS User Accounts
Below we guide you through getting software setup on your computer. In order to connect to the CS server you will also need your CS user account; see CS accounts.
Your Personal Computer
Terminal Program
A terminal program allows you to type commands to run programs and view files and folders on your computer, and allows you to do the same on a remote computer (i.e., the CS server) after you have connected to it.
Any current computer (Windows, Mac, Linux, Chrome) has a terminal program builtin. You just need to know how to start it. For each OS, here is what you need to do...
Note - the first time you connect to the CS server with a terminal or file transfer program, you will be notified that the identity of cs.indstate.edu cannot be verified, an ECDSA key will be displayed, and you will be asked if you still want to connect. Type or click yes.
- Windows - use the command prompt or powershell. To use the command prompt, click the Start button (at the bottom of your screen, in the middle or the left normally), start typing either "command" or "cmd" and you should see the option to run "Cmd.exe" or "Command Prompt". To use the PowerShell, do the same (click the Start button) but start typing "Power Shell".
- Mac OS - use the Terminal program. To use the built-in Terminal program, use Spotlight (hold down the command key and press spacebar) and type in "Terminal". You should see the Terminal program to click on. You can also start Terminal by clicking on the Apps icon in the Dock, and start typing "Terminal".
- Linux - this depends on the distribution you are using. Some use the name "terminal" for this program, and some use the name "shell". For Ubuntu Linux with the default user interface (Gnome), you can click on the button in the bottom left (or press the Start key on your keyboard) and then start typing "Terminal" or "Shell". You can also directly open the terminal by holding down the control-alt-t keys.
- Chrome - you need to first need to enable the "Linux development environment". Click on the G or Chrome button (in the bottom left), click on Settings, in the settings click on "About ChromeOS" on the bottom, and find the "Developers" section, then click on "Set up" for the Linux development environment, then click through the setup process (you can leave default values for everything). Once you have this complete, you can start the terminal by clicking on the G or Chrome button (in the bottom left), start typing "Terminal" and click on it. You will see a Linux section and click on the first entry to start the terminal.
File Transfer Program
You will eventually need to transfer files between your personal computer and the CS server.
- All current OSes include a text-based file transfer program as part of the terminal (see above for starting a terminal). Once you have a terminal open, you use the command "sftp" to start the secure ftp program.
- FileZilla is a graphical file transfer program that can be installed on any current OS.
Note - the first time you connect to the CS server with a terminal or file transfer program, you may be notified that the identity of cs.indstate.edu cannot be verified, an ECDSA key will be displayed, and you will be asked if you still want to connect. Type or click yes.
Note - make sure to choose "sftp" as opposed to "ftp" when connecting. ftp is not encrypted and is disabled on the CS server (it will not work). sftp is encrypted and is what we use.
Text Editor
Note that while you are using a terminal that is connected to the CS server you can use text-based editors - nano, emacs, vim, jove (see Linux Terminal - Text Editors for more on how to get started with these). You will eventually want to have a good text editor on your personal computer.
The following are four good options that are cross-platform - can be installed on Mac, Windows, Linux, and Chromebook. If you already use some other option (e.g., Visual Studio Code, Eclipse, Notepad++, or anything else that is used by programmers) feel free to keep using what you are already using. Note that Word is not a text editor - it does not store files in plain text, which is what is needed for programming.
- VS Code - one of the most popular (as of 2026) with a lot of available add-ons.
- Vim - is normally already installed by default on Linux. Follow the instructions if on a different OS.
- Emacs - used by Jeff Kinne, click your OS and follow the instructions. The graphical version uses all the same keyboard shortcuts as the text-based version that you can also use in the terminal. Note that for Chrome OS, you will first start a Terminal (see above) and then run the command
sudo apt-get install emacsand answer Y when it asks if you want to install it. - Other cross-platform editors that students and faculty have used - Kate,Submlime
- You might also choose to use an Integrated Development Environment (IDE). Those have a bit of a learning curve, but if you have used one before you can use it for CS coursework as well.
When starting a new text editor do an internet search for a tutorial to get you started; once you are comfortable with the basics do an internet search for a cheat sheet of keyboard shortcuts to help you remember them.
Compilers/Interpreters
Python
C/C++
Backing up Files - Rsync
GUI Programs X-Windows
To run a GUI program while connected to the server, you will need to be running an X11 client on your local computer and have it running when connect to the server. Some further details depending on your operating system.
- MacOS - install XQuartz and run it.
- Windows - install Cygwin/X (installation) and run it. Or, euse the Windows Subsystem for Linux (WSL).
- Linux - do not need to install anything extra.
Once you have your X11 client installed, open it, and then connect to the CS server using the -Y switch in your ssh command:
ssh -Y username@cs.indstate.edu
To verify everything is working try running in your terminal xcalc:
xcalc
Sample HW
The following might be used by your instructor as part of a HW assignment to verify you have your computer setup properly.
- Follow the steps above to setup your computer with a file transfer program, text editor, and terminal program. Make sure you are able to use the file transfer program and terminal programs to connect to your CS class account on the CS server.
- Make sure you can open the text editor. Create a text file aboutMySystem.txt and put the following information.
- Your name:
- Your CS class account:
- Operating System:
- Text editor you are using:
- File transfer program:
- Did you have any difficulties in getting the programs setup? If yes, explain.
- Create the following screen shots demonstrating that you have the programs installed on your system properly. Note - you can ask the internet how to take a screenshot (e.g., type in - how to screenshot on chromebook). For each screenshot, make the screenshot of your whole screen (so I can see which OS you are running on and the program open and connected).
- textEditor.jpg - a screenshot that shows you editing the aboutMySystem.txt file with your text editor.
- fileTransfer.jpg - a screenshot that shows you using the file transfer program to connect to the CS server with your CS class account.
- terminal.jpg - a screenshot that shows you with the terminal program open and connected to the CS server with your CS class account.
- Use the file transfer program to connect to the CS server with your CS class account.
- While connected, create a new directory in your CS class account on the CS server. Name the new directory SystemSetup.
- Transfer the files you just created (aboutMySystem.txt, textEditor.jpg, fileTransfer.jpg, terminal.jpg) into the SystemSetup directory in your CS class account on the server.