User Setup

Setup SSH with RSA key pair

To move around the internal network and access it from outside, you have to setup your SSH key. If not done already:

  1. Open a terminal, type “ssh-keygen” and press Enter.

  2. save the key in the default location

  3. choose a password when you are prompted to (do not leave this field empty).

This takes care of key generation. You also need to tag your key as “authorized” for it to work between machines:

cd ~/.ssh/
cat id_rsa.pub > authorized_keys

Now you’re ready to connect to a different machine:

ssh clear

Customizing your .bashrc and .bash_profile

By default, your terminal prompt will look barebones. In particular, it does not show which machine you are connected on, nor the current directory. You need to edit the file ~/.bashrc to trick out your terminal with some much-needed information.

Add this line:

export PS1="\\u@\h \\w: "

When you create local shells, from now on they will have the “user@host pwd:” format. To obtain the same result over SSH, append these lines to ~/.bash_profile :

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

PATH and LD_LIBRARY_PATH (Optional)

Important

It is strongly recommended to set PATH and LD_LIBRARY_PATH inside a bash function, and call that function when necessary.

If you do not follow this simple rule, things will work until they fail catastrophically. If at some point one of the paths in these environment variables is not accessible, your terminals will be unresponsive and you won’t be able to log in. In some cases you can’t even fix the problem yourself. Far from ideal.

Save yourself the trouble, customize this snippet of code and insert it in your ~/.bashrc:

function setenv_cuda() {
    export PATH=/path/to/your/cuda/bin:${PATH}
    export LD_LIBRARY_PATH=/path/to/your/cuda/lib64:${LD_LIBRARY_PATH}
}

You can call this function in your scripts or your terminal:

setenv_cuda

Miniconda

We strongly recommmend to use Miniconda to manage your python environments. Your miniconda root folder should be placed in your scratch space, as it can take a considerable amount of space. When initializing Miniconda or installing heavy packages, it is recommended to ssh to the machine where your scratch space is physically located as the installation process will be faster. For example, if your scratch is located in /scratch/clear/tbodrito

  1. SSH to your scratch machine : ssh clear

  2. Download the installer :

cd ~/Downloads && wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

3. Run the installer :

chmod +x Miniconda3-latest-Linux-x86_64.sh && ./Miniconda3-latest-Linux-x86_64.sh
  1. When asked about the installation location, put it into you scratch space : /scratch/clear/tbodrito/miniconda3. Then accept to run conda init.

  2. Source your ~/.bashrc for the changes to take action : source ~/.bashrc

  3. Check that conda is recognized : conda env list

Congratulations, now you can create python environments for your projects !

Installing packages

Administrator privileges are given only to the system administrators. However, you can still install packages using the sudo apt-get command:

sudo apt-get install nameOfYourPackage

Desktop environment (Optional)

You can choose your desktop environment at the login screen, in the top right corner. The recommended desktop environments are Xubuntu, MATE and KDE.

The default X keyboard layout can be changed with:

/home/clear/lear/tools_clear/lear-set-keyboard us

Replace ‘us’ by ‘fr’ for french layout.