General FAQ§

What is an 'SLO' or 'cs.vt.edu' 'SLO' account?§

It is an account provided by the department of Computer Science that enables you to login to our machines. The account credentials can also be used to authenticate on the class website.

How do I get an SLO account?§

CS majors who have taken CS 2505 or CS 2506 hopefully already have an SLO account, otherwise go to admin.cs.vt.edu and create one. The account id will normally be the same as your VT pid, but you will use a different password.

How do I change/reset my password?§

Go to admin.cs.vt.edu

What is rlogin?§

rlogin.cs.vt.edu is a cluster of Linux computers. A cluster is a collection of networked computers with similar administration and software. For instance, your SLO account is valid on all machines.

Physically, as of 2022, rlogin is a rack filled with Dell R640 1U servers.

How do I log onto rlogin?§

Use an ssh client program. Wikipedia has a list here. If you are working on a Linux or Macintosh computer, ssh will likely be installed and be available as 'ssh'. On Windows, students sometimes use Putty or Cygwin, or they may use VirtualBox to set up a Linux virtual machine on which to do their work.

As of 2022, the recommended way to access rlogin from Windows is using WSL-2 and/or via the VS Code remote development extension that is part of Visual Studio code.

If rlogin is a cluster, which machine should I log into?§

If you ssh to rlogin.cs.vt.edu, you will be send to an IPVS load balancer that forwards your request to a randomly selected machine. Thus, if you open multiple ssh sessions to rlogin.cs.vt.edu, you may end up on different machines.

Are my files shared between the machines on rlogin?§

Yes, all rlogin machines mount ("access") the file system in which your files reside, it is kept on a separate, shared file server. You will find the same files (and paths) on all rlogin machines.

Why does my bash prompt say '-bash-4.2$'?§

Because our system administrators did not set you up with a standard set of skeleton dot files. At the minimum, you should create a ~/.bash_profile which contains a line

# In your ~/.bash_profile
export PATH=~cs3214/bin:$PATH
source ~/.bashrc

and a ~/.bashrc file that contains this:

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

but you can of course customize it as desired. Note that ~/.bash_profile is read by the shell that is started when you log in (this shell will not read ~/.bashrc), all subsequent shells you may start will read ~/.bashrc (and not ~/.bash_profile). By sourcing (''including'') one from the other you ensure that the file is always included.

I need to log into a particular machine, how do I do that?§

For some assignments, you will need to use multiple ssh sessions on the same machine. One way to accomplish that is to ssh to portal.cs.vt.edu, which will present you with a menu of machines to choose from.
A second way is to use ssh's "jump" option as in ssh -J you@rlogin.cs.vt.edu ash.rlogin

What does 'ssh -YC' do?§

The -Y switch asks ssh to tunnel X11 connections, and the -C switch instructs it to compress all data transferred, consuming less bandwidth. Tunneling X11 connections make sense only if you run an X11 server on the machine on which your ssh client is running. This is usually true if you are using Linux (native or inside VirtualBox), or if you are running Cygwin/X on Windows, but is often not the case if you are running Putty. Mac Users see here.

Do I need to install an X server on my computer?§

The X Window System is a windowing system, i.e. graphical user interface, that allows a program running on one machine to open windows on another. For instance, you could run the program 'gnome-terminal' or 'xclock' on locust and have the window appear on your laptop. At this point, X11 is not required for CS 3214, although it can be very useful, for instance in order to run programs such as gitk, a graphical user interface for git.

How do I set it up so I don't have to type my password every time I log on?§

ssh supports SSH Key-based authentication. You create a private key, store it securely on your computer, and you place the corresponding public key in a directory in your rlogin file space. Here is a good guide on how to set it up.

I set up SSH Key-Based Authentication, but it still asks for my password!§

Common reasons include getting confused about where to place the public/private key and not using the proper permissions. For instance, the private key on the machine you're coming from must be read-protected (it represents your credentials), and the public key on the machine you're logging onto must be protected as well so that no one else can place theirs there. This is discussed in the guide as well.

Why is my rlogin session timing out?§

ssh sessions time out after a certain period of inactivity, mainly to protect the load balancer's port space. IPv6 connections should not time out.

What are 'screen' and 'tmux'?§

These are programs that allow you to maintain shell sessions across connects/disconnects/time outs. Some students use them. If you do, please don't forget to shut down your session when you are eventually done. Note that a screen session is specific to a particular machine.

How do I access my files from the outside?§

You can use any file transfer program running on top of ssh. This includes the command line programs scp and sftp, but also programs that allow you to remotely mount your files, such as sshfs for Linux.

On Windows, WinSCP may be an option.

Do I need to work on the rlogin machines or can I work on my own Linux machine?§

Generally, all work can be done on the rlogin machines. Some assignments (few) will need to be done on those machines as they include questions whose answers will be specific to their environment. Some assignments also use software that is installed only on the rlogin machines.

As a matter of policy, all assignments will be graded on the rlogin machines, so you are responsible for making sure your code works there.

That said, you are free to attempt to use your own native or virtual Linux machine. Much of the project software should not have specific dependencies, but rather run on many current Linux distributions. We do not officially support this, but are happy to answer questions and try to help with problems.

Can I use the desktop machines in the Systems Lab (McB 124)?§

Yes - students enrolled in CS 3214 have card access to McB 124. Use your SLO login to log onto those machines. You will have access to your files there as well.

However, the software environment (OS, toolchain, etc.) may or may not be the same. (We have requested that Techstaff provide identical arrangements, but those requests were not responded to.) Thus, for assignments that specifically say to use an rlogin machine please ssh into rlogin (which you can do from those machines).

Who do I contact if I have a problem with rlogin or the systems lab?§

You need to contact techstaff@cs.vt.edu. If the problem is likely to affect other students enrolled, please also cc: an instructor of the class.

Please note that if you are reporting a problem that is specific to a particular machine you should mention the name of the machine in your email. Although all rlogin machines should be set up identically, problems that occur can sometimes be specific to a particular machine.

If a problem is specific to a machine, you can try avoiding it by using portal.cs.vt.edu.