How to Install GitHub Desktop on Ubuntu Linux

GitHub Desktop provides a graphical interface for Git version control, making it easier to commit changes, create branches, manage pull requests, and collaborate on projects without memorizing command-line syntax. Whether you are new to version control or prefer a visual workflow, GitHub Desktop streamlines repository management on your Ubuntu system. While GitHub does not officially support Linux, the community-maintained shiftkey/desktop fork packages GitHub Desktop for Linux distributions with regular updates and full feature parity.

This guide covers three installation methods: manual .deb package installation for version pinning, APT repository configuration for automatic updates, and Flatpak installation for sandboxed deployment. By the end, you will have a working GitHub Desktop installation ready to clone repositories, create branches, commit changes, and manage pull requests through a visual interface.

Choose Your GitHub Desktop Installation Method

GitHub Desktop can be installed through several channels on Ubuntu. Each method has different trade-offs for maintenance and update frequency.

MethodChannelStabilityBest For
Manual .debshiftkey/desktop releasesManual updatesUsers who want control over when to update or need to pin specific versions
APT RepositoryCommunity-maintainedAutomatic via apt upgradeMost users who prefer hands-off updates alongside system packages
FlatpakFlathubAutomatic via flatpak updateUsers who prefer sandboxed applications with isolated dependencies

For most users, the APT repository method provides the best balance of convenience and reliability. Flatpak offers additional sandboxing if you prefer isolated applications. Ubuntu systems with SSH-based Git workflows benefit from configuring SSH authentication alongside GitHub Desktop for seamless credential management.

Update Ubuntu Before GitHub Desktop Installation

Before proceeding, verify your system architecture to ensure you download the correct package variant:

dpkg --print-architecture
amd64

Most modern Ubuntu systems report amd64. Raspberry Pi and ARM-based systems show arm64 or armhf. Once confirmed, 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

The manual .deb method gives you direct control over which version to install. First, set a VERSION variable with the latest release tag from the shiftkey/desktop releases page, then download the matching package:

VERSION="3.4.13-linux1"
wget https://github.com/shiftkey/desktop/releases/download/release-${VERSION}/GitHubDesktop-linux-$(dpkg --print-architecture)-${VERSION}.deb

Check the releases page for the current version to assign to VERSION. The $(dpkg --print-architecture) placeholder automatically detects your system architecture (amd64, arm64, or armhf).

Install the downloaded package with apt so dependencies resolve automatically:

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

Verify the installation succeeded by checking the version:

github-desktop --version
3.4.13-linux1

Option 2: Install GitHub Desktop via APT Repository

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, updating automatically through apt upgrade commands.

The Mwt mirror is currently recommended as the primary installation source. The official Shiftkey repository (https://apt.packages.shiftkey.dev) is experiencing SSL certificate issues where it presents a mismatched *.azureedge.net certificate instead of a valid certificate for its domain. This Azure CDN configuration error prevents secure HTTPS connections until resolved. Both mirrors ship identical packages and use the same GPG signing key.

Import Mwt GitHub Desktop Mirror (Recommended)

The Mwt mirror is fully operational with valid SSL certificates and uses the same package signing key as the upstream Shiftkey repository. First, download and convert the GPG key. The gpg --dearmor command converts the ASCII-armored key to binary format required by APT:

sudo install -m 0755 -d /usr/share/keyrings
curl -fsSL https://mirror.mwt.me/shiftkey-desktop/gpgkey | gpg --dearmor --batch --yes | sudo tee /usr/share/keyrings/mwt-desktop.gpg > /dev/null

The gpg command requires the gnupg package, which is installed by default on desktop Ubuntu systems. Minimal server installations may need to install it first with sudo apt install gnupg.

Add the repository using modern DEB822 format with shell expansion for automatic architecture detection:

cat <<EOF | sudo tee /etc/apt/sources.list.d/mwt-desktop.sources
Types: deb
URIs: https://mirror.mwt.me/shiftkey-desktop/deb/
Suites: any
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /usr/share/keyrings/mwt-desktop.gpg
EOF

Commands shown work on all current Ubuntu releases (22.04 LTS and newer). Both community-maintained mirrors use universal repository configurations that support all active Ubuntu versions.

Import Shiftkey GitHub Desktop Mirror (Alternative – Currently Experiencing SSL Issues)

The official Shiftkey repository is currently presenting an SSL certificate for *.azureedge.net instead of apt.packages.shiftkey.dev, causing certificate validation failures. This is an Azure CDN configuration issue that prevents secure HTTPS connections. Use the Mwt mirror above until this issue is resolved. Only attempt these commands if you have confirmed the SSL certificate has been fixed by running curl -I https://apt.packages.shiftkey.dev/gpg.key and receiving an HTTP 200 response without certificate errors.

If the SSL certificate issue has been resolved, download and convert the GPG key:

sudo install -m 0755 -d /usr/share/keyrings
curl -fsSL https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor --batch --yes | sudo tee /usr/share/keyrings/shiftkey-packages.gpg > /dev/null

Add the repository using modern DEB822 format with shell expansion for automatic architecture detection:

cat <<EOF | sudo tee /etc/apt/sources.list.d/shiftkey-packages.sources
Types: deb
URIs: https://apt.packages.shiftkey.dev/ubuntu/
Suites: any
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /usr/share/keyrings/shiftkey-packages.gpg
EOF

Complete Repository Installation

After adding either repository, refresh the package lists to include the new repository:

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

sudo apt update

Finally, install GitHub Desktop from the repository:

sudo apt install github-desktop

Verify the installation succeeded:

github-desktop --version
3.x.x-linuxX

Option 3: Install GitHub Desktop via Flatpak

Flatpak delivers GitHub Desktop in a sandboxed container with isolated dependencies. 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 install the runtime and configure system repositories before proceeding. This enables universal package installation across distributions.

Enable Flathub Repository

Add the Flathub repository system-wide to access the GitHub Desktop package:

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

Install GitHub Desktop via Flatpak

Next, install GitHub Desktop from Flathub:

sudo flatpak install --system -y flathub io.github.shiftey.Desktop

Verify the Flatpak installation:

flatpak list | grep -i github
GitHub Desktop    io.github.shiftey.Desktop    3.x.x    system

Launch GitHub Desktop

Launch GitHub Desktop from Terminal

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.shiftey.Desktop

Launch GitHub Desktop from 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. 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 --system

For APT repository installations, GitHub Desktop updates 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. Choose the appropriate command below based on how you originally installed GitHub Desktop.

Remove APT Repository Installation

First, remove the GitHub Desktop package:

sudo apt remove github-desktop

After removing the package, run sudo apt autoremove if you want to clean up dependencies that are no longer needed. Next, 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

Remove GitHub Desktop and its associated data from Flatpak:

sudo flatpak remove --system -y --delete-data io.github.shiftey.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, first verify that a repository source file exists:

ls /etc/apt/sources.list.d/*shiftkey*.sources /etc/apt/sources.list.d/*mwt*.sources 2>/dev/null

If no files appear, return to Option 2 and add one of the repository mirrors. After confirming the source file exists, refresh your package lists:

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 verify whether Flathub is present:

flatpak remotes
Name    Options
flathub system

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

sudo flatpak remote-add --system --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 --system -y flathub io.github.shiftey.Desktop
flatpak run io.github.shiftey.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
Reading package lists... Done
Building dependency tree... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

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

Conclusion

You now have GitHub Desktop configured on Ubuntu with verified repository access, package authentication through scoped GPG keyrings, and automatic updates through your chosen installation method. The visual interface handles branch creation, commit staging, pull request workflows, and merge conflict resolution through the techniques covered in this guide. For production workflows, configure SSH keys for authentication, set up branch protection rules in repository settings, and enable two-factor authentication on your GitHub account. Consider integrating GitHub Desktop with your existing development tools by pairing it with Visual Studio Code for editing or configuring custom diff tools for specialized file types. When you need to perform advanced Git operations from the command line, refer to guides on undoing Git commits, renaming branches, or clearing the Git cache to complement GitHub Desktop’s visual workflow.

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

Leave a Comment