mirror of
https://github.com/netbirdio/docs.git
synced 2026-08-24 16:51:26 +02:00
Correct Linux desktop app requirements and drop libappindicator (#888)
The Wails 3 desktop app links GTK 4.10+ (GtkFileDialog) and WebKitGTK 6.0, verified against the shipped v0.75.0 netbird-ui binary. The previously documented floor of Debian 12 / Ubuntu 22.04 is below that: both ship WebKitGTK 6.0 but only GTK 4.8 and 4.6, where the app starts and then crashes on the first file dialog. - Document the real floor per distribution and mark RHEL 9, Amazon Linux 2 and Amazon Linux 2023 as CLI only. - Name the GTK 4 and WebKitGTK 6.0 packages in the install commands, since netbird-ui does not declare them as dependencies. - Note that EPEL provides webkitgtk6.0 on RHEL/AlmaLinux/Rocky 10. - Remove libappindicator from the RPM install lines. The tray is a D-Bus StatusNotifierItem and does not link libappindicator; keep the GNOME extension step, which is still required for the tray to appear. - Note that Linux netbird-ui packages are x86_64 only.
This commit is contained in:
@@ -6,25 +6,41 @@ The NetBird client (agent) allows a peer to join a pre-existing NetBird deployme
|
||||
|
||||
## Desktop App Dependencies
|
||||
|
||||
The desktop app introduced in NetBird v0.75.0 renders its interface in a GTK 4 WebKit webview. Supported packages normally install these dependencies automatically. For manual or unsupported deployments, install the corresponding packages before launching the GUI.
|
||||
The desktop app introduced in NetBird v0.75.0 renders its interface in a GTK 4 WebKit webview. The `netbird-ui` package does not declare these libraries as dependencies, so install them alongside it.
|
||||
|
||||
**Debian 12+ / Ubuntu 22.04+**
|
||||
<Warning>
|
||||
The desktop app requires **GTK 4.10 or newer** and **WebKitGTK 6.0**. On older GTK 4 releases the app starts but crashes as soon as it opens a file dialog, so install the `netbird` CLI only on those systems.
|
||||
</Warning>
|
||||
|
||||
Minimum releases that satisfy both requirements:
|
||||
|
||||
| Distribution | Desktop app | CLI |
|
||||
| --- | --- | --- |
|
||||
| Ubuntu | 24.04 LTS and newer | any supported release |
|
||||
| Debian | 13 (trixie) and newer | any supported release |
|
||||
| Fedora | 43 and newer | any supported release |
|
||||
| RHEL / AlmaLinux / Rocky | 10 and newer, with [EPEL](https://docs.fedoraproject.org/en-US/epel/getting-started/) | any supported release |
|
||||
| Amazon Linux | not available | 2 and 2023 |
|
||||
|
||||
Ubuntu 22.04 (GTK 4.6) and Debian 12 (GTK 4.8) ship WebKitGTK 6.0 but their GTK 4 is below 4.10, so the desktop app is not supported there. RHEL 9 provides neither GTK 4.10 nor WebKitGTK 6.0.
|
||||
|
||||
**Debian 13+ / Ubuntu 24.04+**
|
||||
|
||||
```bash
|
||||
sudo apt-get install libgtk-4-1 libwebkitgtk-6.0-4 xdg-utils
|
||||
```
|
||||
|
||||
**Fedora / RHEL 10+**
|
||||
**Fedora 43+ / RHEL 10+**
|
||||
|
||||
```bash
|
||||
sudo dnf install gtk4 webkitgtk6.0 xdg-utils
|
||||
```
|
||||
|
||||
<Note>
|
||||
RHEL 9 includes GTK 4 but does not provide WebKitGTK 6.0, which the desktop app requires. RHEL 10 is supported after enabling [EPEL](https://docs.fedoraproject.org/en-US/epel/getting-started/), which provides the `webkitgtk6.0` package.
|
||||
</Note>
|
||||
On other distributions, install the equivalent **GTK 4** (4.10+), **WebKitGTK 6.0**, and **xdg-utils** packages from your package manager. Many desktop systems already include some or all of them.
|
||||
|
||||
On other distributions, install the equivalent **GTK 4**, **WebKitGTK 6.0**, and **xdg-utils** packages from your package manager, many systems may already include some of all of these packages.
|
||||
<Note>
|
||||
Linux `netbird-ui` packages are built for **x86_64** only. On arm64 and other architectures, use the `netbird` CLI.
|
||||
</Note>
|
||||
|
||||
## Linux Install Script
|
||||
|
||||
@@ -51,11 +67,15 @@ curl -fsSL https://pkgs.netbird.io/install.sh | sh
|
||||
```bash
|
||||
# for CLI only
|
||||
sudo apt-get install netbird
|
||||
# for GUI package
|
||||
sudo apt-get install netbird-ui
|
||||
# for the desktop app (Ubuntu 24.04+ / Debian 13+)
|
||||
sudo apt-get install netbird-ui libgtk-4-1 libwebkitgtk-6.0-4 xdg-utils
|
||||
```
|
||||
|
||||
### RHEL/Amazon Linux 2 (RPM)
|
||||
### RHEL 9 / Amazon Linux 2 (YUM)
|
||||
|
||||
<Note>
|
||||
These releases do not provide GTK 4.10 or WebKitGTK 6.0, so the desktop app is not available. Install the CLI and manage NetBird with `netbird` commands.
|
||||
</Note>
|
||||
|
||||
1. Add the repository:
|
||||
```bash
|
||||
@@ -71,13 +91,10 @@ EOF
|
||||
```
|
||||
2. Install the package
|
||||
```bash
|
||||
# for CLI only
|
||||
sudo yum install netbird
|
||||
# for GUI package
|
||||
sudo yum install libappindicator-gtk3 libappindicator netbird-ui
|
||||
```
|
||||
|
||||
### Fedora/Amazon Linux 2023 (DNF)
|
||||
### Fedora / RHEL 10+ / Amazon Linux 2023 (DNF)
|
||||
|
||||
1. Create the repository file:
|
||||
```bash
|
||||
@@ -102,10 +119,18 @@ EOF
|
||||
```bash
|
||||
# for CLI only
|
||||
sudo dnf install netbird
|
||||
# for GUI package
|
||||
sudo dnf install libappindicator-gtk3 libappindicator netbird-ui
|
||||
# for the desktop app (Fedora 43+ / RHEL 10+)
|
||||
sudo dnf install netbird-ui gtk4 webkitgtk6.0 xdg-utils
|
||||
```
|
||||
On some recent releases, the default behaviour for `libappindicator` was changed, so we need to install `gnome-shell-extension-appindicator` and enable it:
|
||||
|
||||
On RHEL, AlmaLinux and Rocky Linux 10, `webkitgtk6.0` comes from EPEL, so enable it before installing the desktop app:
|
||||
```bash
|
||||
sudo dnf install epel-release -y
|
||||
```
|
||||
|
||||
Amazon Linux 2023 does not provide GTK 4 or WebKitGTK 6.0, so install the CLI only there.
|
||||
|
||||
The tray icon uses the D-Bus StatusNotifierItem protocol. GNOME does not support it natively, so on GNOME desktops install `gnome-shell-extension-appindicator` and enable it:
|
||||
```
|
||||
sudo dnf install gnome-shell-extension-appindicator
|
||||
sudo gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com
|
||||
@@ -132,8 +157,8 @@ EOF
|
||||
```bash
|
||||
# for CLI only
|
||||
rpm-ostree install netbird
|
||||
# for GUI package
|
||||
rpm-ostree install netbird-ui
|
||||
# for the desktop app
|
||||
rpm-ostree install netbird-ui gtk4 webkitgtk6.0 xdg-utils
|
||||
# Don't forget to reboot to apply
|
||||
```
|
||||
4. Start the service
|
||||
@@ -239,6 +264,10 @@ reboot
|
||||
zypper in netbird
|
||||
```
|
||||
|
||||
<Note>
|
||||
These commands install the CLI. To use the desktop app, install `netbird-ui` together with your distribution's GTK 4.10+ and WebKitGTK 6.0 packages; openSUSE names them differently from Debian and Fedora, so check with `zypper search webkitgtk`.
|
||||
</Note>
|
||||
|
||||
### NixOS 22.11+/unstable
|
||||
|
||||
1. Edit your [`configuration.nix`](https://nixos.org/manual/nixos/stable/index.html#sec-changing-config)
|
||||
|
||||
Reference in New Issue
Block a user