School of Mathematical and Computer Sciences
MACS IT Frequently Asked Questions

Last updated: 2023-09-07

Acceptable Use Policy

See here for Heriot-Watt University's Acceptable Use Policy














How do I contact the Help Desk?
Via email to, or by phone on extension 3419, or in person to room EMB 1.33.
What's the correct procedure for reporting problems?
First check this FAQ in case the problem is already a well known one. If it's not then you should contact the Help Desk.
All the folk in my class keep asking 'how do you do xyz' or 'what is the option to the pqr command to do abc?' - why isn't this in the FAQ?
We don't know that it's a frequently asked question, so tell us - contact the Help Desk and suggest it be included in the next version of this FAQ!
Who do I contact if there is a problem with `non-computing' hardware e.g., "the light in the loo is faulty"?
Email, describing the fault and its location.
How do I order a laptop/MAC (Staff ONLY)?
For laptops use - laptops login using your HW credentials, go to Workspace, PCs and devices, Hardware Requests, fill in the form and submit it.
Currently the standard laptop is a DELL Latitude 5320. This will be imaged with the standard HW Windows 10 image.

For Apple MAC use - Apple login using your HW credentials, go to Workspace, PCs and devices, Hardware Requests, Custom Hardware Request, fill in the form and submit it.
The quote will be obtained from Apple Academiaand the order processed. You will need to provide the Job Code that this is to be charged against.

How do I apply for Remote Access to the MACS Linux/Windows Machines?

There are 2 ways of possible remote access into the MACS Server (Linux or Windows Desktops)

First method Students ONLY is via an sshgw.
Refer to Remote Access SSH Gateway

Second method Staff ONLY is via the HW VPN.
Refer to HW VPN

Both of these methods rely on you having a Smart Device to receive the Multi Function Authentication (MFA) codes on. The first method (sshgw) is currently only suitable for linux connectivity, i.e. x2go client into the MACS Linux servers MACS Remote Linux Access

MACS students should email and ask to be added to the MACS sshgw access list, before trying to to login via either of the above access methods.

Once authenticated on say the HW VPN, the user can use the normal remote access apps, PuTTy, Remote Desktop Connection, x2go client, to gain access to the MACS Linux or Windows Desktops (Remote Desktop Connection for Windows users).

The VPN can be downloaded here, install it onto your device and set it up to access the HW Domain, HW Azure, where the user login should be setup to allow access. Once installed the VPN can be setup to start automatically when the device boots up, Advanced Settings (bottom left icon), General, Startup [tick this option], input the HW user passwd and MFA code and the VPN is active.

In the directory you want to protect, create a file .htaccess. Here is an example using user imcc :-
     AuthUserFile /home/imcc/.htpasswd
     #AuthGroupFile /home/imcc/.htgroup -- optional entry
     AuthBasicProvider file
     AuthType Basic
     AuthName "Access to this directory is restricted."
     Require user imcc

Use the command htpasswd to set a passwd for those allowed to get access to the web pages within the directory, like this:
/usr/bin/htpasswd -bc .htpasswd login_name passwd_you_wish_to_use

Points to remember :-

When specifying the AuthUserFile use the full path for the file, not `~`.

Make sure all html and .ht* files have permissions 644.

IMPORTANT: Note that this only protects your pages from remote users accessing the files via the web. It does not protect them from local users who can access them via the file system.

Place any scripts, perl (.pl), python (.py), shell scripts (.cgi) into your public_html folder within a sub-folder called cgi-bin. These scripts must be executable, to do this, run the linux command chmod 755 file.

The URL to run such scripts is, where filename could be, file,py, file.cgi.

An example perl script, should look like :-

     #!/usr/bin/perl --

     use warnings;
     use CGI;
     print CGI::header();

     print"Hello World\n\n";

An example python script, should look like :-

     print("Content-Type: text/html")
     Hello World!

Settings for Office365 in Thunderbird, for example user abc1
Connection securitySSL/TLS
Authentication methodOAuth2
Connection securitySTARTTLS (TLS - Mobile Device Option)
Authentication methodOAuth2

Check out :-Here

Settings for Office365 in .pinerc for alpine, for example user abc1
# Name/path of inbox. (Folder path name or "{host}inbox" for remote IMAP inbox)
# Name of SMTP server for sending mail. If blank, sendmail will be used
# Exchange SMTP Setup
# Folder Collection
folder-collections=imap {}[]

Setup on your remote machine either the HW VPN (staff) or sshgw (student), to be able to remote authenticate into the MACS servers.

Refer to Remote Access SSH Gateway

Refer to HW VPN

Both of these methods rely on you having a Smart Device to receive the Multi Function Authentication (MFA) codes on.

Find and Run `Remote Desktop Connection`, on your Home Computer (laptop), in

When logging into your desktop using the Heriot Watt VPN connection, the Computer: box, input
hwpc00??, where '??' is the number of your machine, ask a MACS Systems person, if you don't know your machine name.
Click on Show Options bottom left, for User name: input :-
MAXP\your_macs_username go to Local Resources (menu bar in this box), Remote Audio, settings, Remote audio playback, untick Do not play, Remote audio recording, untick Do not record.

Click Connect, this should now connect to your desktop machine login screen.

Mathematica is available to use on 2 linux servers, namely amaterasu, baldur. These machines are public machines and can be accessed by remote logging into the main X servers or ssh terminal session.

The command to use Mathematica is mathematica, when you run it for the first time, you'll be asked to activate it, go down to the bottom menu and click on Activate by another Method, choose the third option (Network), input into the box for the FlemLM server. This should now start your Mathematica session. You should only require to do the activation the once only.

Use x2go. The client for Windows, Mac or Linux can be downloaded from, and it is already installed on all MACS desktops and the University Desktop Service.

Once installed, start the x2go client. To configure a new session, choose Session->New Session from the menu. Give the session a name (e.g. "jove mate"), put in the hostname (e.g. "") and your username. Choose the Session Type at the bottom (e.g. "MATE"). DO NOT choose Gnome, as Gnome 3 cannot be used with x2go. Other settings you may want to change are your connection speed under the Connection tab, and window size under the Settings tab. It's also advisable to turn off Sound support under the Media tab, as this can cause some applications to freeze in a session. Then click OK and start the new session, putting in your MACS Linux password at the prompt.

The first time you connect to a host you will be asked to confirm that you trust the new host key, answer Yes.

When you first run x2go on Windows you might see warnings from the Windows firewall, you can safely Cancel these as x2go does not need access through the firewall.

You may connect to the following hosts:

AllStaff only

Note that x2go sessions can be resumed if you lose the connection for any reason, making it ideal for connections from devices on Eduroam or other WiFi services.

MacOS users will need Xquartz (Xquartz.dmg) X windowing installed, get it from Here

Tip: Make sure your Linux startup files (.profile, .bashrc, .cshrc) work properly and don't give errors.

From Linux or MacOS or any other OS which includes ssh, use the command
ssh -D 8080

From Windows download plink.exe from the PuTTY suite, and use the command
plink.exe -D 8080
where user is your MACS login name

Then in your browser set the `SOCKS Proxy` option to `localhost` on port 8080.

Public MACS Staff Printers
Location Printer type Printer name
EM G.46HP Color Laserjet 4025DN printg46
EM 2.50HP Color Laserjet 4525DN cps1250
Shared Staff/Project Printers (not available for undergraduate use)
Location Printer type Printer name
CMB Ground FloorHP Color LaserJet 4025DNcps1cmg
CMB Floor 2HP Color LaserJet 4025DNcps1cm2
CMB Floor 3HP Color LaserJet 4025DNcps3cm3
CMB Common RoomRicoh MFD (Monochrome ONLY)rf01
EM 1.23Ricoh Color MFDr123
EM 1.72Ricoh MFDr172

Refer to MAC OS pcut setup
(this requires admin rights) and then to login on PaperCut using HWU account

List of lendable equipment which can normally be borrowed by arrangement for projects. Email or (Adrian Hurt, EMB 1.32) t arrange to borrow anything from the list.
The MACS Mongo DB Server is

To access this use
mongo --host mongo-server-1 -u username -p default_passwd --authenticationDatabase username
where username is your HW/MACS username, default_passwd is abcusername354.

Your disk space is set according to what year you are in. Currently we are using the following limits:
1st-3rd year:4GB
4th year: 9GB
M.Sc.: 9GB

You can check how much disk space you are using by logging into a Linux machine and typing this in your home directory:
du -sm .
This will tell you your disk usage in MB. To check which directories are using most space, run this command:
du -sm * .??* | sort -n
which will list all the directories and files, sorted by disk usage.

If you are trying to clear space and are not sure if you should remove a file, best to leave it alone, or email and ask.

Checking your disk usage this way assumes you do not own files anywhere else on the file system, and also that no other users own files under your home directory. du -sm . shows the disk usage under the current directory, whether owned by you or not; it does not show files owned by you located somewhere else on that file system.

To see how much space the system thinks you are using run quota whilst logged into a Linux workstation. This may be different from the result of du because of the reasons above.

If you need more disk space for work purposes you can submit a request by emailing People who make such requests must be able to show that their current file usage is all course related and explain their need for more.

On every Linux workstation there is a /scratch partition, and on every Windows workstation there is a D: drive. These range in size from a few GB to over 200GB and are freely writable by everybody with no quotas. They are, however, not backed up and not accessible from other machines. They are particularly useful for large or temporary files, for example data files being processed or written by a single application.

Simply right-click on the background and choose "Change Desktop Background" and set your background to a picture or solid colour.

We need a stable computing environment with long term support for security and other updates. We have found that more "bleeding edge" Linux distributions like Ubuntu or Fedora cause problems with incompatibilties in constantly updated software. The last thing you want with a deadline coming up is an update that stops you working.

CentOS 7 is our stable distribution of choice.

Having said that, many key packages are kept up to date, ahead of what's available in stock CentOS. Examples include LibreOffice, Firefox, Google Chrome, Eclipse, TeX Live, Java & Netbeans IDE.

You choose your desktop enviroment when you are logging in, after you enter your username. There are several desktop environments available and which one you choose is largely down to personal preference.

MATE is a fork of Gnome 2 (as used in previous years) and is the default, and that is the one we would recommend to new users.

TDE (Trinity Desktop Environment) is the current version of KDE 3. If you used KDE on CentOS 5 this is very similar.

KDE is the newer KDE version 4.

XFCE is a fairly simple and lightweight, though fully featured, environment.

Gnome is Gnome 3, which has the disadvantage that it can't be used over x2g0, although it can be used locally in the Linux lab.

Cinnamon is a more lightweight fork of Gnome 3, which can be used with x2go.

Type man command where command is the command in which you are interested.

For example, to find out about the 'man' command itself, type man man.

Many programs also have documentation in GNU Info format, type info command.

You will also find various forms of documentation on system packages in /usr/share/doc/package-name-version.

In Linux use the command passwd and you will be prompted to enter your old password then give a new one. The system then makes a few simple checks on your proposed password and if it is o.k. you will be prompted to re-enter your new password so that you & the system agree on what you typed!

To change your password on a Windows system, once you have logged in with the old password, type Ctrl-Alt-Del and choose "Change Password". It is recommended you change the passwd to the SAME as you changed your linux one to, although not necessary.

Choose a password that contains a mixture of letters and digits, upper and lower case, no keyboard patterns, and no dictionary words or it may be rejected.

Use the command ypchsh and follow the prompts but remember that you must give the full pathname of the shell you want e.g. for tcsh give /bin/tcsh.
This facility is not available. You can get in touch with the help desk if your details are wrong.
To run a Servlet from the MACS development web server (ANUBIS)

Place your servlet class into the directory /var/lib/tomcat/webapps/$USER/WEB-INF/classes on the development web server (, where $USER is your username.

You must contact to create this directory for you if it doesn't already exist.

If your intended servlet isn't compiled, say a java source file, you will need to compile the source using the command javac

The URL required to view your servlet is$USER/file, where file is the file.class located in the `WEB-INF/classes` directory above.

You need to create a /var/lib/tomcat/webapps/$USER/WEB-INF/web.xml file which holds the names of all your servlets. You can create this file and add new servlet names to it by running perl /var/lib/tomcat/bin/, This perl will create the initial web.xml file if it does not exist. If the file exists, it will prompt for the new servlet you've created and add it at the end of the web.xml file in your WEB-INF directory.

Here is an example web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"


      imcc's application
    <display-name>imcc's application</display-name>




To run a Java Server Page (JSP) File from the MACS development web server

Place your JSP File into the directory /var/lib/tomcat/webapps/$USER/ on The help desk may need to create the $USER directory for you, as for the servlets above.

The URL to browse your JSP File running is$USER/file.jsp, where $USER is the same name as the directory given above.

(Windows 7) File, Save as, choose PDF in the file types.
You can transfer files to/from your MACS account from anywhere else on the internet using the scp/sftp or rsync protocols.

Using any of these you access host using your MACS Linux username and password.

In Windows a suitable freeware client is WinSCP which gives you a Windows Explorer like window which allows you to just drag and drop files back and forth between the local and remote computers.

In Linux there are several options. You can use rsync (see man rsync), or several file managers such as konqueror have the sftp protocol built in so you can access a URL of the form s to get at your files.

If you go over your quota limit, here are some examples of areas to tidy up files, i.e. delete them.

Any cache directories for web browsers e.g. below ~/.mozilla/firefox

Other caches e.g. ~/.java/deployment/cache/*

If you have done so, and still have a genuine course-related reason for requiring further space, please contact the helpdesk and explain your needs.

To take screen shots from Linux you can use the command display. Right click in the Image Magick window which will appear to get the menu options, then click `Open...` to grab a screen section or window from your desktop. To save your selection right click in the Image Magick window, then click on `Save...`, click on `Format` for which format (jpg, bmp, tif, etc) you wish the image to be in. Input the file name you want to save the image to, possibly your $HOME directory if you are going use it in an MS Word document.

You can load the saved image into a MS Word document, by clicking on `Insert, Picture, From File ...` within Word, then selecting the file you saved in Linux.

Look at this SubVersion cheat sheet.

This gives the simple commands that the user is likely to need for keeping an svn repository current.

'test' is a shell reserved word - to run your program try ./test if it's in the current directory or else give the full pathname.
There are three labs of Windows 7 machines. These are the general lab in EMB 2.45 and the MultiMedia labs in EMB G.46 & G.47.
Press CTRL-ALT-DEL and then click the "Change Password" button.
To create/edit your own Environment Variables, right click Computer, click Properties, click Advanced (top menu option), then click Environment Variables near the bottom of the box.

The first list is the User variables, the second list is the System default setup environment variables, which you can't change.

In the User variables, click New to set up a new Environment Variable, a box will appear, put the name of the variable, e.g. CLASSPATH, in the first option, and in the second option put the path of the required classes/jar files e.g.:

c:\program files\java\jdk1.5.0\jre\lib\ext\j3dcore.jar;c:\program files\java\jdk1.5.0\jre\lib\ext\j3dutils.jar;c:\program files\java\jdk1.5.0\jre\lib\ext\j3daudio.jar;c:\program files\java\jdk1.5.0\jre\lib\ext\vecmath.jar;.;%CLASSPATH%
and then click OK to save the new Environment Variable.