How to Install GitHub Desktop on Ubuntu Linux

GitHub Desktop offers a graphical Git client that transforms command-line repository management into visual workflows. Additionally, the application displays branch structures, commit histories, and file changes through an intuitive interface while handling pull requests, merges, and conflict resolution without terminal commands. Meanwhile, Ubuntu users gain access through the community-maintained Shiftkey fork, which delivers the same core functionality as the official Windows and macOS versions.

Three installation paths provide GitHub Desktop on Ubuntu: direct .deb package downloads for one-time setup, APT repository mirrors for automatic updates alongside system packages, or Flatpak through Flathub for sandboxed deployment. However, each method delivers identical functionality with different maintenance trade-offs.

Choose Your GitHub Desktop Installation Method

GitHub Desktop installation on Ubuntu offers multiple approaches, each suited to different workflow preferences and maintenance strategies. Accordingly, understanding the differences helps you select the method that aligns with your update preferences and system management practices.

MethodUpdate MechanismMaintenanceBest For
.deb PackageManual downloads from GitHub releasesRequires checking for updates manually and reinstallingOne-time installations, testing specific versions, or systems with restricted repository access
APT Repository MirrorAutomatic through system updatesUpdates with standard apt upgrade commands alongside other packagesDesktop systems where GitHub Desktop is core workflow tool requiring latest features
Flatpak via FlathubAutomatic through Flatpak updatesSandboxed environment with containerized dependenciesSecurity-conscious setups, multiple desktop environments, or preference for universal packaging

Consequently, the APT repository method integrates GitHub Desktop into your standard system update workflow, delivering new versions automatically when you run routine maintenance commands. Additionally, Flatpak provides application isolation and works consistently across Ubuntu versions and other distributions. The direct .deb package offers complete control over version timing but requires manual monitoring of the Shiftkey project releases.

In most cases, desktop users benefit from the APT repository approach, which balances convenience with system integration. Meanwhile, the Flatpak method suits multi-distribution users or those prioritizing application sandboxing, while direct .deb packages serve scenarios requiring version pinning or network-restricted environments.

Update Ubuntu Before GitHub Desktop Installation

First, update your system before adding new software to ensure package dependencies resolve correctly:

sudo apt update && sudo apt upgrade

Install GitHub Desktop on Ubuntu

Option 1: Install GitHub Desktop via .deb Package

GitHub officially supports only Windows and macOS. Instead, Linux users access GitHub Desktop through the community-maintained shiftkey/desktop fork, which provides pre-built packages for major distributions including Ubuntu.

If you still prefer the command-line workflow for quick commits or scripting, keep the CLI tools updated with the Git installation guide for Ubuntu so GitHub Desktop and the Git binary stay in sync.

Download the latest .deb package from the shiftkey/desktop releases page. Additionally, the project provides AppImage format for users preferring portable executables.

For a quick start, set a VERSION variable with the latest release tag so you only change one value when new builds arrive, then download the matching .deb file. Review the wget command examples if you need a refresher on adjusting URLs or renaming downloads.

VERSION="3.4.13-linux1" # Replace with the newest tag shown on the releases page
wget https://github.com/shiftkey/desktop/releases/download/release-${VERSION}/GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb

Check the releases page for the current value to assign to VERSION and adjust the architecture string if needed. The placeholder $(dpkg --print-architecture) resolves to values like amd64, arm64, or armhf; replace it manually if you prefer to specify a different build.

Afterward, install the downloaded package with apt so dependencies resolve automatically:

sudo apt install ./GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb

Option 2: Install GitHub Desktop via APT Repository

Alternatively, two community-maintained APT repositories mirror the shiftkey/desktop project, both hosted in the United States. This method integrates GitHub Desktop into your standard system update workflow, delivering new versions automatically through apt upgrade commands.

Both mirrors ship identical packages, so use whichever endpoint is reachable. The official Shiftkey host (https://apt.packages.shiftkey.dev) is currently presenting a mismatched *.azureedge.net TLS certificate, so confirm it responds with HTTP 200 via curl -I https://apt.packages.shiftkey.dev/gpg.key before attempting the commands below; otherwise skip straight to the Mwt mirror.

Import Shiftkey GitHub Desktop Mirror

Run a quick HEAD request to verify the certificate issue has been resolved before downloading anything:

curl -I https://apt.packages.shiftkey.dev/gpg.key

Only continue if the command reports an HTTP 200 response. When the TLS check succeeds, import the key and source definition as follows:

First, ensure the keyring directory exists and download the binary GPG key exactly as published by the Shiftkey feed:

sudo install -m 0755 -d /usr/share/keyrings
sudo curl -fsSLo /usr/share/keyrings/shiftkey-packages.gpg https://apt.packages.shiftkey.dev/gpg.key

Then, add the repository using modern DEB822 format:

echo "Types: deb
URIs: https://apt.packages.shiftkey.dev/ubuntu/
Suites: any
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/shiftkey-packages.gpg" | sudo tee /etc/apt/sources.list.d/shiftkey-packages.sources

Ubuntu 22.04 LTS is the oldest currently supported release. All current versions (22.04 LTS, 24.04 LTS, and supported interim releases) fully support the .sources format shown above.

Import Mwt GitHub Desktop Mirror (Recommended Fallback)

This mirror is fully operational today, so download its maintained GPG key:

sudo install -m 0755 -d /usr/share/keyrings
sudo curl -fsSLo /usr/share/keyrings/mwt-desktop.gpg https://mirror.mwt.me/shiftkey-desktop/gpgkey

Next, add the alternative repository using DEB822 format:

echo "Types: deb
URIs: https://mirror.mwt.me/shiftkey-desktop/deb/
Suites: any
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/mwt-desktop.gpg" | sudo tee /etc/apt/sources.list.d/mwt-desktop.sources

These commands stay in lockstep with the upstream shiftkey/desktop repository documentation while preserving LinuxCapable’s DEB822 `.sources` conventions and tightened keyring handling.

Afterward, refresh the package lists to include the new repository:

sudo apt update

Finally, install GitHub Desktop from the repository:

sudo apt install github-desktop

Option 3: Install GitHub Desktop via Flatpak

Flatpak delivers GitHub Desktop in a sandboxed container with isolated dependencies. Likewise, this approach provides consistent behavior across Ubuntu versions and other distributions while maintaining application security through restricted system access.

If Flatpak is not installed on your system, follow the Flatpak installation guide for Ubuntu to set up the runtime and Flathub repository before proceeding.

Enable Flathub Repository

Next, add the Flathub repository system-wide to access the GitHub Desktop package:

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Install GitHub Desktop via Flatpak

Finally, install GitHub Desktop from Flathub:

sudo flatpak install -y flathub io.github.shiftkey.Desktop

Launch GitHub Desktop

Launch via Terminal Command

To launch from the terminal, start GitHub Desktop with the following command:

github-desktop

For Flatpak builds, the runtime requires the full application ID:

flatpak run io.github.shiftkey.Desktop

Launch via Application Menu

You can also access GitHub Desktop through the standard application menu by searching for “GitHub Desktop” in your desktop environment’s application launcher.

Manage GitHub Desktop Updates and Removal

Update GitHub Desktop

Update procedures vary by installation method. Consequently, Flatpak and APT repository installations receive updates automatically through their respective package managers, while manual .deb installations require downloading new releases.

To update Flatpak installations system-wide, run:

sudo flatpak update

Similarly, APT repository installations update alongside other system packages:

sudo apt update && sudo apt upgrade

However, manual .deb installations require downloading the latest package from the shiftkey/desktop releases page and reinstalling it with apt (for example, rerun sudo apt install ./GitHubDesktop-*.deb) following the same procedure as the initial installation.

Remove GitHub Desktop

Removal commands match the installation method used. Therefore, choose the appropriate command based on how you originally installed GitHub Desktop.

Remove APT Repository Installation

Run the following command to remove the GitHub Desktop package:

sudo apt remove github-desktop

If you added the Shiftkey mirror in Option 2, remove the repository definition and its keyring so apt no longer polls an unused source:

sudo rm /etc/apt/sources.list.d/shiftkey-packages.sources
sudo rm /usr/share/keyrings/shiftkey-packages.gpg

Mirror users should delete the alternate file pair instead:

sudo rm /etc/apt/sources.list.d/mwt-desktop.sources
sudo rm /usr/share/keyrings/mwt-desktop.gpg

Remove Flatpak Installation

Likewise, remove GitHub Desktop and its associated data from Flatpak:

sudo flatpak remove -y --delete-data io.github.shiftkey.Desktop

Remove Manual .deb Installation

Finally, uninstall GitHub Desktop installed from a .deb package:

sudo apt remove github-desktop

Troubleshooting GitHub Desktop on Ubuntu

Fix "Unable to locate package github-desktop"

If apt cannot find the github-desktop package, confirm that only one Shiftkey repository mirror is enabled and that the source file exists in /etc/apt/sources.list.d/. Then refresh your package lists:

found=0
if compgen -G '/etc/apt/sources.list.d/*shiftkey*.sources' >/dev/null; then
  ls /etc/apt/sources.list.d/*shiftkey*.sources
  found=1
fi
if compgen -G '/etc/apt/sources.list.d/*mwt-desktop*.sources' >/dev/null; then
  ls /etc/apt/sources.list.d/*mwt-desktop*.sources
  found=1
fi
if [ "$found" -eq 0 ]; then
  echo "No GitHub Desktop sources found"
fi
sudo apt update

If both shiftkey-packages.sources and mwt-desktop.sources exist, temporarily remove one mirror so apt relies on a single repository:

sudo rm /etc/apt/sources.list.d/mwt-desktop.sources
sudo apt update

After updating the package lists, retry the installation:

sudo apt install github-desktop

Fix Flatpak "No remote ‘flathub’ found" or App ID Errors

Flatpak errors commonly occur when the Flathub remote is missing or misconfigured. First, list configured remotes to check whether Flathub is present:

flatpak remotes

If Flathub does not appear in the output, re-add the system-wide remote:

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Next, ensure the application ID is correct when installing or launching GitHub Desktop:

sudo flatpak install -y flathub io.github.shiftkey.Desktop
flatpak run io.github.shiftkey.Desktop

Fix .deb Installation Dependency Issues

If the .deb package installation fails because of missing dependencies, use apt to resolve them automatically instead of calling dpkg directly. From the directory containing the downloaded .deb file, run:

sudo apt install ./GitHubDesktop-*.deb

If you already attempted installation with dpkg and see unresolved dependency errors, repair them with:

sudo apt -f install

Once dependencies install cleanly, rerun the sudo apt install ./GitHubDesktop-*.deb command to finish the setup.

Conclusion

Overall, GitHub Desktop transforms Git repository management through visual branch tracking, commit history displays, and integrated pull request workflows. The three installation methods provide identical functionality: direct .deb packages help with version control, APT repositories deliver automatic system updates, and Flatpak keeps the application in a sandboxed deployment with isolated dependencies. As a result, your Ubuntu system now runs a capable Git GUI that handles repository cloning, branch management, and merge operations without requiring terminal proficiency.

2 thoughts on “How to Install GitHub Desktop on Ubuntu Linux”

Leave a Comment