In early February, we announced but, AKA the GitButler CLI. While there was much to like about the but announcement, it had one glaring flaw: Linux was never mentioned. Not. Even. Once. But with this announcement, I'm rectifying that terrible omission by mentioning Linux not once, not twice, but a whole lot of times. Because but loves Linux, and it is our firm belief that Linux will come to love but.
This article is all about the Linux support and how to install
buton Linux. For a bird's-eye view of what you can actually do withbut, see the originalbutannouncement.
How do I install it?
There are two supported ways to install the but CLI on Linux: as part of the full application, or as a standalone CLI. There are still things you can do in the GUI that are not yet possible in the CLI, so if you are able, we recommend installing the full application.
but bundled with the GitButler application
The recommended way to install the full GitButler application on Linux is to use the deb or rpm packages available on our downloads page. As of release 0.19.6, these builds include the but CLI. Your package manager will figure out the rest.
For example, on Ubuntu you can download the GitButler 0.19.6 (or later) deb package and install it with apt.
apt install GitButler_0.19.6_amd64.debAfter that, but should be available to you.
If you already use the GUI, this is the way you should access the CLI, as it ensures your GUI and CLI are compatible.
Did you click the
Install But CLIbutton?For some time, the GitButler app has shipped with a button that says
Install But CLI, which would attempt to create a symlink in/usr/local/, which most often fails as the entirety of/usris typically owned by root. If for whatever reason the button click worked for you, or you manually created the symlink as per the instruction popup, do not fret: it will keep working. It does not matter if thebutCLI is resolved via this symlink, or via the new symlink that comes bundled in the packages. Both work just fine.
but as a standalone binary
For those that are only interested in the CLI, we also distribute but as a standalone binary with minimal dependencies (see the compatibility notes below). You can install this via the curl installer, which also ensures that but is on your PATH and sets up shell completions. It also makes sure that the built-in updater accessed via but update install works as intended.
curl -fsSL https://gitbutler.com/install.sh | shWant more control?
The CLI landing page has a link to the standalone binary. Download it and put it wherever you want.
Want EVEN MORE control?!
Just build from source! Clone the repository and build with
cargo build --release -p but.
A note on distro compatibility for but
We build both the GUI and CLI on Ubuntu 22.04. While the GUI has some heavy dependencies in the form of WebKitGTK, but has a far smaller appetite for system libraries. There is however one common compatibility issue with older distros in that but dynamically links to glibc. At the time of writing, this entails that symbols from glibc 2.35 show up in the but binary. If you have an older version of glibc, you are likely to run into issues with dynamic linking. If you end up with such issues, you may still be able to build but from source.
but keeps growing with first-class Linux support
There is much to be excited for about but on Linux. We have Linux-centric developers dogfooding the latest version as part of their daily work, putting significant effort into making it work well across distributions. Okay, fine, developer, but I'm really putting that effort in.
So what are you waiting for? Get but today!

Written by Simon Larsén
Simon is a Software Engineer who "uses Arch, btw", enjoys overly complex board games and loves simracing. What a nerd.



