diff --git a/rust/gui-client/README.md b/rust/gui-client/README.md index 1bfee728b..b73836ea9 100644 --- a/rust/gui-client/README.md +++ b/rust/gui-client/README.md @@ -73,33 +73,6 @@ If that doesn't work: - Click `New client secret` - Note down the secret value. This should be entered into the GitHub repository's secrets as `AZURE_CLIENT_SECRET`. -## Installing on CentOS 9 - -These instructions will move to the knowledge base once the first release supporting CentOS 9 is cut. - -### Install system tray - -GNOME Shell 40 in CentOS 9 does not have a system tray by default. Use these steps to install it. - -For other desktops like xfce4 or KDE, the system tray may already work properly. - -1. `sudo dnf install epel-release` (Needed to get GNOME extensions) -2. `sudo dnf install gnome-shell-extension-appindicator` -3. Log out and back in to restart GNOME -4. `gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com` (This will tab-complete.) - -### Install Firezone - -1. Download the RPM -2. `sudo dnf install systemd-resolved` (Installing it explicitly prevents it from being auto-removed if Firezone is removed) -3. `sudo dnf install ./firezone-client-gui-*.rpm` -4. `sudo usermod -aG firezone-client $USER` -5. `sudo systemctl enable firezone-client-ipc.service` (See https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html, "It is not recommended to ship preset files within the respective software packages implementing the units". The Fedora family of distros also seem to have their own policy that installing a service should not auto-start or enable it.) -6. Reboot to finish adding yourself to the group. Logging out and back in is not enough. This also starts the new services for us. -7. `sudo cp /etc/resolv.conf /etc/resolv.conf.before-firezone` Back up your resolv.conf file. If anything goes wrong with your DNS, you can copy this back into place. -8. `sudo ln --force --symbolic /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf` This puts `systemd-resolved`, and therefore Firezone, in control of the system's DNS. `systemd-resolved` does not do this automatically, since it's under `/etc`. -9. Run `firezone-client-gui` from the app menu. - ## Running From this dir: diff --git a/website/src/app/kb/client-apps/linux-gui-client/readme.mdx b/website/src/app/kb/client-apps/linux-gui-client/readme.mdx index e3af9b0f0..7558f834a 100644 --- a/website/src/app/kb/client-apps/linux-gui-client/readme.mdx +++ b/website/src/app/kb/client-apps/linux-gui-client/readme.mdx @@ -15,11 +15,11 @@ present to authenticate with your identity provider interactively. ## Prerequisites - **x86-64** or **ARM64** CPU architecture -- Ubuntu **20.04** or **22.04**. (For ARM64, only 22.04) Other distributions may +- Ubuntu **22.04** or higher, or CentOS 9 or higher. Other distributions may work, but are not officially supported. - **systemd-resolved**. Ubuntu already uses this by default. -## Installation +## Installation (Ubuntu) Download the `.deb` package from our [changelog page](/changelog), or from the direct link below: @@ -44,6 +44,44 @@ reboot To auto-start the Client when you log in, run `firezone-client-gui debug set-autostart true` +## Installation (CentOS) + +### Step 1: Install system tray + +GNOME Shell 40 in CentOS 9 does not have a system tray by default. Use these +steps to install it. For other desktops like xfce4 or KDE, the system tray may +already work properly. + +1. `sudo dnf install epel-release` (Needed to get GNOME extensions) +2. `sudo dnf install gnome-shell-extension-appindicator` +3. Log out and back in to restart GNOME +4. `gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com` + +### Step 2: Install Firezone + +1. Download the RPM: + [Download the latest Linux GUI `.rpm` from GitHub Releases](https://www.github.com/firezone/firezone/releases) +2. `sudo dnf install systemd-resolved` (Installing it explicitly prevents it + from being auto-removed if Firezone is removed) +3. `sudo dnf install ./firezone-client-gui-*.rpm` +4. `sudo usermod -aG firezone-client $USER` +5. `sudo systemctl enable firezone-client-ipc.service` (See + https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html, + "It is not recommended to ship preset files within the respective software + packages implementing the units". The Fedora family of distros also seem to + have their own policy that installing a service should not auto-start or + enable it.) +6. Reboot to finish adding yourself to the group. Logging out and back in is not + enough. This also starts the new services for us. +7. `sudo cp /etc/resolv.conf /etc/resolv.conf.before-firezone` Back up your + resolv.conf file. If anything goes wrong with your DNS, you can copy this + back into place. +8. `sudo ln --force --symbolic /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf` + This puts `systemd-resolved`, and therefore Firezone, in control of the + system's DNS. `systemd-resolved` does not do this automatically, since it's + under `/etc`. +9. Run `firezone-client-gui` from the app menu. + ## Usage ### Signing in @@ -95,11 +133,11 @@ will use its normal DNS and Internet behavior. ## Upgrading -1. Download the latest `.deb` installer package from - ["Installation"](#installation) above. +1. Download the latest `.deb` or `.rpm` installer package from + [GitHub Releases](https://www.github.com/firezone/firezone/releases). 1. Quit `firezone-client-gui` if it's running. 1. Install the new package: - `sudo apt-get install ./firezone-client-gui-linux__.deb` + `sudo apt-get install ./firezone-client-gui-linux__.(deb|rpm)` 1. Restart `firezone-client-gui`. ## Diagnostic logs @@ -203,8 +241,8 @@ the tunnel, and a GUI which allows the user to control Firezone. ## Known issues -- The GUI Client does not run on Ubuntu 24.04 yet - [#4883](https://github.com/firezone/firezone/issues/4883) +- The update checker notification does not work for RPM installations + [#7646](https://github.com/firezone/firezone/issues/7646) - If you update Firezone while the GUI is running, you must manually restart the GUI [#5790](https://github.com/firezone/firezone/issues/5952)