Trayscale is an unofficial GUI wrapper around the Tailscale CLI client, particularly for use on Linux, as no official Linux GUI client exists. It provides a basic system tray icon and a fairly comprehensive UI with support for many of Trayscale's features.
Disclaimer: This project is in an alpha state. If it bricks your machine, it's not my fault. Use at your own risk.
Trayscale makes calls to the Tailscale CLI for some operations. In order for this to work, the tailscale
command must be in your $PATH
. Additionally, the daemon must have been configured with the current user as the "operator". To do this, run sudo tailscale set --operator=$USER
from the command-line at least once manually.
Note that the above config note about the current user being designated as an "operator" still applies to the Flatpak version of this app. However, the tailscale
binary is bundled into the Flatpak and thus does not need to be in your $PATH
.
If you are on Arch Linux or a derivative, Trayscale is available from the AUR.
First, make sure that you have dependencies installed:
- Go >= 1.21
- GTK >= 4.0
- Libadwaita >= 1.2
The main Trayscale binary can be installed with go install
:
$ go install deedles.dev/trayscale/cmd/trayscale@latest
If you would like, you can also copy the .desktop
file, the icon, and other pieces of extra metadata into the places that they need to be put to function properly:
dev.deedles-trayscale.desktop
->$HOME/.local/share/applications/
dev.deedles.Trayscale.png
->$HOME/.local/share/icons/hicolor/256x256/apps/
Note that without copying both of these files into the correct locations, notifications will likely not function correctly in GNOME. Also keep in mind that if the trayscale
binary is not in your $PATH
in a way that the desktop environment can locate then the .desktop
file will not be considered valid. If this is an issue, modify the file manually and change the Exec=
line to point directly to the binary with an absolute path.