Nautilus-Share-Message: Called "net usershare info" but it failed
When I run Nautilus from command line, it starts successfully but this appears in the terminal:
Nautilus-Share-Message: Called "net usershare info" but it failed: 'net usershare' returned error 255: mkdir failed on directory /var/run/samba/msg.lock: Permission denied
net usershare: cannot open usershare directory /var/lib/samba/usershares. Error No such file or directory
Please ask your system administrator to enable user sharing.
Should I really ask my system administrator to enable user sharing?
My administrator is myself, and I don't use Samba.
Is this message the sign of bigger problems with my Ubuntu?
If not, how can I prevent it from appearing? (Nautilus is launched by a program I am beta-testing but can't modify, and the present problem makes this program's errors less visible in the terminal)
Nautilus uses the net usershare info
command to get information about non-root user defined Samba shares. See the net manpage for more about this command.
If that command fails Nautilus assumes there are no such shares and displays the error message it got just in case you want it.
Creating the folder /var/lib/samba/usershares/
should prevent the message from appearing:
sudo mkdir -p /var/lib/samba/usershares/
I've done these two things to correct this:
sudo mkdir -p /var/lib/samba/usershares/
and
sudo chmod go+rwx /var/lib/samba/usershares/
Another easier solution - Add your user into the group sambashare:
sudo usermod -aG sambashare $USER
I had a similar error on Ubuntu 20.04 and this was the way to solve it:
Remove all samba related files and configuration files
sudo apt purge python3-samba samba-common samba-common-bin samba-dsdb-modules samba samba-vfs-modules smbclient
Optionally you can remove the packages and maintain the configuration files, but this could left wrong files in the middle. It's better to do a backup of your configuration files. Anyway, if you want to try it, use remove
instead of purge
.
Reboot
Not sure if it's completely necessary, but I do it this way.
Share files
Open Nautilus and share a file or directory. A warning is showed indicating the sharing service is not installed and allowing you to click to install it. Click, install and you're done!
The nautilus-share package creates the /var/lib/samba/usershares/
directory with the right permissions and added your user to sambashare
group, and it's ready to be used by other users too.
In my case, didn't have samba installed so I had to install samba and then create the folder.
sudo apt install samba
sudo mkdir -p /var/lib/samba/usershares/
Prior to this had to install tracker because nautilus wasn't even running
(nautilus:26810): Tracker-ERROR **: 12:23:35.259: Unable to find default domain ontology rule /usr/share/tracker/domain-ontologies/default.rule
sudo apt install tracker