# Interfaces

Interfaces allow communication and resource sharing
between a workshop and the host system,
as well as between the different SDKs that are part of a workshop.

## General concepts

Start here to understand how interfaces use plugs and slots
to connect SDKs to host resources and to each other:

* [Interface concepts](https://ubuntu.com/workshop/docs//explanation/interfaces/concepts.md)

## Hardware interfaces

Hardware interfaces give workshops access to host hardware
such as displays, GPUs, and cameras:

* [Camera interface](https://ubuntu.com/workshop/docs//explanation/interfaces/camera-interface.md)
* [Custom device interface](https://ubuntu.com/workshop/docs//explanation/interfaces/custom-device-interface.md)
* [Desktop interface](https://ubuntu.com/workshop/docs//explanation/interfaces/desktop-interface.md)
* [GPU interface](https://ubuntu.com/workshop/docs//explanation/interfaces/gpu-interface.md)

## Data and connectivity

Filesystem mounts, SSH agent forwarding, and network sharing
pass through this group of interfaces:

* [Mount interface](https://ubuntu.com/workshop/docs//explanation/interfaces/mount-interface.md)
* [SSH interface](https://ubuntu.com/workshop/docs//explanation/interfaces/ssh-interface.md)
* [Tunnel interface](https://ubuntu.com/workshop/docs//explanation/interfaces/tunnel-interface.md)
