Whose name is not activatable?
I recently encountered a problem which happens everytime I launch GitHub Desktop after a fresh boot. It gives me this error which says “The name is not activatable”. I am on EndeavourOS which is based on Arch Linux and I believe this doesn’t happen in Ubuntu-based distros. You can watch this as a video here:
Things That Do and Don’t Work
I can pull and fetch because anybody can do this anyway, but for the others…
Here’s a screenshot which shows “main” and “origin/main” are separated. My main branch on local looks like it’s different from my origin, but it’s not.
And here’s a screenshot which basically says my main branch is not yet published by asking me if I want to publish it.
When I try to publish the branch anyway, it gives me an error that basically says GitHub Desktop is not authenticated.
Temporary Fixes
On the error dialog I get when I try to publish the branch, I click on “Open options”, “sign in to GitHub”, “Continue with browser”, and authenticate. I can then publish again and now main is correctly set to the origin. Now, I believe this happens every reboot and it’s very annoying and broken.
The Fix: GNOME Keyring
To fix this, GitHub Desktop needs GNOME Keyring. The GNOME Keyring is a facility used by apps and websites to store passkeys and other security stuff, thus the name “keyring”. Continue reading if you’re interested in the details but here’s the summary of the fix if you’re rushing:
yay -R github-desktop-bin
sudo pacman -S gnome-keyring
rm ~/.config/Github\ Desktop/
yay -S github-desktop-bin
Details of the Fix
Launch the Terminal and uninstall GitHub Desktop with yay -R github-desktop-bin
. This will be self-explanatory if you’re familiar with Terminal commands and with the AUR (Arch Linux User Repository). This basically says, “yay, remove GitHub Desktop.”
Then we have to install the GNOME Keyring with sudo pacman -S gnome-keyring
. This says, “As a super user, do, from pacman (package manager) get and install GNOME Keyring.”
We have to delete the GitHub Desktop config files. We can do this using the file explorer by navigating to the “~/.config” folder and just deleting the “GitHub Desktop” folder. The “~” represents the home folder of the current user (like /home/archie/), but if you go to your /home/<username> folder and you can’t see the .config folder, it means you have to find the option to show hidden files. Folders whose names start with “.” are hidden.
Using the Terminal, we can do this with rm -r ~/.config/GitHub\ Desktop
. This says, “remove the entire directory of GitHub Desktop inside the ~/.config/ directory.” The “-r” switch means to do this recursively, which means “includes all files and folders inside”. The backslash (\) is needed to “escape” the space character between “GitHub” and “Desktop”. You can actually just start typing “GitH” then press the tab key to autocomplete it. Or if you have multiple directories in there whose names start with “GitH”, you can press tab multiple times until you get it.
Lastly, we reinstall GitHub Desktop with yay -S github-desktop-bin. “yay, install GitHub Desktop.” That’s it!
Credits to the guys over at the GitHub Desktop repo on GitHub: https://github.com/desktop/desktop/issues/18121
Leave a Reply