Linux
Supported distributions
The Twingate Linux Client currently supports the following Linux distributions for x86/AMD64 and ARM64-based devices:
- Ubuntu (20.04 LTS and 22.04, limited support for 24.04)
- Debian (9 or later)
- Fedora (35 or later)
- CentOS (Stream 8 or later)
Additionally, the following are supported for x64/AMD64-based devices:
- Arch Linux
- ThinPro
- NixOS
- Gentoo
System Prerequisites
- The Linux Client requires either
systemd-resolved
service to be enabled/running orNetworkManager
service to be configured and enabled/running as the client DNS service. - A notification service is required for interactive user authentication. If a notification service is not available, the Client will provide instructions for receiving a console-based notification feed.
Installation and Setup
Installation
The following command will download and install the Linux Client on any supported Linux distribution.
curl -s https://binaries.twingate.com/client/linux/install.sh | sudo bash
Headless Mode is available for server, services, or container instances.
Setup
Once installation completes, you need to configure the Linux Client by running the following command:
sudo twingate setup
Usage notes
We recommend that you start the Linux Client from a terminal window within a desktop environment so that you can respond to authentication notifications. The Linux Client does not have a graphical interface, and is operated with the basic CLI commands below.
Command | Description |
---|---|
sudo twingate setup | Interactively configure the Twingate Client. |
twingate start | Start the Twingate Client. |
twingate status | Output Twingate Client status. |
twingate stop | Stop the Twingate Client. |
twingate resources | Show available Resources for the authenticated user. |
twingate help | Show usage information. |
User permissions when starting Twingate
It’s important that you start the Linux Client without elevated permissions—ie. twingate start
—in order to receive
desktop notifications required for authentication. Desktop notifications are using to alert the user when
authentication is required to access protected Resources. Running sudo twingate start
will result in these
notifications being hidden from the logged in user.
Advanced CLI commands are also available depending on the configuration or usage needs.
Command | Description |
---|---|
sudo twingate config | To manually change a Client configuration setting, use twingate config [setting] [value] . Example settings that can be configured: network , autostart , save-auth-data , log-level |
twingate desktop-start | Start desktop notifications for Twingate authentication requests. |
/usr/bin/twingate-notifier console | Authenticate Twingate Client without desktop notifications. Note: Copy the URL returned and paste into a browser to authenticate the Twingate Client. |
Logs
To view or collect logs, please reference Twingate Client Logs.
Manual Client installation via package management
If you wish to add the Twingate Linux Client repositories manually, follow the steps below.
Early release channel
An early release version of the Twingate Linux client can be found in the twingate-latest
package. This package has the newest features, at the cost of it potentially being less stable than the twingate
package. The install.sh
script will default to the stable distribution.
twingate-latest
conflicts with twingate
as they both install the twingate
binary. Only one package from either release channel can be installed at a time.
Debian
echo "deb [trusted=yes] https://packages.twingate.com/apt/ /" | tee /etc/apt/sources.list.d/twingate.listapt update -yqapt install -yq twingate # or twingate-latest# After installation, configure the client by running: sudo twingate setup
RPM
dnf install -y 'dnf-command(config-manager)'dnf config-manager --add-repo https://packages.twingate.com/rpm/dnf config-manager --save --setopt=packages.twingate.com_rpm_.gpgcheck=0dnf install -y twingate # or twingate-latest# After installation, configure the client by running: sudo twingate setup
Pacman (Arch Linux)
curl https://binaries.twingate.com/client/linux/ARCH/x86_64/stable/twingate-amd64.pkg.tar.zst --output twingate.pkg.tar.zst# for twingate-latest: curl https://binaries.twingate.com/client/linux/ARCH/x86_64/latest/twingate-amd64.pkg.tar.zst --output twingate.pkg.tar.zst# for aarch64: curl https://binaries.twingate.com/client/linux/ARCH/aarch64/stable/twingate-amd64.pkg.tar.zst --output twingate.pkg.tar.zstpacman -Syypacman -U --noconfirm twingate.pkg.tar.zst# After installation, configure the client by running: sudo twingate setup
Last updated 2 months ago