The default File Sharing and Media Sharing experience in 18.04

Ubuntu should provide an easy way to share, out of the box.

At the moment, in 18.04 in GNOME Settings > Sharing, the only thing that can be done out of the box is to change the computer name.

So, out of the box, in Sharing there is no option to share something.

File Sharing - WebDAV

The default File Sharing is done via WebDAV and is shares a user’s the Public directory.
It requires apache2 and libapache2-mod-dnssd but they are not installed by default.

I suggest to include apache2 and libapache2-mod-dnssd in the installation media in order for WebDAV to work.

Media Sharing - DLNA

The DLNA server is rygel (rygel-preferences is not needed). If it is installed, it shows up in Settings > Sharing as Media Sharing.

The DLNA client for videos is GNOME Videos (or your TV) but it requires grilo-plugins-0.3-extra to be installed and by default it’s not.
After installing it, if there is a DLNA server on the network, it will appear in GNOME Videos in the Channels tab.
Rhythmbox can play music from DLNA if grilo-plugins are installed and if the Grilo media browser Rhythmbox plugin is enabled. The DLNA server shows in the left sidebar (maybe you need to click on the + sign and click on Check for new devices).

I suggest to include rygel and grilo-plugins in the installation media in order for Media Sharing to work. I also suggest enabling the Rhythmbox Grilo media browser by default.

Sharing

With WebDAV a user can easily share the files from the Public directory and with DLNA they could also share their Videos directory (or any other media directory).

Windows file sharing - Samba

There is an ongoing discussion about it, but if Samba is installed, it should show up in Settings > Sharing.
At the moment, it does not.
I think Samba should be removed from Nautilus from the directory properties (Local network share) and also from the right click menu (Local network share).
It is not the default way of sharing files (WebDAV is) so it does not belong in Nautilus.

5 Likes

Isn’t that really an upstream decision?

Personally I don’t think it’s troublesome for a user to figure out how file sharing works in Gnome. The Gnome Help is extremely useful. :wink: and offers the various ways to do so.

Surely we expect a user to start there, right?

Well, I think all sharing protocols and directories should be centralized in Settings > Sharing.
WebDAV and DLNA are already there.

I was looking at Media Sharing and I think Samba should have a similar interface.

1 Like

I see a few bug reports here (X should pull in Y but doesn’t, A is not configured for popular use case B, M and N are not integrated with Gnome Settings).

Example: “all sharing protocols and directories should be centralized in Settings > Sharing” is about coordination between those projects, and perhaps about several bug reports. It seems to have nothing to do with making the service available “by-default”.

There are boatloads of “this-or-that service should be included by default” ideas floating out there. Often, the service is available to install in mere seconds on-demand, meaning it’s in the Software Center or apt-click.

Please elaborate on why these on-demand services should be upgraded to by-default. You seem to be asking the Ubuntu Desktop Team to take on quite a bit of work. What’s the benefit?

Or, instead, are you asking for help defining a way forward on the integration you seek? Personally, I think such integration should happen, but I suspect you are more likely to make it happen with a volunteer project instead of (essentially) asking Canonical folks to adopt the issue.

2 Likes

I have listed all issues related to sharing in one topic, to have better view of the entire situation.
Some are bug reports and some are suggestions for improvement. I think we need to discuss them in one place.

At the moment, in the daily CD image of Bionic, the Sharing entry in Settings is pointless.
There’s no option to share something.

In Artful (I know we are talking about Bionic here) there is an option to enable File Sharing.
You flip the switch and it shows that sharing the Public directory is enabled.
But it is not working.

I looked in the logs and found out that apache2 and libapache2-mod-dnssd were missing.
Enabling the service from Settings did not trigger the installation of the required packages.

For WebDAV and DLNA which are already integrated in Sharing, I can see 2 options:

  1. The packages are present in the installation media. Enabling them from Sharing just starts the servers.
  2. The packages are not installed by default. Enabling them from Sharing downloads the missing packages and starts the server.

My opinion is to go with option 1.
Local network sharing should not require Internet access first to download the dependencies.
Again, this is just my opinion.

To have a great out of the box experience (it’s 2018) the GNOME Videos and Rhythmbox plugins for DLNA should be enabled by default or at least should be featured prominently to make users aware of their existence.

I don’t think that there are many users who know that they can easily watch videos and listen to music located on the local network using the default applications: GNOME Videos and Rhythmbox.

These are all very easy to fix and would make Ubuntu better.

Regarding SMB

I think it should be kept optional, with the packages not installed by default.
I also think that if Samba is not installed, it should be removed from Nautilus folder properties and from the right click menu.
So it should show up only after samba is installed.
Eventually, it could be integrated in Sharing and removed entirely from Nautilus.

Not all Ubuntu users are Linux sysadmins like we are and here’s what’s going to happen:

Because Samba is located in a place where a non technical user would look fist (right click menu) most non-technical users will enable File Sharing from there and they will install SMB (which does not work properly) instead of WebDAV.
They will end up with a half broken File Sharing.

They probably won’t look in Sharing, but if they do, they will think “File sharing works even if in Sharing it says it is not enabled”.
There is no clear distinction between sharing from Nautilus right click menu or folder properties (SMB) and sharing from Settings > Sharing (WebDAV). They even have the same name (Sharing) with no mention of the protocol being used.

Some users would probably just want to share their Public folder which is used by WebDAV but they will do it from the right click menu and will share it with SMB. After that, they could also enable WebDAV from Sharing.

We should have only one default way of sharing files otherwise it’s confusing.

3 Likes

This topic is partially a duplicate of https://community.ubuntu.com/t/nautilus-share-fixing-or-removing/3763

Yes, but we should continue the discussion about Nautilus sharing only in its dedicated topic.
I won’t be posting anything about that here.

Just adding my personal opinion here and not committing to anything:

IMO, WebDAV is less useful. I understand that it gives easy integration options with many other platforms but in my limited experience of playing with it, it was a bit tricky.

This idea I like a lot, and I like the idea of shipping Rhythmbox already enabled for DLNA - sounds like it could give a nice level of out-of-the-box integration with other DLNA servers on the user’s network. I also believe that a fair number of home users run Ubuntu Desktop as their home server, and so having some GUI for setting up what gets shared is appealing.

I’m going to bring this up with the team next time we get together and see what other people think. Could be something we look in to in 18.10 and beyond, equally it might not be as simple as it sounds in my head, so no promises.

8 Likes

I am always looking ways to play my Ubuntu laptop’s media in VLC for Android. No luck so far. Trying Kodi for now. Their UI and UX is terrible though ( unless you use a remote ).

1 Like

I am a bit late to the party but …

I could not agree more strongly with dataa. Some form of working resource sharing should be provided ‘out of the gate/box’ with any modern desktop operating system. Providing a message box that says “Sharing services are not installed” just does not cut it. I further agree that these options should not appear in either Caja or Nautilus unless sharing a sharing protocol is installed and working.

I am not familiar with WDAV but getting SAMBA to actually work in Linux is a bloody nightmare. To begin with there is the “system-config-samba” bug of the missing file “/etc/libuser.conf” that was reported years ago and never addressed. The alternatives that I can find are Swat, GAmin SAMBA or editing the configuration files manually with ‘root’ authority. All of the above involve way more detail than the casual is interested in or likely to be totally familiar with. As an example of how COMPLEX this task, is just reference the number of tutorials and help files that exist on the subject. Add to that most are out of date or miss seemingly minor details that are CRITICAL.

There are other alternatives as well (i.e. NTFS and FTP). I really do not have a preference but there should be a default that works and is easy to get working. This is where Microsoft is years, if not decades, ahead of of Linux. They make the minimal installation of a desktop OS fast, simple and reliable for the casual users. The same can not be said for any flavor of Linux I have ever tasted.

@lewtwo, nautilus-share is included in Ubuntu, which allows you to create SMB shares through Nautilus (Files), without touching any config files.

The one caveat with that though is there is no longer any password syncing so you still need to set a samba password for the user using smbpasswd if you want to create protected shares.

1 Like

I only have room for a finite number of VMs. I blew away the Ubuntu image and installed Ubuntu-Mate 18.X beta 2. It is 25 April so I am not going to build a new Ubuntu image to test that theory until after the release on the 26th. Then I will test that theory as well as try to load the Mate Desktop on that without it hanging up (I abhor Ubuntu’s Microsoft like UI).

One curious thing I noted in Ubuntu-Mate beta is that the machine did not show up on my network … until I created a wins server on the LAN.

definitely don’t remove the samba sharing integrated into nautilus as @dalaa suggests! i agree it should be added to the sharing settings pane (the output of net usershare info, which shows in one place everything that’s being shared) is sorely needed, and that would be a good place for it. but the discoverability of how to share something over the network in nautilus is critical! it can be both. it is definitely not a good idea to require that to share something, you have to go somewhere else to talk about it, rather than operating on it directly.

the interoperability with other OS’s is critical – i use it to move files between heterogeneous machines all the time. it’s really hard for me to fathom that people in this thread are wondering whether people do this a lot.

i’m curious why @dalaa says webdav is default? as far as i know, it only shows up when you install gnome-user-share, and then it can only share one predetermined folder (~/Public/). how is that default, compared to nautilus-share (samba) which is installed by default and can share anything? in any case, again, it doesn’t have to be one or the other, it can be both. why not have both interfaces initiate both protocols? that way, clients will have more chances of easily connecting with what they already have or are familiar with.

the samba password thing is in urgent need of fixing – i just spent all day trying to figure this out, that’s how i wound up here. an easy fix is that when someone unchecks the guest box, just check whether the current known users are in sync with samba. if not, launch a dialog asking for their password explaining that it’s required to set up password protected sharing, and that clients should connect with their usernames/passwords on the system. if they agree, it automatically executes “sudo smbpasswd -a username” for all known users. i guess from then on a service will have to continuously run to make sure that account changes from the UI or CLI are kept in sync with the samba users. i don’t know linux well enough yet to know its general approach to keeping UI and text config files in sync, that seems to be the core of the issue.