Note: This Howto has 3 parts.
[Part 1] Connecting to a Linux Samba Server from Win10
Samba is used to connect Linux to Windows and has traditionally used NetBIOS to discover hosts by name ( netbios name ) but Win10 made some changes that affect how this works. On the client side ( accessing Linux from Win10 ):
SMBv1 and browsing for netbios hosts in Explorer are linked. You can't have one without the other so it will never see your Linux samba server in Explorer.Windows 10 Home and Windows 10 Professional still contain the SMBv1 client by default after a clean installation. If the SMBv1 client is not used for 15 days in total (excluding the computer being turned off), it automatically uninstalls itself.
You can still access the Linux machine by name or ip address but it has to be done explicitly in Explorer:
By name:
\\mint-host-name
By ip address
\\mint-ip-address
Another change Win10 made is that it can now use mDNS which Linux and MacOS use:
[Part 1a] Connecting to a Linux Samba server with an mDNS qualified host name works out of the box in Win10:
Open Run in Windows ( Windows Key + R ) and enter the Linux mDNS qualified host name like this:
Code: Select all
\\mint-host-name.local
[Part 1b] WSD = WS-Discovery
There is another option. Windows replaced NetBIOS years ago with WSD. There is no implementation of WSD in Samba yet but there is a way to implement it in Linux thanks to someone over at github: https://github.com/christgau/wsdd
You can use that to enable WSD on your box so that Win10 can discover it without the use of NetBIOS or SMBv1:
EDIT: If you are using Mint 21 enabling WS-Discovery manually is no longer required. It's now an installable package:
Code: Select all
sudo apt install wsdd
That is pretty much it. Win10 will see your Linux machine automatically using WSD.This is no longer required in Mint21:
Download the folder:UnZip it:Code: Select all
wget https://github.com/christgau/wsdd/archive/master.zip
Rename the python script:Code: Select all
unzip master.zip
Copy it to bin:Code: Select all
sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd
Copy the systemd service file to /etc/systemd/system:Code: Select all
sudo cp wsdd-master/src/wsdd /usr/bin
Create a missing file:Code: Select all
sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system
Reload the service:Code: Select all
sudo touch /etc/default/wsdd
Start the service:Code: Select all
sudo systemctl daemon-reload
Enable the service so it starts at boot:Code: Select all
sudo systemctl start wsdd
Code: Select all
sudo systemctl enable wsdd