Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Desktop for Linux? #1525

Open
hmtxz opened this issue May 17, 2017 · 264 comments
Open

GitHub Desktop for Linux? #1525

hmtxz opened this issue May 17, 2017 · 264 comments
Labels
enhancement linux

Comments

@hmtxz
Copy link

@hmtxz hmtxz commented May 17, 2017

Updating this issue with response from @billygriffin from the GitHub Desktop team (updated early 2021):

We have no immediate plans to support an official Linux version, but we continue to evaluate it alongside our other priorities and we know it's important to many people out there. I also know "maybe someday" is a disappointing response and I apologize for that. We're enormously grateful that @shiftkey has built a fork (https://github.com/shiftkey/desktop) and that many people are using that successfully, but @shiftkey is only one person and I hope people will understand that he's not always able to keep it entirely up to date with the official version.

I assure you that if/when we're able to commit to supporting a Linux version, we'll update this issue accordingly, and I appreciate your ask for a more "official" answer.

I'd also ask that others please refrain from responding to this issue with "when though?", "I want this too", or similar responses. Thanks!


Original issue content:

Please make Github Desktop available for linux user 😃

Update : There is a fork with prebuilt Linux binaries by @shiftkey here https://github.com/shiftkey/desktop

@shiftkey
Copy link
Member

@shiftkey shiftkey commented May 17, 2017

@hamaminatu this is an excellent question!

Currently our focus is on catching up to feature parity with the classic Desktop apps, and getting what we've built battle-tested, so I don't think this will be on our radar before we hit 1.0.

However I'm not aware of any current technical blockers for supporting Electron on Linux distros:

  • dugite-native - the Git package we use in Desktop - has been tested on recent Ubuntu and Fedora distros, and the Atom team are using it
  • Electron itself is built on Ubuntu 12.04 - I know other tools like VSCode support a bunch of distros, but maybe there's gaps in the official support for other platforms that we need to address
  • there's various Electron API differences - both in availability and behaviour - between macOS, Windows and Linux. For an example, read the BrowserWindow docs to see just how many differences are identified. We'd already do work differentiating between macOS and Windows in areas of the app - this is more work we need to build in and test.
  • what platform resources are there for the various Linux window managers that are available? We like to adhere to the macOS Human Interface Guidelines and the Windows Design Guidelines as much as possible.

We want to ensure a Linux version has the same high standard of quality as the other platforms we support, and given our lack of in-house expertise with the Linux ecosystem we'd love to get the community involved with this effort. So if you care to help us with knowledge, platform experience or testing, please upvote this issue or comment with how you can help!

We can also open in the interim to lay this groundwork, like #273, so we can steadily move towards this goal.

@cruzerld
Copy link

@cruzerld cruzerld commented May 17, 2017

I'm a Linux / Windows / Mac desktop dev and i have some expertise in a few different ways of setting up apt and rpm repos. I've set some up manually on S3 and have used Artifactory to host repos as well. I feel like most node / electron tools pretty much stopped at building the .deb and .rpm so if interested maybe I can build a package or two to help out there? I've also built an .arch package in the past but that was a while back.

@ziggy42
Copy link
Contributor

@ziggy42 ziggy42 commented May 17, 2017

For the packaging part, you should also consider appimages, snaps or flatpaks to support multiple distributions with a single package.

@introwit
Copy link

@introwit introwit commented May 17, 2017

Have used the GitHub desktop app for windows for quite a long time before switching to Ubuntu this year, so I could help with testing it out on Linux and give my feedback whether it's the same experience and how the app performance is compared to the other platform versions.

@shiftkey
Copy link
Member

@shiftkey shiftkey commented May 17, 2017

Tagging this as future-work as our 1.0 work and stabilization is the current focus.

@joshmhanson
Copy link

@joshmhanson joshmhanson commented May 17, 2017

what platform resources are there for the various Linux window managers that are available? We like to adhere to the macOS Human Interface Guidelines and the Windows Design Guidelines as much as possible.

@shiftkey

GNOME HIG: https://developer.gnome.org/hig/stable/
KDE HIG: https://community.kde.org/KDE_Visual_Design_Group/HIG

Electron-based apps tend to work the same on all desktops, but if you do want to know where to focus your efforts, I suggest making sure it works great on GNOME, since that is the default (or will be soon) for the two most popular and commercially-supported distributions (Ubuntu and Fedora) as well as for Debian.

@joshaber joshaber changed the title Github Desktop for Linux??? Github Desktop for Linux? May 17, 2017
@picandocodigo
Copy link
Contributor

@picandocodigo picandocodigo commented May 17, 2017

I got it working on my system! (Debian GNU/Linux 9) I have never used Electron before and have very little experience with Node, so it took some workarounds. You can check the work in progress in my fork. There's still lots of stuff to do but it works!
github-desktop

@prijindal
Copy link

@prijindal prijindal commented May 17, 2017

@picandocodigo
Works on Arch linux (4.9.27-1) with GNOME (3.24.2)

@lilianmoraru
Copy link

@lilianmoraru lilianmoraru commented May 17, 2017

People seem to report of it working.
Linux is open-source, one can easily test the app in a VM(and Travis is already set).
Seems just like an extended "thank you" to Linus Torvalds.

@z0al
Copy link
Contributor

@z0al z0al commented May 18, 2017

I'm a Ubuntu user and would love you contribute and test the Linux version. At least I can then remove the slow Win10 (VM) I currently use for contribution 😅

@prajapati-parth
Copy link

@prajapati-parth prajapati-parth commented May 18, 2017

For the packaging part, you should also consider appimages, snaps or flatpaks to support multiple distributions with a single package.

@ziggy42 VS Code is open sourced. We could use that for packing reference.

Electron-based apps tend to work the same on all desktops

@hanjiexi Agreed. Also GitKraken is an excellent example for this.

@ziggy42
Copy link
Contributor

@ziggy42 ziggy42 commented May 18, 2017

@prajapati-parth I'm fine with .deb and .rpm (I only use Ubuntu and Fedora so I'm covered 😄 ), but there are also examples using Appimages, like Microsoft BotFramework-Emulator.

Anyway, as long as you don't only ship debs, I'm fine 👌

@ankibalyan
Copy link

@ankibalyan ankibalyan commented May 18, 2017

I'm also a ubuntu user, would love to see github on linux, also I'd like to go from 0.1 stage itself for testing.

@gengjiawen
Copy link
Contributor

@gengjiawen gengjiawen commented May 18, 2017

I have use travis ci to build github linux client, anyone interested can give it a try. Binary download : https://github.com/gengjiawen/desktop/releases.

@joshaber joshaber changed the title Github Desktop for Linux? GitHub Desktop for Linux? May 18, 2017
@hron84
Copy link

@hron84 hron84 commented May 18, 2017

@gengjiawen the 0.5.4 release has no binary. What is the difference between alpha2 and final 0.5.4?

@hron84
Copy link

@hron84 hron84 commented May 19, 2017

Also, I wanna state here 0.5.4-alpha2 is works like a charm. I just downloaded yesterday, but can't wait to be GitHub officially on Linux.

@gengjiawen
Copy link
Contributor

@gengjiawen gengjiawen commented May 19, 2017

@hron84 Use the alpha version, since the linux version has not been fully tested. The 0.5.4 tag is not what i want, but github dont allow you to delete a tag release, just ignore it.
And also glad to hear it works.

@hron84
Copy link

@hron84 hron84 commented May 19, 2017

@gengjiawen OK, thanks for the reply. Random tips: ship an icon with deb-rpm files, and also add a Category field to the .desktop file. If you can point me to the linux build script, I can make you few modifications to ship better packages later.

@gengjiawen
Copy link
Contributor

@gengjiawen gengjiawen commented May 19, 2017

You can fork my repo and change it (branch ci_build). The config file is the root package.json. And if you want other linux distro, you can config this file too. I hope Github desktop team will consider switch to electron builder.Because with electron builder we can use travis ci and appveyor to build multi platform binary.
Have fun :)

@hron84
Copy link

@hron84 hron84 commented May 19, 2017

@gengjiawen next week i will check it out.

@hmtxz
Copy link
Author

@hmtxz hmtxz commented May 23, 2017

hope it will available in AUR too 😄

@ankibalyan
Copy link

@ankibalyan ankibalyan commented May 23, 2017

@gengjiawen tried 0.5.4 with source compilation, its working fine, will keep on testing.

@kleinen
Copy link

@kleinen kleinen commented May 23, 2017

Seems I am getting hung up on 2FA code entry when connecting to Github Enterprise. Works on Windows/Mac just fine, but Linux seems to never finish verifying the code. If anyone wants any data or info, let me know what you want me to gather (and how to get it since I am not experienced in the ways of Electron/Node).

@kleinen
Copy link

@kleinen kleinen commented May 23, 2017

I would also be a huge proponent for this feature as an enterprise customer that would like to have this for 300+ people. I've been working my account rep to see if they can help drive the priority of this. 👍

@lypborges
Copy link

@lypborges lypborges commented May 24, 2017

@picandocodigo I tried your fork last night. But didn't work. I think it's because I'm using node x64 arch or maybe I'm missing something.

 lypborges  ~/Develop/GitHub/desktop  master  npm start                                                ✓  1732  22:30:14 
npm WARN lifecycle The node binary used for scripts is /home/lypborges/.asdf/shims/node but npm is using /home/lypborges/.asdf/installs/nodejs/7.10.0/bin/node itself. Use the `--scripts-prepend-node-path` option to include the path for the node binary npm was executed with.

> @ start /home/lypborges/Develop/GitHub/desktop
> cross-env NODE_ENV=development node script/start

I dunno how to run on x64 :(

npm ERR! Linux 4.8.0-52-generic
npm ERR! argv "/home/lypborges/.asdf/installs/nodejs/7.10.0/bin/node" "/home/lypborges/.asdf/installs/nodejs/7.10.0/bin/npm" "start"
npm ERR! node v7.10.0
npm ERR! npm  v4.2.0
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ start: `cross-env NODE_ENV=development node script/start`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @ start script 'cross-env NODE_ENV=development node script/start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the  package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     cross-env NODE_ENV=development node script/start
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs 
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls 
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:

I'll keep trying, but If you have any tips. Tks 🚀 🐧

@shiftkey
Copy link
Member

@shiftkey shiftkey commented May 24, 2017

Seems I am getting hung up on 2FA code entry when connecting to Github Enterprise.

@kleinen this might be #1628 - could you confirm which version of GitHub Enterprise you are connecting to?

@Croydon
Copy link

@Croydon Croydon commented Jul 3, 2021

I agree @thevirajshelke.

Even if GitHub is not willing (yet) to say out loud "official Linux support for GitHub Desktop", it would be already great, if it would be clear if the team would accept pull requests with Linux specific fixes. If this is the case, we can create unofficially, community builds from the official source and that would be already a huge step forward.

@shiftkey
Copy link
Member

@shiftkey shiftkey commented Jul 6, 2021

Also, I am not sure if the forked version maintained by @shiftkey can be merged easily. Can we at least start by refactoring the existing fork so that at some point we can maybe merge it? I am not aware & maybe the fork is already designed and maintained in that way!

@thevirajshelke just to chime in on this from my side - the fork itself is designed as a series of commits that can be applied on top of development or any release branch. The current set of changes could do with a bit of reorganizing but it's relatively straightforward to cut a new release with these changes when the main project makes a new release available - the process is just a few Git commands.

Even if GitHub is not willing (yet) to say out loud "official Linux support for GitHub Desktop", it would be already great, if it would be clear if the team would accept pull requests with Linux specific fixes. If this is the case, we can create unofficially, community builds from the official source and that would be already a huge step forward.

@Croydon that's been the purpose of my fork for a while now, and I've been reviewing and accepting PRs for Linux-specific fixes and publishing updates from there too.

EDIT: while I was able to upstream some PRs last week that had been stable for a while on Linux (and were for features that exist on all platforms), I'd recommend contributing Linux-specific fixes into shiftkey/desktop first because I probably have the most context on Desktop + Linux things currently, and we can publish releases quicker while letting the core team focus on feature work.

Some examples of what's been landing in my fork recently:

  • fixes specific to using on Linux
  • packaging changes
  • tweaks to suit running in Linux window managers
  • support for additional editors and shells

@ipkpjersi
Copy link

@ipkpjersi ipkpjersi commented Jul 6, 2021

@shiftkey Do we know if your fork will ever be merged - completely - upstream and with actual Linux builds using at least basic Linux packages - even just deb and rpm or just AppImage?

I feel like, somehow, you're the only one using Linux at work (for GitHub) and because nobody else uses it, it's low priority and it may never end up with official first-party support with actual Linux builds. It feels like this issue is just gonna sit open forever. Nothing against you - of course, as your fork is amazing and we all appreciate your continued hard work on it. It would just be nice to see it actually all merged upstream with actual Linux builds available officially as part of the regular build process.

@ocdtrekkie
Copy link

@ocdtrekkie ocdtrekkie commented Jul 6, 2021

Also I added the repo method to my Linux box for updating the shiftkey fork and it always breaks my updates because it's perennially out of bandwidth. If anything else demonstrated high demand for this, that should.

@ocdtrekkie

This comment has been minimized.

@ipkpjersi

This comment has been minimized.

@ptomato
Copy link
Contributor

@ptomato ptomato commented Aug 27, 2021

Can you have this discussion elsewhere? This is an issue tracker, not a forum. There are 100+ people subscribed to this thread because we want to be notified if and when this Linux version happens, not because we want to debate conspiracy theories.

@greggwon

This comment has been minimized.

@AndreiCherniaev
Copy link

@AndreiCherniaev AndreiCherniaev commented Jun 14, 2022

Please make Github Desktop (official) available for linux user

@blooalien
Copy link

@blooalien blooalien commented Jun 15, 2022

Guess Microsoft don't ❤️ Linux after all…

@BEEDELLROKEJULIANLOCKHART
Copy link

@BEEDELLROKEJULIANLOCKHART BEEDELLROKEJULIANLOCKHART commented Jun 15, 2022

@blooalien and @AndreiCherniaev, please merely react to the original post to demonstrate your opinions, because many people are subscribed to this issue, and I doubt that such repetition positively impacts their mailboxes.

If you have not noticed, the original comment ("http://github.com/desktop/desktop/issues/1525#issue-229204348") states that the official response by Microsoft is that this is currently undesirable to them, so I additionally doubt that us pestering them shall cause anything but Microsoft locking the issue, which would prevent useful discussion.

@Mesum-Hussain
Copy link

@Mesum-Hussain Mesum-Hussain commented Aug 4, 2022

@blooalien and @AndreiCherniaev, please merely react to the original post to demonstrate your opinions, because many people are subscribed to this issue, and I doubt that such repetition positively impacts their mailboxes.

If you have not noticed, the original comment ("http://github.com/desktop/desktop/issues/1525#issue-229204348") states that the official response by Microsoft is that this is currently undesirable to them, so I additionally doubt that us pestering them shall cause anything but Microsoft locking the issue, which would prevent useful discussion.

This comment is very much on topic, read it completely to understand this claim.

They clearly said that it is undesirable to them to port this GitHub Desktop Electron app to Linux (for no apparent reason other than just their wish to not support Linux), Even though technically they could have supported Linux even from the very start.

Do you really think there is any scope of any sort of useful discussion over here?
There is no technical barrier to solving this issue, solving it is as easy as just deciding to support Linux (so technical discussions brainstorming the solution can't be expected over here because there is no scope).
Personally I think the comments which are trying to convince the maintainers in whichever way to support Linux, are the only useful discussion which we can technically have over here. If anybody doesn't want that, then it absolutely doesn't make sense to be subscribed to this thread for any sort of discussion, because it's only going to be that.

If you ask me, I would say there is almost zero probability that this thread would give any fruitful result anytime in the future considering the fact that the technology to solve this issue has always existed and very easy to integrate in the project (and Microsoft has already done it previously with apps like VS Code and MS Teams) but this issue is still pending even after 5 years, and they are clearly saying that they don't intend to port it no matter what we the users want or say or do (which is clearly a case of discrimination against the Linux community for no apparent reason and nothing else).

This thread is probably just an outlet for the Linux community to do away with their grudges, anger and frustrations as comments over here.
And if it's not what you want, then it's better for you to unsubscribe this thread.
You would only be disappointed if you expect anything else and keep being subscribed to this thread.

I personally don't see any purpose of this thread other than that.
Would actually appreciate if somebody points out any other purpose.

Edit: I would find it more useful if people give a rational reason for the existence of this thread other than what I claim, instead of just disliking my comment.
I personally request @ptomato to do it because he seems to strongly oppose such comments and is a contributor himself.

"To get notified if and when Microsoft decides to support Linux"

Is not an acceptable answer.
If that was the purpose, then the comments should be turned off..... But they are not turned off, so clearly the discussion is intended.
And I really don't see what kind of discussion can be expected over here except for the Linux users doing away with their frustration as a comment, because there is literally no scope for any other kind of discussion here.

@NatoBoram
Copy link

@NatoBoram NatoBoram commented Aug 4, 2022

Edit: I would find it more useful if people give a rational reason for the existence of this thread other than what I claim, instead of just disliking my comment.

*👎*

If that was the purpose, then the comments should be turned off... But they are not turned off, so clearly the discussion is intended.

I feel like your input was unnecessary from start to finish. But to refute your conjecture; it doesn't matter if you are unable to produce useful discussion because the world does not revolve around you. Please kindly stop harassing the hundreds or people subscribed to this issue with unfounded accusations and stop dismissing the very legitimate reasons for subscribing here.

@BEEDELLROKEJULIANLOCKHART
Copy link

@BEEDELLROKEJULIANLOCKHART BEEDELLROKEJULIANLOCKHART commented Aug 5, 2022

For those similar to @NatoBoram and I, please know that you are able to customize your preferences so that you are notified solely if this issue is opened or closed at beside the subscription-bell, as this depicts, and “Unwatching repositories” of the relevant documentation describes.

However, to support what @NatoBoram has stated, please know, @Mesum-Hussain, that if you are able to provide any relevant and useful information that might bring this issue as close to remediation as is possible without official intervention, I shall be grateful for the input. However, your comment was merely more verbose phrasal of the previous commentary: that you are upset that Microsoft has not supported Linux. I am, too. I am additionally upset that I may gain 5 additional messages via e-mail for this as response that I must triage with all else that I receive.

@Mesum-Hussain
Copy link

@Mesum-Hussain Mesum-Hussain commented Aug 5, 2022

For those similar to @NatoBoram and I, please know that you are able to customize your preferences so that you are notified solely if this issue is opened or closed at beside the subscription-bell, as this depicts, and “Unwatching repositories” of the relevant documentation describes.

However, to support what @NatoBoram has stated, please know, @Mesum-Hussain, that if you are able to provide any relevant and useful information that might bring this issue as close to remediation as is possible without official intervention, I shall be grateful for the input. However, your comment was merely more verbose phrasal of the previous commentary: that you are upset that Microsoft has not supported Linux. I am, too. I am additionally upset that I may gain 5 additional messages via e-mail for this as response that I must triage with all else that I receive.

I understand that it was too long.
And I am not trying to express that I am upset.

In a crux, I am saying that Microsoft decided to discriminate against Linux for no apparent reason, and the only possible discussion that can happen in this thread is that people try to convince them not to discriminate. There is no scope of any other kind of discussion here, and people who don't like it this way should just unsubscribe this thread for their own good.

There's literally no point of this thread if people are discouraged from trying to convince Microsoft with their comments.

@alexanderadam
Copy link
Contributor

@alexanderadam alexanderadam commented Aug 6, 2022

And for those who don't want to spam around with strange lies like

They clearly said that it is undesirable to them to port this GitHub Desktop Electron app to Linux (for no apparent reason other than just their wish to not support Linux), Even though technically they could have supported Linux even from the very start.

keep in mind that GitHub employee Brendan Forster still provides up to date Linux builds that Linux users like me are using since ages.
Brendan also creates PRs for Linux support to the main repo.

The Linux builds are working perfectly fine and I never had any issues.
The last release is four days old and you'll find Debian packages, RPM and an AppImage over there.
And if you're using a modern package manager like Flatpak, you'll find a package on Flathub too.
So a simple flatpak install flathub io.github.shiftey.Desktop will do and you will have it installed and getting updates along with your other flatpaks.

Therefore implying that GitHub Desktop has no Linux builds would be just plain wrong and I would question your reading skills if you seriously believe that GitHub Desktop isn't available on Linux.

There's also this very relevant Readme in the repo and Brendan also wrote about all the reasoning why this issue is still open here and here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement linux
Projects
None yet
Development

No branches or pull requests