loading...
Cover image for Using GoLand on Fedora Silverblue

Using GoLand on Fedora Silverblue

maxwellk profile image Keith Maxwell ・4 min read

I could find very little information online about running JetBrains GoLand on Fedora Silverblue. I hope this post will change that. I have tested the instructions below with the latest version, 2020.1released yesterday — and the previous version 2019.3.4 both on Fedora Silverblue 30.

Using Fedora Silverblue as a desktop operating system means that “every installation is identical to every other installation of the same version”. I am a very happy Fedora Silverblue user; last year I gave a talk explaining why.

Why GoLand?

I normally try to use open source rather than proprietary software wherever possible. I am a long term vim user. Saying that, I also actively try to stay open minded about technology. In the end, I decided to try out GoLand because:

  • it was widely endorsed at Belfast Gophers
  • a lot of people I respect from SoCraTes UK are JetBrains fans
  • a recent coding test / interview involved pairing with a developer using another JetBrains product; a bit of exposure to JetBrains can only help in that sort of situation
  • I've already got a licence, from a Legacy Code Retreat event in 2019; the first year of a GoLand licence normally costs £149.00.

Installation process

On Fedora Silverblue the root filesystem is immutable although certain mutable directories are made available from /var. On another system I would install into /opt, to follow the Filesystem Hierarchy Standard. On Fedora Silverblue /opt is a symbolic link to /var/opt so I'll install there. I also add a link to the PATH; /usr/local/bin is writable via /var/usrlocal which is mounted at /usr/local.

version=2020.1
sudo mkdir /var/opt/goland
cd /var/opt/goland
sudo chown "$LOGNAME:$LOGNAME" .
curl -OL https://download.jetbrains.com/go/goland-$version.tar.gz
curl -O https://download.jetbrains.com/go/goland-$version.tar.gz.sha256
sha256sum -c goland-$version.tar.gz.sha256
tar xf goland-$version.tar.gz
cd GoLand-$version/bin
sudo ln -s "$PWD/goland.sh" /var/usrlocal/bin

Alt-F2 then goland.sh⏎ should start GoLand!

Next up activate your licence. Then use the UI to download an SDK ( File → Settings → GOROOT ); this happens in the background. I chose 1.13.8 to match the current version in Alpine Linux edge. After that I was all set; I started working through “The Hitchhiker's Guide to GoLand”.

Debugging

If you have an issue it might help to see messages printed to a terminal; instead at the same terminal as above try: ./goland.sh⏎. At first I was connected via SSH without $DISPLAY set properly.

Why did this need a blog post?

Fedora Silverblue is an immutable desktop operating system. The recommended methods for running GUI software include Flatpaks and or other containers using toolbox or even Podman directly. It is also possible to layer or install traditionally packaged applications with rpm-ostree but that introduces differences between one system and the next.

My early research didn't show a straight forward answer. The possibilities I came across included: an unofficial container, the official snap that JetBrains publish or even using an AppImage. No Flatpak is available. Snaps are more common on Ubuntu, on Fedora Silverblue the background service would have to be installed first: either inside a container or as a layer with rpm-ostree.

I should probably have jumped into trying this out practically more quickly. The JetBrains installation guide doesn't give much detail about this approach, but the files are clearly linked from the JetBrains Linux download page.

This isn't the perfect installation method but a set of compromises; one disadvantage is that it doesn't provide a launcher. While I knew there would be compromises, I wanted to:

  1. Avoid changing the base Fedora Silverblue system with rpm-ostree
  2. Avoid a complicated setup that includes manually installed dependencies
  3. Use a supported, official method

In the end I didn't have to compromise on these three points. The process of writing out and ordering the potential compromises for someone else to follow helped me to prioritise the order in which I investigated options.


Installing GoLand under Fedora Silverblue was easier than I expected. I wonder what other surprises I will find now I have GoLand up and running.

Discussion

pic
Editor guide
Collapse
art_spb profile image
Artem Khvastunov

Hey, nice article! A little correction: GoLand costs only £89.00 for the first year. £149.00 is the price of the All products pack that includes IntelliJ IDEA, GoLand, and other IDEs.

Collapse
maxwellk profile image
Keith Maxwell Author

Thanks! Have you got a link to the £89.00 price please? Happy to add the correct figure if you can show me where it is advertised. Is it maybe £69.00 that you are thinking of?

I checked again and I see different prices, I didn't realise there are separate prices for organisations and individuals.

jetbrains.com/go/buy/#commercial?b...

Collapse
art_spb profile image
Artem Khvastunov

Yes, you're right. It costs £69.00 for personal use but $89.00 or €89.00. There are too many numbers do deal with, indeed :)

jetbrains.com/go/buy/#personal?bil...

Collapse
barelyhuman profile image
Reaper

He made an account to correct that 😂
Be careful with your facts people!!

Collapse
art_spb profile image
Artem Khvastunov

Not that it was any difficult :)

Thread Thread
barelyhuman profile image
Reaper

Well, Ben worked really hard to make it that way