Beware installing Roon on Ubuntu

That’s what I installed. I wonder what’s the ratio of Server/Desktop installations that are used for Roon but something tells me that Desktop prevails. Server doesn’t install a GUI by default. And I doubt that people who run real servers install Roon that runs as root on them.

The fix is straightforward when you know the diagnosis. I spent a lot of time trying to understand what was going on. I still don’t understand how anything run as sudo (the sudo!) can’t write something to /tmp. Is there anything above sudo? Why can’t we run scripts as that something? I am a noob in Linux but I haven’t seen an explanation. So, you run the script as sudo and curl can’t write. I didn’t know anything about Snap. I bet you didn’t know about the cursed Snap curl either. And I still don’t know how I got the Snap curl on my machine. Maybe it was one of the apps I tried installing with Snap but I thought I tried only the GUI ones and I uninstalled them afterwards. Getting that “straightforward fix” was not easy.

I am glad you finally got this part. With wget all of this would be moot. So, why not simplify life for noobs and support and use wget which does exactly the same thing without any potential troubles?

Speaking of noobs. In Roon Software Discussion there is a subforum “Linux”, there is “Android”. There is no subforum “Windows”. This tells a lot. This situation wouldn’t have existed on Windows. When writing code for the masses foolproofing is very important.

1 Like

As a noob I would have followed the suggestions given by Ubuntu Desktop and used snap to install curl. It’s probably not installed automagically as I thought before.
Then you have to search the internet why curl fails, uninstall curl and reinstall curl, which is not a straightforward process. If this process could be made easier I’m all for it. (or at least instructions added/updated to the FAQ)

Installing Roon on Linux talks about a recent Ubuntu 15.10 and doesn’t mention curl as a prerequisite.

1 Like

Snaps are virtualized sandboxes. If the snap is using “strict” confinement, it allows access outside of the sandbox only to the resources that were explicitly allowed in the snap configuration, whether the user is root or not. IOW just because you are root doesn’t mean you aren’t confined into the sandbox. I some ways this is similar to being root inside a VMplayer VM, you can’t get out of that either.

https://ubuntu.com/blog/demystifying-snap-confinement

1 Like

I would think that the majority of users running Roon on Linux do so on a dedicated machine. And if you know only a little bit your way around Linux, why would you need a GUI for that? For the last three years, my Roon core has run on a dedicated headless Ubuntu server box, and I think that this is the way to do it if you decide against Windows and for Linux.

I can remember having installed curl originally on Ubuntu 18.04 server, knowing nothing about snap, but following Roon’s installation instructions and therefore using apt install. But, of course, using wget would avoid this installation step altogether, and therefore I can see why this may in fact be preferable. For the simple https download of the Roon software installation package I can’t see any advantage curl may have over the default Linux tool which is wget.

1 Like

I think dedicated cores are most likely run on server. However, bridge if often added to desktop when used with Roon GUI under Wine or Bottles.

I do, and one of the first things I do on my installations is remove snapd. However, I was surprised that /tmp was restricted, too, especially as this folder has a sticky bit.

You grew up with Windows, you learned it. You just haven’t learned Linux.

Which is why I made mu comment, as I can see this being a problem.

If this is the case system tools like curl should not be allowed in Snap. curl should be able to write anywhere, at least in /tmp . As I linked earlier the Sanp curl developer tried to get better permissions but was denied. He should have removed curl from Snap altogether.

That’s exactly why people need a GUI! People who know nothing about computers use Windows, MacOS, iOS, Android etc. via a GUI.

There are many silly things right now but it is going to get better with Snap, probably. Currently, there are way too many rough edges. The way updates work is a joke. With the Firefox snap (which is the default) in Ubuntu 22.10 along with a bunch of other snap apps like Signal, you get cryptic and factually incorrect “close the app so that Snap can update” messages all the time.

All of the last 30 years were “Linux on the Desktop” years for me, but 3 weeks ago I gave up and switched to all Apple …

3 Likes

I grew up with Windows and if I remember right Solaris flavor of Unix. I used to use pine to check my email in the 90th and did some calculations while connected to the mainframe. After some experience with the early Linux I didn’t need it after that. But the issue here is not about Linux. It’s about Snap and there is a workaround with wget.

He may well have users who wanted the snap, it can be useful I guess. Note that users can override a strict confinement on installation (see the link to the Snapcraft page above), just the default of strict sucks. I don’t get the argument by the snap devs on the page you linked either. They may have their reasons why “the requirement to write to arbitrary locations on the file-system is not sufficient for granting classic confinement override for a snap”, but they are making an IMHO terrible job of explaining it.

1 Like

wget is GNU/Linux, but OS X uses cURL instead. My guess is whoever wrote the install script was more familiar with the OS X flavor of Unix.

2 Likes

With all this discussion, the Roon website could have been updated already, with tweaked scripts for the major versions of Ubuntu.

I suspect most people run Ubuntu server 22.04/22.10, Ubuntu desktop 22.04/22.10.

2 Likes

I installed Ubuntu 21.10 desktop tonight.
These instructions worked perfectly.

In addition I ran the following Firewall instructions:

sudo ufw allow 9330:9339/tcp
sudo ufw allow 9100:9200/tcp
sudo ufw allow 9003/udp
sudo ufw allow ‘insert port number for ARC’

If you need ssh access
sudo ufw allow 22

Hi All,

Thanks for the feedback here. I brought up this behavior with the team and we agree that there is room for improvement with the Linux installer script. We’ve put a ticket in the dev team’s queue to update the script, thanks again for letting us know!

4 Likes

3 posts were split to a new topic: Sharing Local Music Folder Over SMB

Hello everyone,

I just checked on the status of the ticket and it looks like the switch has been completed, the Linux Roon Core installer should now be using wget. If you run into any further issues with the Linux install, please do let us know, thanks!

2 Likes

Did you mean wget? It uses curl now and that’s the problem.

1 Like

Just had a look at the Linux install script, and it has been updated to use wget instead of curl. So all is well…

Thanks for the heads up @G_P .
Yes, you are correct, I have changed my post to reflect that.

1 Like

Just want to chime in that running a pretty vanilla Ubuntu 22.04.3 the RoonBridge installer resulted in the following error message…

./roonbridge-installer-linuxx64.sh: line 187: curl: command not found

But simply running…

$ sudo apt install curl

…fixed everything. Installer worked perfectly.