What powers Files' Samba share and Remote Desktop in Zorin?

I'm trying to replicate two features from Zorin on Ubuntu, and I would really appreciate some help figuring out what they are.

Samba share on Files

I love that Zorin OS makes it super easy to share a folder on the network in the context menu.

I know how to do it the manual way, but what method is used to add this GUI?

Remote Desktop that allows VNC
Ubuntu also has built-in remote desktop support, but I found it doesn't support the legacy (VNC) protocol, so I can't connect to it from a Mac without third-party tools.

On the other hand, Zorin has something different that allows legacy/VNC protocol, and it works really well out of the box.

What is used for this?

I ran apt list --installed but it's too long to figure out what exactly powers these two features. Hopefully, someone already knows about them. :smiley:

Nautilus (the file manager, "Files") implements this functionality through a package extension called nautilus-share. You can probably install it for Ubuntu as well.

I'm not sure about RPC, but I don' think that's something that Nautilus provides, and is integrated with the gnome shell.

You can pipe the output of a command to another to do things like:

apt list -i | grep nautilus

grep will search for the text provided in the output of the apt list -i command (-i is shorthand for --installed):

gir1.2-nautilus-3.0/jammy-updates,now 1:42.6-0ubuntu1 amd64 [installed,automatic]
libnautilus-extension1a/jammy-updates,now 1:42.6-0ubuntu1 amd64 [installed,automatic]
nautilus-data/jammy-updates,jammy-updates,now 1:42.6-0ubuntu1 all [installed,automatic]
nautilus-extension-brasero/jammy,now 3.12.3-1 amd64 [installed,automatic]
nautilus-extension-gnome-terminal/jammy,now 3.44.0-1ubuntu1 amd64 [installed,automatic]
nautilus-sendto/jammy,now 3.8.6-4 amd64 [installed,automatic]
nautilus-share/jammy,now 0.7.3-2ubuntu6 amd64 [installed,automatic]
nautilus/jammy-updates,now 1:42.6-0ubuntu1 amd64 [installed,automatic]
python3-nautilus/jammy,now 1.2.3-3.1build1 amd64 [installed,automatic]
2 Likes

Thanks! I'll try this and see if it shows up on Ubuntu.

I'm not sure about RPC, but I don' think that's something that Nautilus provides, and is integrated with the gnome shell.

Ubuntu also has a remote desktop setting, but it only uses RDP protocol. I tried looking for something that starts with remote :stuck_out_tongue: but didn't figure out what package is enabling VNC features in Zorin. (The remote desktop settings is also different with different options compared to what's on vanilla Ubuntu -- which might be coming from default Gnome shell?)

@zenzen comes in clutch once again with the commands!

i will be replacing that with apt list -i. thank you sir :heart:

i believe zenzen was sent from mars to bless us all with linux knowledge.

5 Likes

After typing that kind of command many times you start looking for shortcuts everywhere :smiley:

I see that on Zorin OS there's libvncserver installed. Maybe that enables the extra options in the remote desktops settings once Gnome detects it's installed?

I'll try installing libvncserver and report back. Hopefully, that's it!

As far as I can remember, Zorin has always included the cross-platform remote desktop application Remmina. It is what I used to access a shared drive on a works server when I was working from home. Before implementing Remmina, I would have to go into VM of Windows, put the secure website into Edge then login 3 times to get where I wanted to be ... just once in Remmina!

I believe Remmina is a client that's used for remote desktoping into other desktops. I'm mainly looking for what's used on the server side (libvncserver sounds like it might be it).

Okay, so I installed nautilus-sharing which added a (slightly different worded) context menu, Sharing Options. However, I can't share a folder using it. It throws the following error:

'net userhsare' returned error 255:net usershare: cannot open usershare directory /var/lib/samba/usershares.
Error Permission Denied
You do not have permission to create a usershare. Ask your administrator to grant you permissions to create a share. 

Slightly annoying since it works without any special privileges on Zorin OS.

Also, libvncserver couldn't be found when I tried sudo apt install libvncserver. Do I need to add any Zorin-specific repository first?

I guess this could be an issue with the permissions. Try:

sudo usermod -aG sambashare $USER

You might need to log out, and log back in. And see if that works.

I don't think so, the one from the Ubuntu repos should work fine (especially if you are already on Ubuntu 24.04). It's possible something else needs to be enabled somewhere to make this setting available...

1 Like

See if NFS works better for you.

I've never had any luck with the Folder Sharing feature in Zorin 17.3 to share a folder with macOS. I've had to install Samba and configure it separately for this to work. I just assumed that Folder Sharing was only designed to work with other Zorin PCs or even Ubuntu but I don't have a second Linux PC to check.

I've also got legacy VNC ticked in Remote Desktop but I've never got the vnc:// link to work from macOS. Again, I've had to use a third-party VNC client to be able to remote to my Zorin OS PC, and I assumed this was limited to remoting from another Linux PC.

It would be nice if both of those supported macOS out of the box in a future version of Zorin OS.

For remote login, Remmina comes by dedault. I did have documentation on Tight-VNC which an Advisory Teacher wrote documentation for for Mac and Windows. Tight VNC is open source.

I'm actually having trouble with Samba as well (tried on both Ubuntu and Zorin OS, so I'm sure it's something I'm doing wrong). I tried accessing the shared folder (shared by Samba) from both macOS and another Linux laptop (Fedora), and both times I can see the folders listed in the network, but I can't actually see what's inside.

I actually got it to work with Mac's built-in (Finder -> Cmd + K) screen sharing. I can't get it to work on an Ubuntu machine, but on Zorin OS, it works, which is why I was looking for what powers this in the first place. :smiley:

I managed to resolve the remote desktop issue separately but I'm still trying to solve the issue of accessing folders shared by Nautilus on Zorin OS with my Macbook Pro. I can see the machine and the shared folder but as soon as I try to open the folder, I get an error and the Finder window closes.

I suspect this is due to authentication since it works as guest, but I can't find any Samba authentication options anywhere in Zorin OS, and nothing obvious I can see in Software. Nor in the package repository:

$ sudo apt-get install system-config-samba
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package system-config-samba

Anybody know where the Samba configuration panel is?

Having used Plasma I find NFS more manageable than Samba. One of the key things with networking is that you are in the same workgroup. You should also check permission properties of your folders. Vaguely remember you may need to enter IP address and password for folder if setup that way. Another essential package for Samba is CIFS.

Check the errors on MacOS to see why it crashed Finder. I'm guessing the SMB version that is trying to negotiate doesn't match, or something around those lines.

It is the same error mentioned in this post. Unfortunately the post that the linked reply points to is gone now so I don't know what the solution that worked "...around some limitation with Nautilus" actually was. If someone here happens to know then maybe that might solve the problem for me.

I'm fairly sure it has to do with setting authentication and there's usually a Samba panel somewhere that this is configured but I can't find it, even as Gnome extension.

Is not so much a limitation but an implementation detail that while helpful in some cases, it can be confusing to work around sometimes.

Try these steps:

  1. Install samba and nautilus-share.

    sudo apt install samba nautilus-share
    
  2. Enable the smb service:

    sudo systemctl enable smb
    
  3. Optionally, create a dedicated user account:

    sudo useradd -M <username>
    
  4. Add your user to the smb database.

    sudo smbpasswd -a <username>
    

If this doesn't work, then we can just go ahead and setup the server without Nautilus, and that should work.

But I still think that we should look at the actual logs from the Macbook, they may have some relevant information.

For reference:

1 Like

THIS was the missing step. I had Samba already installed so the first two steps weren't needed, and I skipped the third but it was the fact that a password hadn't been set that was causing the issues. I assumed that Samba would be using the password of the user creating the share in Nautilus which seems reasonable if you're coming from the Windows or macOS world. :slight_smile:

Anyway, fixed now. Thanks!

2 Likes