How to Install Universal Radio Hacker on Linux

How To Install Urh On Linux

Install Universal Radio Hacker on Linux with pipx, verify its CLI, and set up supported SDR access without running the application as root. URH inspects and decodes wireless signals from supported software-defined radios, and its upstream project recommends pipx because it installs native extensions in a separate Python environment.

What URH does and what you need first

URH records, demodulates, labels, and exports radio signals. It can also help you inspect protocol fields, but it does not turn an unsupported radio into a supported one.

Use URH only with equipment and frequencies you are authorized to inspect, and install your radio’s Linux package and udev rules before starting it if you want non-root hardware access.

Install Universal Radio Hacker with pipx

pipx keeps a Python desktop application separate from your system Python packages. The URH repository names it as the recommended Linux installation route.

Install pipx with your distribution’s documented package method if it is not already available. Then install URH from PyPI.

pipx install urh
pipx list

The install also provides urh_cli. Its help output is a quick way to confirm that the command-line interface can see its supported radio settings without opening the desktop window.

urh_cli --help
URH CLI help showing supported SDR settings after installation
URH CLI help shows supported radio settings after the pipx installation.

I installed the current PyPI package in an isolated pipx environment for this refresh. It installed URH 2.10.0 with its required Python dependencies on Python 3.13.5.

Start URH and check the display boundary

Run URH from a graphical Linux desktop session.

urh

URH is a Qt application, so a headless SSH session has no display server for its window. The package can install successfully in that environment while the application cannot open until you run it from a desktop session or provide a suitable graphical display.

Use a distribution package when your distro provides one

The upstream project also lists Arch Linux, Gentoo, Fedora, openSUSE, and NixOS repositories as sources for URH. Use your distribution’s package documentation when you need its package manager to handle updates with the rest of your system.

Package versions can lag behind PyPI, so check the package version if you need a feature from a recent URH release.

Connect a supported SDR without running URH as root

URH needs a compatible software-defined radio, its vendor library, and matching udev rules so the device is available to your normal user account.

Install the development package for your hardware backend before URH when you need native support. The upstream documentation uses hackrf-dev as one example, but the correct package depends on your SDR.

Verify the installation before connecting hardware

Start URH from your desktop, then open its device settings and confirm that the backend for your SDR appears. If no device is listed, check the vendor library and udev rules before changing URH settings.

The installation is complete when the URH window opens and your authorized SDR is available to your normal user account. Keep the official URH repository open for supported-device details and its udev rules before connecting hardware.

Frequently asked questions

These answers separate package installation from the hardware access that URH needs for capture.

What is the recommended way to install Universal Radio Hacker on Linux?

The URH project recommends pipx on Linux. It installs URH from PyPI in an isolated environment with native extensions.

Why does URH fail to open over SSH?

URH is a Qt desktop application. A headless SSH session has no graphical display server, so installation can succeed while the URH window cannot open.

Do I need to run URH as root?

No. Install the matching udev rules for your supported software-defined radio so your normal user account can access the device.