Install the app

Get the desktop app onto each computer you want to control or be controlled.

Install the same app on both computers. Download it from humbleviewer.com.

Windows

  1. Run humble-windows-x86_64-<version>.msi. It installs to C:\Program Files\Humble and adds a Start menu entry. On the Unattended access page, leave Allow unattended access off unless this computer must be reachable when nobody is at it (see Unattended access). You can change it later in Windows Settings, Apps, Humble Viewer, Modify.
  2. Open Humble Viewer from the Start menu.

Other ways to install:

Upgrading: run the newer installer. It closes Humble (the tray icon, open windows and the background service), replaces it, and starts the service and the tray icon again, keeping your choice of the background service. No restart is needed. Removing or repairing Humble closes it the same way.

Builds that are not code-signed trigger a Windows SmartScreen warning. Choose More info, then Run anyway.

macOS

  1. Open humble-macos-universal-<version>.dmg and drag Humble to Applications.
  2. Open it. If macOS says the app is from an unidentified developer, right-click the app and choose Open.
  3. To let others control this Mac, open System Settings → Privacy & Security and turn Humble on under both Screen Recording and Accessibility. Then quit and reopen Humble.

You only need those two permissions on a Mac that will be controlled. A Mac that only controls other computers needs neither.

Ubuntu and Debian

Each release has its own package, built against its version of FFmpeg (for encoding video on the graphics card). Pick the one whose name ends in your release: debian12, ubuntu24.04 or ubuntu26.04, and amd64 for Intel and AMD or arm64 for ARM. For example, on Ubuntu 24.04:

sudo apt install ./humble_<version>-1~ubuntu24.04_amd64.deb

Then log out and back in once, and start Humble Viewer from the applications menu or run humble.

On another distribution, use the plain humble-linux-x86_64 or humble-linux-aarch64 program. It needs glibc 2.36 or newer (Debian 12, Ubuntu 24.04 and later) and encodes video in software, without the graphics card.

Fedora

The package is built for Fedora 44 on Intel and AMD computers:

sudo dnf install ./humble-<version>-1.fc44.x86_64.rpm

Then log out and back in once. Fedora's own FFmpeg leaves out some encoders; where it has no H.264 encoder for your graphics card, Humble encodes video in software.

Fedora's GNOME shows no tray icons until you add the AppIndicator extension; without it Humble works the same, just without the tray icon:

sudo dnf install gnome-shell-extension-appindicator
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com

Log out and back in for it to take effect.

Arch Linux and Omarchy

sudo pacman -U humble-<version>-1-x86_64.pkg.tar.zst

Or build the package yourself from the repository:

cd packaging/arch
makepkg -si

Log out and back in once afterwards. Omarchy is Arch with Hyprland, so it uses the same package.

Linux: Wayland notes

This applies to GNOME on Wayland, KDE on Wayland, and Hyprland (Omarchy).

On X11 none of this applies; capture and input work without prompts.

Firewall: allow direct connections

To be reached directly by another computer, a computer must accept incoming connections on TCP port 21420. Many systems block this by default. You do not need any of this when both computers use a Humble server, because they only make outgoing connections.

SystemWhat to do on the computer being controlled
Omarchy, Ubuntu and others using ufw
sudo ufw allow 21420/tcp
sudo ufw allow 5353/udp     # optional: appear under Nearby
Omarchy turns ufw on and denies incoming connections out of the box.
Fedora and others using firewalld
sudo firewall-cmd --permanent --add-port=21420/tcp
sudo firewall-cmd --reload
WindowsThe MSI and humble install add the rule for private and domain networks. For the portable file, allow Humble when Windows Firewall asks, or run this in an Administrator terminal:
netsh advfirewall firewall add rule name="Humble Viewer" dir=in action=allow protocol=TCP localport=21420 profile=private,domain
The network must be set to Private, not Public.
macOSIf the firewall is on, allow Humble when macOS asks, or add it under System Settings → Network → Firewall → Options.

Signs that a firewall is the cause: the connection attempt waits about ten seconds and then reports no answer, while ping to the same address works.

First run

The main window has two cards:

Continue with Connect and control.

Uninstall

SystemHow
WindowsSettings → Apps, remove Humble Viewer. If you used the portable file with the service, run humble uninstall from an Administrator terminal first.
macOSRun humble uninstall if you installed the background service, then delete the app from Applications.
Ubuntu, Debianhumble uninstall (if you enabled the service), then sudo apt remove humble
Arch, Omarchyhumble uninstall (if you enabled the service), then sudo pacman -R humble