Debian 9 image software

In addition to the many programs included in a standard Debian 9 installation, the workstations have several packages installed that are useful for scientific and computational work. It might be possible to install additional software as required—please contact Andy Thomas with suggestions.

Unless otherwise noted, all programs and libraries were installed from the Debian repositories, are standard installations and are freely available (at least in terms of beer, if not speech). Documentation is available via the manpages, supplied links and/or via Google.

In general, programs and libraries that are included in the Debian repositories are installed locally on each workstation and are already included in the default search paths. Programs and libraries from outside the Debian repositories are installed on our NFS server and are not included in the default paths. Such packages are most easily accessed using the modules system, which makes it easy to switch between different versions of a package. Unless otherwise stated, the documentation below holds for all installed versions of the same package, even if only some versions are explicitly mentioned. Different versions can be loaded by adapting the given ‘module load’ command.

Note that modules which are compiled for a certain compiler or compiler and MPI combination can only be loaded once the relevant compiler or compiler and MPI modules have been loaded. This is also the case for python package modules compiled with python2 or python3. See modules for more details.

Please note that several programs request specific citations if they are used in papers. The required citation list can usually be found either in the documentation of the program or on its website.

All programs (except those specifically desktop-related) are also installed on the compute servers, maxwell, bloch1 and bloch2.


  • Open Babel (toolbox designed to speak the many languages of chemical data)

Compilers and Languages

  • bc (arbitrary precision calculator language)
  • cython (c-extensions for python)
  • expect
  • GCC suite (including gcc, g++ and gfortran)
  • go
  • guile (interpreter for the Scheme programming language, packaged as a library which can be incorporated into programs)
  • Intel suite
  • ispc (SIMD programming on CPU)
  • Julia
  • LLVM (Clang frontend)
  • Lua
  • LuaJIT
  • MPICH for Intel and GNU compiler families
  • Open MPI for Intel and GNU compiler families
  • Java (OpenJDK runtime)
  • Python - see also CMTH SciPy Stack and CMTH PyML Stack
  • pypy (alternative implementation of python)
  • R (programming language for statistics; set of modules recommended by R developers in order to provide a complete R distribution)
  • Ruby (including rdoc for documentation)
  • Tcl
  • xsltproc (XML language for defining transformations of XML files)

Dictionaries and Spell Checkers

  • ispell
  • British dictionary (myspell-en-gb and ibritish)

Diff tools

  • colordiff
  • Meld
  • mgdiff
  • tkdiff
  • xxdiff

Document viewers

  • Evince (several formats, including PDFs)
  • fbreader (e-book reader)
  • gv (postscript files)
  • okular (several formats)
  • xdvi (dvi files)

Editors and IDEs

  • Atom
  • Emacs
  • Eclipse
  • jEdit
  • geany
  • gedit
  • kate
  • kile
  • NEdit
  • Spyder
  • vim
  • XEmacs


There is no pre-configured email client. Instructions on how to configure email clients are on the ICT website. Unless you know what POP3 and IMAP mean, you should follow the IMAP instructions.

  • Alpine (replacement for pine)
  • Icedove (Thunderbird with Mozilla branding removed)
  • isync/mbsync (synchronization of mailboxes)
  • msmtp (SMTP client)
  • Mutt (ancient, hardcore)
  • notmuch (email indexer)
  • Thunderbird

Finite-difference time-domain

Finite Element


  • Microsoft TrueType core fonts
  • terminus (fixed width fonts; particularly good for terminals and editors)

Foreign Language support

  • German
  • Korean (ibus-hangul, an input method for Korean based on ibus)


  • a2ps (‘anything to PostScript’ converter and pretty-printer)
  • dvipng
  • GIMP
  • gThumb
  • ImageMagick
  • Inkscape
  • netpbm
  • pdfedit
  • pdftk (toolkit for manipulating PDFs)
  • ps2eps
  • pdf2svg
  • XFig

GUI development libraries

  • QT4
  • QT5


  • TeX and LaTeX (TeXlive full distribution)
  • auctex (Emacs package for editing TeX files; see here to disable)
  • Beamer (LaTeX package for producing slides)
  • tex4ht (provides htlatex; converts TeX files to HTML)
  • klatexformula (create images of latex formulas)
  • latex-mk (makefile fragments for compiling LaTeX documents)
  • latexdiff (tool for comparing TeX files; see latexdiff-vc for use with subversion and cvs and it can be also used with git)
  • LyX (LaTeX editor)
  • TeXmaker
  • Sketch (3D diagrams for TeX from scene description language)


  • Gnuplot
  • Grace (plotting tool)
  • jupyter (web app for notebooks with live code, equations and visualization)
  • Mathematica
  • Octave (free alternative to MATLAB)
  • Veusz (plotting tool)

Maths Libraries

Material Science

Molecular Dynamics


  • gstreamer (codecs)
  • mplayer (mplayer2 movie player)
  • mpv (media player using mplayer)
  • nvidia graphic drivers
  • vlc

Office programs

  • LibreOffice
  • AbiWord
  • pdftk (PDF toolkit)
  • gnumeric (spreadsheets)


Programming libraries

  • HDF5 (storing and managing data)
  • H5utils (tools for manipulating HDF5 data files)
  • libctl (Guile-based library implementing flexible control files for scientific simulations)
  • MPC and MPFR (multiple precision complex and floating-point computation libraries and tools)
  • NetCDF (interface for creation, access and sharing of scientific data)
  • readline
  • uuid-dev (generation of Universally Unique Identifiers)

Programming tools

  • autoconf and automake (makefile generator)
  • bison and flex (parser generator and lexical analyzer)
  • Bazel (a build and test tool like make)
  • cgdb (curses (terminal-based) interface to the GNU Debugger (GDB))
  • CMake (makefile generator)
  • make
  • ctags (index source code to enable easy navigation in text editors)
  • Doxygen (documentation system for various programming languages)
  • SIP (generating python bindings for C++ classes)

Profiling tools

I have found perf and oprofile to be more useful than gprof...

  • Cube (profiler visualiser)
  • kcachegrind (visualiser for valgrind output)
  • perf (performance analysis and profiler; see the perf wiki for comprehensive documentation and tutorials)
  • Score-P (profiler framework)
  • Scalasca (parallel profiler)
  • Valgrind (profiling and debugging tools and instrumentation framework)

Python packages

  • Breathe (bridge between Sphinx and Doxygen documentation tools)
  • cffi (foreign function interface for calling C code)
  • Docutils (set of tools for processing reStructured Text)
  • graph-tool (complex networks/graphs)
  • h5py (python interface to HDF5 library)
  • IPython (improved interactive Python shell)
  • Matplotlib (plotting library)
  • NetworkX (complex networks/graphs)
  • nose (unittest framework)
  • Numba (generates JIT optimized python code)
  • NumPy (numerical libraries)
  • pandas (structures and tools for data analysis)
  • powerlaw
  • pep8 (style guide checker)
  • pylint (source code analyzer)
  • python-tk (python interface to Tcl/Tk)
  • python-lxml (toolkit for XML/HTML processing)
  • python-gdata (Google Data Python client library)
  • python-gflags (Python implementation of the Google command line flags module)
  • python-gmpy and python-mpmath (muliprecision floating point maths)
  • python-graphviz (python interface to graphviz)
  • python-parsedatetime (parse human-readable date/time expressions)
  • python-qt4 and python-qt4-dev (interface to the Qt4 libraries)
  • python-six (python 2 and python 3 compatibility)
  • python-vobject (iCalendar and VCards parser)
  • python-yaml (YAML 1.1 parser)
  • SciPy (scientific libraries)
  • scrapy (website scraping)
  • setuptools (utilities for installing third-party python modules and packages)
  • Shapely (manipulation and analysis of geometric objects)
  • Sphinx (documentation generation from reStructured Text)
  • Additionally CMTH SciPy Stack Contains a full Python SciPy stack, and CMTH PyML Stack contains a full Python SciPy stack along with some machine learning and CUDA libraries.

Quantum Mechanics

  • QuTiP (dynamics of quantum systems)

Remote access

  • rdesktop (for connecting to Windows machines)
  • sshfs (tool for mounting remote filesystems over ssh)
  • vncserver (vnc server)
  • xtightvncviewer (vnc viewer)
  • vpnc (Cisco-compatible VPN client)
  • x2go (remote desktop over ssh)

RSS readers

  • liferea
  • newsbeuter (terminal-based RSS reader)


  • bash
  • tcsh

Terminal emulators

  • xfce4-terminal
  • sakura
  • xterm
  • rxvt-unicode

Terminal multiplexers

Think VNC for terminals...

  • screen
  • tmux (highly recommended)



  • apt-file (search for an Ubuntu package containing a specific file; handy for finding the package that provides a crucial header file!)
  • avconv (video converter)
  • dolphin (KDE’s file manager)
  • dos2unix (convert from/to Windows-style line-endings to/from Unix-style line-endings)
  • datamash
  • Dropbox
  • pCloud
  • encfs (encrytped filesystem in user-space)
  • finch (text-based instant messenger client)
  • freemind (mind mapping software)
  • fortune (if you feel like a you need a minor distraction try fortune | cowsay -f duck -W 60)
  • gcalcli (command-line interface to Google Calendar)
  • graphviz (graph visualization software)
  • grive2 (Google Drive client)
  • JabRef (reference manager)
  • KeePassX (password manager)
  • keepass2 (password manager)
  • keepassxc (password manager)
  • Mendeley (reference manager)
  • modules
  • ntp (daemon for ensuring clocks are identical and accurate across the cluster)
  • numdiff (comparing files containing numerical data to within a given tolerance)
  • pal (command-line calendar)
  • rdiff-backup (run and manage backups using a compressed incremental approach)
  • rednotebook (simple journal application with basic markup and file linking features)
  • redshift and gtk-redshift (adjusts the color temperature of your screen)
  • rlwrap (readline wrapper; handy for adding sane readline support to programs lacking it (e.g. Mathematica run in a terminal))
  • slurm (job submission)
  • synergy (share keyboard and mouse between e.g. your workstation and laptop)
  • tree (show directory tree)
  • unison (file synchronization between two computers)
  • unrar (unarchiver of rar files)
  • xclip (cli to clipboard)
  • :XMind8 (mind mapping software)
  • zip (compressing and uncompressing files and directories)
  • Zotero (reference manager)

Version control

subversion and git servers are available to research groups in the TYC and CMTH groups and their external collaborators. Please contact James Spencer for further details.

  • cvs
  • git
  • gitk and qgit (GUIs for git)
  • libsvn-java (java interface to subversion)
  • mercurial
  • subversion
  • tig (ncurses-based git repository browser)
  • tortoisehg (GUI for mercurial)


Web browsers

  • links2
  • Chromium
  • Firefox
  • Iceweasel (Firefox with Mozilla branding removed)
  • w3m

Window Managers

  • XFCE4