This GitHub Desktop build has no AUR package yet, so on Arch Linux (and Arch-based distros such as Manjaro and
EndeavourOS) you run the AppImage. It needs fuse2 from the official repositories and a one-time
launcher for sign-in. The steps below install GitHub Desktop 3.6.10.
AUR packages vs this build
Every GitHub Desktop package in the AUR repackages shiftkey/desktop, not this build:
github-desktop(3.4.14-2) builds from source at shiftkey'srelease-3.4.14-linux1tag.github-desktop-bin(3.4.13_linux1) repackages shiftkey's 3.4.13 release.github-desktop-gitbuilds from shiftkey's git repository.
None of them follows upstream past 3.4.14. For the current GitHub Desktop (3.6.10) on Arch, use this build's AppImage as shown below. Comparison: this build vs shiftkey.
This build is not tested on Arch. Arch has a current glibc and enables user namespaces, so the AppImage is expected to run; please report anything that breaks.
Packages the AppImage needs on Arch
A full desktop install usually has these already. On a minimal setup, install them with pacman:
sudo pacman -S --needed fuse2 gtk3 nss libnotify libsecret mesa libdrm at-spi2-core libxcb xdg-utils alsa-lib curl
For sign-in you also need a Secret Service keyring, for example gnome-keyring (unlocked at login)
or KeePassXC with Secret Service enabled. Window managers without a session keyring are the most common cause of
"signed out after restart".
How to install the GitHub Desktop AppImage on Arch Linux
-
01Install FUSE 2
AppImages mount themselves with FUSE 2. Install it, or run the AppImage with --appimage-extract-and-run instead.
shellsudo pacman -S --needed fuse2 -
02Download the AppImage and its checksum
Download GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage and its .sha256 file into ~/Applications.
shellmkdir -p ~/Applications && cd ~/Applications wget https://github.com/yehudah/desktop/releases/download/release-3.6.10-linux1/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage \ https://github.com/yehudah/desktop/releases/download/release-3.6.10-linux1/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage.sha256 -
03Verify the download
Check the file against its SHA-256 checksum. The command must print OK.
shellsha256sum -c GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage.sha256 -
04Make it executable and run it
Mark the AppImage as executable and start it.
shellchmod +x GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage ./GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage -
05Register the sign-in handler
Create a desktop launcher that handles x-github-client:// links, so the browser can hand the sign-in back to GitHub Desktop. AppImageLauncher or Gear Lever can do this for you instead.
shellmkdir -p ~/.local/share/applications cat > ~/.local/share/applications/github-desktop-appimage.desktop <<EOF [Desktop Entry] Type=Application Name=GitHub Desktop Exec=$HOME/Applications/GitHubDesktop-linux-x86_64-3.6.10-linux1.AppImage %U Terminal=false Categories=Development;RevisionControl; MimeType=x-scheme-handler/x-github-client;x-scheme-handler/x-github-desktop-dev-auth; EOF update-desktop-database ~/.local/share/applications xdg-mime default github-desktop-appimage.desktop x-scheme-handler/x-github-client
No FUSE? Run the AppImage with --appimage-extract-and-run instead. It unpacks to a temporary folder on
each start, which is slower but needs nothing installed.
Sign in to GitHub with the AppImage
Sign-in opens your browser, and GitHub sends you back through an x-github-client:// link. A bare
AppImage has not told your desktop that it handles those links, so without step 5 the browser redirect does
nothing. Instead of writing the launcher by hand, you can let an integration tool do it:
- AppImageLauncher integrates an AppImage the first time you open it.
- Gear Lever (available on Flathub) manages AppImages and their launchers.
Either way, keep the AppImage where the tool put it: moving it breaks the launcher. Then check which launcher handles the sign-in link:
xdg-mime query default x-scheme-handler/x-github-client
It should print your AppImage launcher (github-desktop-appimage.desktop if you followed step 5). The
AppImage link handler has been checked by launching it, not yet by a full sign-in; if sign-in still fails, the
.deb is the tested route where you can use it.
The app also needs a running, unlocked keyring that implements the Secret Service API, such as GNOME Keyring or KeePassXC with Secret Service enabled, to store your sign-in token.
Update or remove the AppImage
To update, download the new AppImage, make it executable and point the launcher's Exec= line at the
new file. To remove it, delete the AppImage and ~/.local/share/applications/github-desktop-appimage.desktop.
Settings live in ~/.config/GitHub Desktop.