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

[Canonical Snapcraft](https://snapcraft.io/)

# Install ros2-teleop on **elementary OS**

# 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)

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

#### 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.

### 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/install/ros2-teleop/elementary#report-snap-modal)

---

## Enable snaps on elementary OS and install ros2-teleop

Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.

Snaps are discoverable and installable from the [Snap Store](https://snapcraft.io/store), an app store with an audience of millions.

### Enable snapd

Snap can be installed on elementary OS from the command line. Open *Terminal* from the Applications launcher and type the following:

```
sudo apt update
sudo apt install snapd
```

Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.

### Install ros2-teleop

To install ros2-teleop, simply use the following command:

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

### Other popular snaps…

[See more...](https://snapcraft.io/search?categories=featured)

[See more in Featured](https://snapcraft.io/search?categories=featured)

### More things to do…

#### [Get the snap store](https://snapcraft.io/snap-store)

Browse and find snaps from the convenience of your desktop using the snap store snap.

#### [Learn more about snaps](https://snapcraft.io/docs)

Interested to find out more about snaps? Want to publish your own application? Visit [snapcraft.io](https://snapcraft.io/) now.

[Back to top](https://snapcraft.io/install/ros2-teleop/elementary)

© 2026 Canonical Ltd.
Ubuntu and Canonical are registered trademarks of Canonical Ltd.

Powered by [Charmed Kubernetes](https://www.ubuntu.com/kubernetes)

[Join the forum](https://forum.snapcraft.io/), contribute to or report problems with,
[snapd](https://bugs.launchpad.net/snapd),
[Snapcraft](https://bugs.launchpad.net/snapcraft),
or [this site](https://github.com/canonical/snapcraft.io/issues/new).

* [Share on Twitter](https://twitter.com/snapcraftio)
* [Share on Facebook](https://www.facebook.com/snapcraftio)
* [Share on YouTube](https://www.youtube.com/snapcraftio)

* [Terms of Service](https://ubuntu.com/legal/terms-and-policies/snap-store-terms)
* [Data privacy](https://www.ubuntu.com/legal/data-privacy)
* [Manage your tracker settings](https://snapcraft.io/install/ros2-teleop/elementary)
* [Service status](https://status.snapcraft.io/)
* [Other functions](https://dashboard.snapcraft.io/)
* [Contact us](https://snapcraft.io/about/contact-us)
