The Linux lab machines use a common image maintained by CSS/STEM IT Liaisons, currently all machines are running Rocky.

Sinchai Delong and Rene Gomez are the primary CSS/STEM IT Liaisons for the Linux lab and can be contacted at uwbit@uw.edu for any support questions or requests.

Remote Linux Lab

The remote Linux lab is located in the UW IT Seattle Data center. There are 22 dedicated VMs for remote work.

The remote linux lab includes a range of software tools including.

Software Description
Git Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Python3 Python is a high-level, general-purpose programming language.
Pip3 pip3 is the official package manager and pip command for Python 3.
vim Vim is a free and open-source, screen-based text editor program.
Cpplint cpplint or cpplint.py is an open source lint-like tool developed by Google, designed to ensure that C++ code conforms to Google’s coding style guides.
Boto3 Boto3 makes it easy to integrate you Python application, library or script with AWS services.
Xmlutils A set of utilities for processing XML documents and converting to other formats.
GitPython GitPython is a python library used to interact with git repositories, high-level like git-porcelain, or low-level like git-plumbing.
PyGithub PyGithub is a Python library to use the Github API v3. With it, you can manage your Github resources (repositories, user profiles, organizations, etc.) from Python scripts.
Cmake CMake is an open-source, cross-platform family of tools designed to build, test and package software.
Curl Curl is used in command lines or scripts to transfer data.
Emacs Emacs is a text editing tool that comes out-of-the-box with Linux and macOS
Gdb GDB, the GNU Project debugger, allows you to see what is going on `inside’ another program while it executes — or what another program was doing at the moment it crashed.
Java 11 Open-jdk JDK 11 is the open-source reference implementation of version 11 of the Java SE Platform.
Java 11 Open-jdk-devel OpenJDK 11 Development Environment.
Ghostscript Ghostscript is an interpreter for the PostScript®  language and PDF files.
GCC The GNU Compiler Collection includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages (libstdc++,…).
Valgrind Valgrind is a programming tool for memory debugging, memory leak detection, and profiling.
Bind-utils BIND is an implementation of the Domain Name System (DNS) protocols.
Tcsh C shell with file name completion and command line editing.
Tcpdump tcpdump is a data-network packet analyzer computer program that runs under a command line interface.
Strace Strace is a diagnostic, debugging and instructional userspace utility for Linux.
FTP Ftp is the user interface to the Internet standard File Transfer Protocol. The program allows a user to transfer files to and from a remote network site.
Screen Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
tmux tmux is an open-source terminal multiplexer for Unix-like operating systems.
gedit gedit is a text editor designed for the GNOME desktop environment.
dbux-x11 D-Bus is a message bus, used for sending messages between applications.
maven Apache Maven is a software project management and comprehension tool.
dos2unix dos2unix – DOS/MAC to UNIX text file format converter.
nfs-utils The NFS Utilities package contains the userspace server and client tools necessary to use the kernel’s NFS abilities.
Doxygen Doxygen is the de facto standard tool for generating documentation from annotated C++ sources.
Clang tools Clang Tools are standalone command line tools designed for use by C++ developers who are already using and enjoying Clang as their compiler.
llvm-toolset llvm-toolset is a new software collection that packages together a number of the tools distributed by the LLVM project.
Boost Boost provides free peer-reviewed portable C++ source libraries.
Netstat netstat is a command-line network utility that displays network connections for Transmission Control Protocol, routing tables, and a number of network interface and network protocol statistics.
Telnet Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet.
Traceroute traceroute and tracert are computer network diagnostic commands for displaying possible routes and measuring transit delays of packets across an Internet Protocol network.
nmap Nmap is used to discover hosts and services on a computer network by sending packets and analyzing the responses.
GNU plot Gnupplots a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms.
Crypto++ Crypto++ is a free and open-source C++ class library of cryptographic algorithms and schemes.
Rust Rust is a multi-paradigm, high-level, general-purpose programming language.
Cargo This program is a package manager and build tool for the Rust language.
Nodejs Node.js is an open-source, cross-platform JavaScript runtime environment.
Npm npm is a package manager for the JavaScript programming language. npm is the default package manager for the JavaScript runtime environment Node.js
wget Wget is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS, the most widely used Internet protocols.
Cockpit-pcp Cockpit uses the Performance Co-Pilot framework to gather metrics data about the system.
gawk The awk utility interprets a special-purpose programming language that makes it possible to handle simple data-reformatting jobs with just a few lines of code.
Perl Perl is a highly capable, feature-rich programming language with over 30 years of development.
Make Make is a tool which controls the generation of executables and other non-source files of a program from the program’s source files.

In-Person Linux Lab

The In-Person Linux lab is in IN-141, and is wired with gigabit Ethernet.

The Linux lab includes a range of software tools including:

Software Description
CUDA CUDA is a parallel computing platform and application programming interface that allows software to use certain types of graphics processing units for general purpose processing, an approach called general-purpose computing on GPUs.
MATLAB MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.