---
title: Install ros2-teleop on Linux | Snap Store
description: Get the latest version of ros2-teleop for Linux - The ROS 2 teleop snap
url: https://snapcraft.io/ros2-teleop
---

# ros2-teleop

[Ubuntu Robotics Community (ubuntu-robotics-community)](https://snapcraft.io/publisher/ubuntu-robotics-community "View all snaps from Ubuntu Robotics Community (ubuntu-robotics-community)")

* [Ubuntu Robotics Community (ubuntu-robotics-community)](https://snapcraft.io/publisher/ubuntu-robotics-community "View all snaps from Ubuntu Robotics Community (ubuntu-robotics-community)")
* [Devices and IoT](https://snapcraft.io/search?categories=devices-and-iot)

jazzy/stable 0.1.0

Contact us about
[Snaps and IoT ›](https://snapcraft.io/about/contact-us)

Install jazzy/stable of ros2-teleop

---

**Install using the command line**

```
sudo snap install ros2-teleop
```

Don't have snapd? [Get set up for snaps](https://snapcraft.io/docs/installing-snapd).

---

### Package name

* ros2-teleop

---

### License

* Apache-2.0

---

### Last updated

* 15 November 2024 - jazzy/stable
* 9 October 2026 - jazzy/candidate

---

### Websites

* [github.com/canonical/ros2-teleop-snap](https://github.com/canonical/ros2-teleop-snap "https://github.com/canonical/ros2-teleop-snap")

---

### Contact

* [ubuntu-robotics-community@canonical.com](mailto:ubuntu-robotics-community@canonical.com "mailto:ubuntu-robotics-community@canonical.com")

---

### Source code

* [github.com/canonical/ros2-teleop-snap](https://github.com/canonical/ros2-teleop-snap "https://github.com/canonical/ros2-teleop-snap")

---

### Report a bug

* [github.com/canonical/ros2-teleop-snap/issues](https://github.com/canonical/ros2-teleop-snap/issues "https://github.com/canonical/ros2-teleop-snap/issues")

---

##### Report a Snap Store violation

* [Report this Snap](https://snapcraft.io/ros2-teleop#report-snap-modal)

---

* [Description](https://snapcraft.io/ros2-teleop#tab-description)
* [Security](https://snapcraft.io/ros2-teleop#tab-security)

#### The ROS 2 teleop snap

The ROS 2 teleop snap allows for teleoperating a robot
from either the keyboard, gamepad or leave it to the navigation stack.

The snap offers the possibility to teleoperate the robot from a joystick with:

snap start ros2-teleop.joy

This app launches both the gamepad driver as well as the joy teleop node.

Parameters for the joystick application are:

* joy-vel (string, default: 'joy\_vel')
* joy-dev (string, default: 'dev/input/js0')
* joy-config (string, default: '')
* config-filepath (string, default: '')
* publish-stamped-twist (bool, default: false)

At least one between the joy-config and the config-filepath parameters must be set for the application to run.

In case both joy-config and config-filepath are set, the configuration file will take precedence.

The upstream package offers some default joystick configurations.
Those can be set up with the joy-config parameter as follows:

snap set ros2-teleop joy-config="ps3"

In alternative, a custom configuration file can be used. The file can be provided
by means of a URL. In such case, the snap will download the file and
place it in `$SNAP_COMMON/config/joy_teleop.config.yaml`.
To configure the config-filepath to a URL:

snap set ros2-teleop config-filepath="<https://raw.githubusercontent.com/robot-repo/joy_teleop.config.yaml>"

Note: the URL must be reachable by the snap. When using a URL,
the configuration file will be downloaded everytime the joy app is launched.
Therefore a configuration update upstream will be applied with the application relaunch.

Otherwise to configure the config-filepath to a local configuration file:

snap set ros2-teleop config-filepath="/var/snap/ros2-teleop/common/config/joy\_teleop.config.yaml"

The local configuration should be at a path accessible to the snap such as $SNAP\_COMMON.

The robot can also be teleoperated from a keyboard (e.g. SSH) by launching the application with:

ros2-teleop.key

Optional parameters for the keyboard application are:
key-vel (string, default: 'key\_vel')

The snap makes use of a topic multiplexer to switch from one source to another.
Its input topic can be selected as,

ros2-teleop.mux-select <topic>

The topics names can also be configured with snap parameters:

* cmd-vel (string, default: "cmd\_vel")
* nav-vel (string, default: "nav\_vel")
* web-vel (string, defautl: "web\_vel")

Note that when launching the joy or key app,
the appropriate topic is automatically selected.

---

## Install ros2-teleop on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the [installing snapd documentation](https://snapcraft.io/docs/installing-snapd).

[### Arch Linux](https://snapcraft.io/install/ros2-teleop/arch)

[### CentOS](https://snapcraft.io/install/ros2-teleop/centos)

[### Debian](https://snapcraft.io/install/ros2-teleop/debian)

[### elementary OS](https://snapcraft.io/install/ros2-teleop/elementary)

[### Fedora](https://snapcraft.io/install/ros2-teleop/fedora)

[### KDE Neon](https://snapcraft.io/install/ros2-teleop/kde-neon)

[### Kubuntu](https://snapcraft.io/install/ros2-teleop/kubuntu)

[### Manjaro](https://snapcraft.io/install/ros2-teleop/manjaro)

[### Pop!\_OS](https://snapcraft.io/install/ros2-teleop/pop)

[### openSUSE](https://snapcraft.io/install/ros2-teleop/opensuse)

[### Red Hat Enterprise Linux](https://snapcraft.io/install/ros2-teleop/rhel)

[### Ubuntu](https://snapcraft.io/install/ros2-teleop/ubuntu)

[### Raspberry Pi](https://snapcraft.io/install/ros2-teleop/raspbian)
